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

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Tue Mar 1 21:39:50 UTC 2016


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

sebastic pushed a commit to annotated tag upstream/0.0.svn9329+dfsg1
in repository josm.

commit 1dda79ccf42c7d781ba33c413528904a6831226e
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Fri Feb 12 23:52:26 2016 +0100

    Imported Upstream version 0.0.svn9329+dfsg1
---
 i18n/po/af.po                                      | 1403 +++++---
 i18n/po/am.po                                      | 1403 +++++---
 i18n/po/ar.po                                      | 1403 +++++---
 i18n/po/ast.po                                     | 1635 +++++++---
 i18n/po/az.po                                      | 1403 +++++---
 i18n/po/be.po                                      | 1655 ++++++----
 i18n/po/bg.po                                      | 1518 ++++++---
 i18n/po/bn.po                                      | 1403 +++++---
 i18n/po/br.po                                      | 1403 +++++---
 i18n/po/bs.po                                      | 1403 +++++---
 i18n/po/ca.po                                      | 1699 ++++++----
 i18n/po/ca at valencia.po                             | 1584 ++++++---
 i18n/po/cs.po                                      | 1696 ++++++----
 i18n/po/cy.po                                      | 1403 +++++---
 i18n/po/da.po                                      | 1743 ++++++----
 i18n/po/de.po                                      | 1685 ++++++----
 i18n/po/de_DE.po                                   | 1403 +++++---
 i18n/po/el.po                                      | 1445 ++++++---
 i18n/po/en_AU.po                                   | 1563 ++++++---
 i18n/po/en_CA.po                                   | 1403 +++++---
 i18n/po/en_GB.po                                   | 2797 ++++++++++------
 i18n/po/eo.po                                      | 1399 +++++---
 i18n/po/es.po                                      | 1728 ++++++----
 i18n/po/et.po                                      | 1439 ++++++---
 i18n/po/eu.po                                      | 1415 +++++---
 i18n/po/fa.po                                      | 1403 +++++---
 i18n/po/fi.po                                      | 1559 ++++++---
 i18n/po/fil.po                                     | 1403 +++++---
 i18n/po/fo.po                                      | 1403 +++++---
 i18n/po/fr.po                                      | 1625 +++++++---
 i18n/po/ga.po                                      | 1403 +++++---
 i18n/po/gl.po                                      | 1493 ++++++---
 i18n/po/he.po                                      | 1405 +++++---
 i18n/po/hi.po                                      | 1403 +++++---
 i18n/po/hr.po                                      | 1423 +++++---
 i18n/po/ht.po                                      | 1403 +++++---
 i18n/po/hu.po                                      | 2140 +++++++-----
 i18n/po/hy.po                                      | 1403 +++++---
 i18n/po/ia.po                                      | 1403 +++++---
 i18n/po/id.po                                      | 1573 ++++++---
 i18n/po/is.po                                      | 1433 +++++---
 i18n/po/it.po                                      | 1611 ++++++---
 i18n/po/ja.po                                      | 1699 ++++++----
 i18n/po/ka.po                                      | 1403 +++++---
 i18n/po/km.po                                      | 1574 ++++++---
 i18n/po/ko.po                                      | 1403 +++++---
 i18n/po/ky.po                                      | 1403 +++++---
 i18n/po/lo.po                                      | 1403 +++++---
 i18n/po/lt.po                                      | 1570 ++++++---
 i18n/po/lv.po                                      | 1403 +++++---
 i18n/po/mk.po                                      | 1403 +++++---
 i18n/po/mr.po                                      | 1403 +++++---
 i18n/po/ms.po                                      | 1403 +++++---
 i18n/po/nb.po                                      | 1425 +++++---
 i18n/po/nds.po                                     | 1403 +++++---
 i18n/po/nl.po                                      | 1752 ++++++----
 i18n/po/nn.po                                      | 1403 +++++---
 i18n/po/oc.po                                      | 1403 +++++---
 i18n/po/pa.po                                      | 1403 +++++---
 i18n/po/pl.po                                      | 1798 +++++++----
 i18n/po/pt.po                                      | 1937 +++++++----
 i18n/po/pt_BR.po                                   | 3407 ++++++++++++--------
 i18n/po/rm.po                                      | 1403 +++++---
 i18n/po/ro.po                                      | 1403 +++++---
 i18n/po/ru.po                                      | 1664 +++++++---
 i18n/po/sk.po                                      | 1724 ++++++----
 i18n/po/sl.po                                      | 1405 +++++---
 i18n/po/sq.po                                      | 1403 +++++---
 i18n/po/sr.po                                      | 1403 +++++---
 i18n/po/sv.po                                      | 1691 ++++++----
 i18n/po/ta.po                                      | 1403 +++++---
 i18n/po/te.po                                      | 1403 +++++---
 i18n/po/th.po                                      | 1403 +++++---
 i18n/po/tr.po                                      | 1407 +++++---
 i18n/po/ug.po                                      | 1403 +++++---
 i18n/po/uk.po                                      | 1715 ++++++----
 i18n/po/ur.po                                      | 1403 +++++---
 i18n/po/vi.po                                      | 1605 ++++++---
 i18n/po/zh_CN.po                                   | 1619 +++++++---
 i18n/po/zh_TW.po                                   | 1515 ++++++---
 src/org/apache/commons/jcs/JCS.java                |  212 --
 .../commons/jcs/access/AbstractCacheAccess.java    |  203 --
 src/org/apache/commons/jcs/access/CacheAccess.java |  308 --
 .../commons/jcs/access/GroupCacheAccess.java       |  211 --
 .../commons/jcs/access/PartitionedCacheAccess.java |  846 -----
 .../commons/jcs/access/behavior/ICacheAccess.java  |  167 -
 .../access/behavior/ICacheAccessManagement.java    |  111 -
 .../jcs/access/behavior/IGroupCacheAccess.java     |   89 -
 .../jcs/access/exception/CacheException.java       |   66 -
 .../access/exception/ConfigurationException.java   |   44 -
 .../access/exception/InvalidArgumentException.java |   47 -
 .../access/exception/InvalidGroupException.java    |   47 -
 .../access/exception/InvalidHandleException.java   |   48 -
 .../access/exception/ObjectExistsException.java    |   53 -
 .../access/exception/ObjectNotFoundException.java  |   51 -
 src/org/apache/commons/jcs/access/package.html     |   27 -
 .../apache/commons/jcs/admin/CacheElementInfo.java |  124 -
 .../apache/commons/jcs/admin/CacheRegionInfo.java  |  180 --
 .../jcs/admin/CountingOnlyOutputStream.java        |   84 -
 src/org/apache/commons/jcs/admin/JCSAdmin.jsp      |  310 --
 src/org/apache/commons/jcs/admin/JCSAdminBean.java |  436 ---
 src/org/apache/commons/jcs/admin/JCSJMXBean.java   |   90 -
 .../commons/jcs/admin/servlet/JCSAdminServlet.java |  181 --
 .../jcs/admin/servlet/JCSAdminServletDefault.vm    |   64 -
 .../admin/servlet/JCSAdminServletRegionDetail.vm   |   50 -
 .../jcs/auxiliary/AbstractAuxiliaryCache.java      |  210 --
 .../AbstractAuxiliaryCacheAttributes.java          |  146 -
 .../AbstractAuxiliaryCacheEventLogging.java        |  353 --
 .../auxiliary/AbstractAuxiliaryCacheFactory.java   |   72 -
 .../auxiliary/AbstractAuxiliaryCacheMonitor.java   |  206 --
 .../commons/jcs/auxiliary/AuxiliaryCache.java      |   77 -
 .../jcs/auxiliary/AuxiliaryCacheAttributes.java    |   93 -
 .../jcs/auxiliary/AuxiliaryCacheConfigurator.java  |  128 -
 .../jcs/auxiliary/AuxiliaryCacheFactory.java       |   71 -
 .../jcs/auxiliary/disk/AbstractDiskCache.java      |  883 -----
 .../disk/AbstractDiskCacheAttributes.java          |  221 --
 .../commons/jcs/auxiliary/disk/LRUMapJCS.java      |   75 -
 .../jcs/auxiliary/disk/PurgatoryElement.java       |  156 -
 .../disk/behavior/IDiskCacheAttributes.java        |  131 -
 .../jcs/auxiliary/disk/block/BlockDisk.java        |  524 ---
 .../jcs/auxiliary/disk/block/BlockDiskCache.java   |  738 -----
 .../disk/block/BlockDiskCacheAttributes.java       |  118 -
 .../disk/block/BlockDiskCacheFactory.java          |   65 -
 .../disk/block/BlockDiskElementDescriptor.java     |  132 -
 .../auxiliary/disk/block/BlockDiskKeyStore.java    |  518 ---
 .../jcs/auxiliary/disk/indexed/IndexedDisk.java    |  282 --
 .../auxiliary/disk/indexed/IndexedDiskCache.java   | 1837 -----------
 .../disk/indexed/IndexedDiskCacheAttributes.java   |  187 --
 .../disk/indexed/IndexedDiskCacheFactory.java      |   65 -
 .../auxiliary/disk/indexed/IndexedDiskDumper.java  |   57 -
 .../disk/indexed/IndexedDiskElementDescriptor.java |  118 -
 .../jcs/auxiliary/disk/jdbc/JDBCDiskCache.java     | 1130 -------
 .../disk/jdbc/JDBCDiskCacheAttributes.java         |  331 --
 .../auxiliary/disk/jdbc/JDBCDiskCacheFactory.java  |  294 --
 .../jcs/auxiliary/disk/jdbc/ShrinkerThread.java    |  169 -
 .../jcs/auxiliary/disk/jdbc/TableState.java        |  114 -
 .../disk/jdbc/dsfactory/DataSourceFactory.java     |   85 -
 .../disk/jdbc/dsfactory/JndiDataSourceFactory.java |  185 --
 .../dsfactory/SharedPoolDataSourceFactory.java     |  150 -
 .../disk/jdbc/hsql/HSQLDiskCacheFactory.java       |  216 --
 .../auxiliary/disk/jdbc/mysql/MySQLDiskCache.java  |  171 -
 .../disk/jdbc/mysql/MySQLDiskCacheAttributes.java  |  107 -
 .../disk/jdbc/mysql/MySQLDiskCacheFactory.java     |  196 --
 .../disk/jdbc/mysql/MySQLTableOptimizer.java       |  324 --
 .../disk/jdbc/mysql/util/ScheduleParser.java       |   96 -
 .../apache/commons/jcs/auxiliary/disk/package.html |   27 -
 .../jcs/auxiliary/lateral/LateralCache.java        |  454 ---
 .../auxiliary/lateral/LateralCacheAttributes.java  |  292 --
 .../jcs/auxiliary/lateral/LateralCacheMonitor.java |  136 -
 .../jcs/auxiliary/lateral/LateralCacheNoWait.java  |  436 ---
 .../lateral/LateralCacheNoWaitFacade.java          |  533 ---
 .../jcs/auxiliary/lateral/LateralCommand.java      |   47 -
 .../lateral/LateralElementDescriptor.java          |   83 -
 .../lateral/behavior/ILateralCacheAttributes.java  |  200 --
 .../lateral/behavior/ILateralCacheListener.java    |   51 -
 .../commons/jcs/auxiliary/lateral/package.html     |   26 -
 .../lateral/socket/tcp/LateralTCPCacheFactory.java |  452 ---
 .../socket/tcp/LateralTCPDiscoveryListener.java    |  343 --
 .../lateral/socket/tcp/LateralTCPListener.java     |  770 -----
 .../lateral/socket/tcp/LateralTCPSender.java       |  272 --
 .../lateral/socket/tcp/LateralTCPService.java      |  456 ---
 .../socket/tcp/TCPLateralCacheAttributes.java      |  381 ---
 .../tcp/behavior/ITCPLateralCacheAttributes.java   |  218 --
 src/org/apache/commons/jcs/auxiliary/package.html  |   25 -
 .../remote/AbstractRemoteAuxiliaryCache.java       |  719 -----
 .../remote/AbstractRemoteCacheListener.java        |  349 --
 .../remote/AbstractRemoteCacheNoWaitFacade.java    |  472 ---
 .../remote/CommonRemoteCacheAttributes.java        |  295 --
 .../commons/jcs/auxiliary/remote/RemoteCache.java  |  195 --
 .../auxiliary/remote/RemoteCacheAttributes.java    |  261 --
 .../jcs/auxiliary/remote/RemoteCacheFactory.java   |  276 --
 .../remote/RemoteCacheFailoverRunner.java          |  433 ---
 .../jcs/auxiliary/remote/RemoteCacheListener.java  |  119 -
 .../jcs/auxiliary/remote/RemoteCacheManager.java   |  474 ---
 .../jcs/auxiliary/remote/RemoteCacheMonitor.java   |  113 -
 .../jcs/auxiliary/remote/RemoteCacheNoWait.java    |  532 ---
 .../auxiliary/remote/RemoteCacheNoWaitFacade.java  |  102 -
 .../jcs/auxiliary/remote/RemoteCacheRestore.java   |  129 -
 .../jcs/auxiliary/remote/RemoteLocation.java       |  144 -
 .../commons/jcs/auxiliary/remote/RemoteUtils.java  |  236 --
 .../behavior/ICommonRemoteCacheAttributes.java     |  172 -
 .../remote/behavior/IRemoteCacheAttributes.java    |  180 --
 .../remote/behavior/IRemoteCacheClient.java        |   61 -
 .../remote/behavior/IRemoteCacheConstants.java     |   70 -
 .../remote/behavior/IRemoteCacheDispatcher.java    |   46 -
 .../remote/behavior/IRemoteCacheListener.java      |   81 -
 .../http/behavior/IRemoteHttpCacheConstants.java   |   31 -
 .../remote/http/client/AbstractHttpClient.java     |  193 --
 .../remote/http/client/RemoteHttpCache.java        |  116 -
 .../http/client/RemoteHttpCacheAttributes.java     |  228 --
 .../remote/http/client/RemoteHttpCacheClient.java  |  496 ---
 .../http/client/RemoteHttpCacheDispatcher.java     |  227 --
 .../remote/http/client/RemoteHttpCacheFactory.java |   94 -
 .../remote/http/client/RemoteHttpCacheManager.java |  266 --
 .../remote/http/client/RemoteHttpCacheMonitor.java |  143 -
 .../http/client/RemoteHttpClientListener.java      |   53 -
 .../client/behavior/IRemoteHttpCacheClient.java    |   51 -
 .../http/server/AbstractRemoteCacheService.java    |  603 ----
 .../http/server/RemoteCacheServiceAdaptor.java     |  172 -
 .../server/RemoteHttpCacheServerAttributes.java    |   95 -
 .../remote/http/server/RemoteHttpCacheService.java |  270 --
 .../remote/http/server/RemoteHttpCacheServlet.java |  264 --
 .../http/server/RemoteHttpCacheSeviceFactory.java  |   91 -
 .../commons/jcs/auxiliary/remote/package.html      |   25 -
 .../remote/server/RegistryKeepAliveRunner.java     |  188 --
 .../auxiliary/remote/server/RemoteCacheServer.java | 1730 ----------
 .../remote/server/RemoteCacheServerAttributes.java |  211 --
 .../remote/server/RemoteCacheServerFactory.java    |  538 ----
 .../remote/server/RemoteCacheStartupServlet.java   |  216 --
 .../TimeoutConfigurableRMISocketFactory.java       |  111 -
 .../remote/server/behavior/IRemoteCacheServer.java |   37 -
 .../behavior/IRemoteCacheServerAttributes.java     |  118 -
 .../remote/server/behavior/RemoteType.java         |   32 -
 .../remote/util/RemoteCacheRequestFactory.java     |  254 --
 .../auxiliary/remote/value/RemoteCacheRequest.java |  187 --
 .../remote/value/RemoteCacheResponse.java          |  105 -
 .../auxiliary/remote/value/RemoteRequestType.java  |   53 -
 .../jcs/engine/AbstractCacheEventQueue.java        |  499 ---
 .../apache/commons/jcs/engine/CacheAdaptor.java    |  143 -
 .../apache/commons/jcs/engine/CacheConstants.java  |   34 -
 .../apache/commons/jcs/engine/CacheElement.java    |  160 -
 .../commons/jcs/engine/CacheElementSerialized.java |   77 -
 .../apache/commons/jcs/engine/CacheEventQueue.java |  418 ---
 .../commons/jcs/engine/CacheEventQueueFactory.java |   88 -
 src/org/apache/commons/jcs/engine/CacheGroup.java  |   59 -
 src/org/apache/commons/jcs/engine/CacheInfo.java   |   47 -
 .../apache/commons/jcs/engine/CacheListeners.java  |   83 -
 src/org/apache/commons/jcs/engine/CacheStatus.java |   37 -
 .../commons/jcs/engine/CacheWatchRepairable.java   |  200 --
 .../jcs/engine/CompositeCacheAttributes.java       |  443 ---
 .../commons/jcs/engine/ElementAttributes.java      |  456 ---
 .../commons/jcs/engine/PooledCacheEventQueue.java  |  228 --
 .../commons/jcs/engine/ZombieCacheService.java     |  156 -
 .../jcs/engine/ZombieCacheServiceNonLocal.java     |  313 --
 .../commons/jcs/engine/ZombieCacheWatch.java       |   73 -
 .../apache/commons/jcs/engine/behavior/ICache.java |  141 -
 .../commons/jcs/engine/behavior/ICacheElement.java |   74 -
 .../engine/behavior/ICacheElementSerialized.java   |   41 -
 .../jcs/engine/behavior/ICacheEventQueue.java      |  147 -
 .../jcs/engine/behavior/ICacheListener.java        |   86 -
 .../commons/jcs/engine/behavior/ICacheManager.java |   42 -
 .../jcs/engine/behavior/ICacheObserver.java        |   78 -
 .../commons/jcs/engine/behavior/ICacheRestore.java |   37 -
 .../commons/jcs/engine/behavior/ICacheService.java |  117 -
 .../jcs/engine/behavior/ICacheServiceAdmin.java    |   51 -
 .../jcs/engine/behavior/ICacheServiceNonLocal.java |  118 -
 .../commons/jcs/engine/behavior/ICacheType.java    |   49 -
 .../engine/behavior/ICompositeCacheAttributes.java |  244 --
 .../engine/behavior/ICompositeCacheManager.java    |   64 -
 .../jcs/engine/behavior/IElementAttributes.java    |  203 --
 .../jcs/engine/behavior/IElementSerializer.java    |   50 -
 .../jcs/engine/behavior/IProvideScheduler.java     |   38 -
 .../jcs/engine/behavior/IRequireScheduler.java     |   39 -
 .../jcs/engine/behavior/IShutdownObservable.java   |   55 -
 .../jcs/engine/behavior/IShutdownObserver.java     |   41 -
 .../commons/jcs/engine/behavior/IZombie.java       |   30 -
 .../commons/jcs/engine/behavior/package.html       |   25 -
 .../commons/jcs/engine/control/CompositeCache.java | 1815 -----------
 .../engine/control/CompositeCacheConfigurator.java |  670 ----
 .../jcs/engine/control/CompositeCacheManager.java  | 1042 ------
 .../jcs/engine/control/event/ElementEvent.java     |   74 -
 .../engine/control/event/ElementEventQueue.java    |  203 --
 .../control/event/behavior/ElementEventType.java   |   54 -
 .../control/event/behavior/IElementEvent.java      |   42 -
 .../event/behavior/IElementEventHandler.java       |   40 -
 .../control/event/behavior/IElementEventQueue.java |   48 -
 .../jcs/engine/control/group/GroupAttrName.java    |  117 -
 .../commons/jcs/engine/control/group/GroupId.java  |  103 -
 .../apache/commons/jcs/engine/control/package.html |   25 -
 .../commons/jcs/engine/logging/CacheEvent.java     |  177 -
 .../logging/CacheEventLoggerDebugLogger.java       |  113 -
 .../jcs/engine/logging/behavior/ICacheEvent.java   |   77 -
 .../engine/logging/behavior/ICacheEventLogger.java |   92 -
 .../jcs/engine/match/KeyMatcherPatternImpl.java    |   66 -
 .../jcs/engine/match/behavior/IKeyMatcher.java     |   36 -
 .../AbstractDoubleLinkedListMemoryCache.java       |  698 ----
 .../jcs/engine/memory/AbstractMemoryCache.java     |  335 --
 .../jcs/engine/memory/behavior/IMemoryCache.java   |  187 --
 .../jcs/engine/memory/fifo/FIFOMemoryCache.java    |   60 -
 .../jcs/engine/memory/lru/LHMLRUMemoryCache.java   |  368 ---
 .../jcs/engine/memory/lru/LRUMemoryCache.java      |   67 -
 .../commons/jcs/engine/memory/lru/package.html     |   25 -
 .../jcs/engine/memory/mru/MRUMemoryCache.java      |   62 -
 .../commons/jcs/engine/memory/mru/package.html     |   26 -
 .../apache/commons/jcs/engine/memory/package.html  |   25 -
 .../engine/memory/shrinking/ShrinkerThread.java    |  221 --
 .../memory/util/MemoryElementDescriptor.java       |   47 -
 src/org/apache/commons/jcs/engine/package.html     |   25 -
 .../commons/jcs/engine/stats/CacheStats.java       |  116 -
 .../commons/jcs/engine/stats/StatElement.java      |  104 -
 src/org/apache/commons/jcs/engine/stats/Stats.java |   99 -
 .../jcs/engine/stats/behavior/ICacheStats.java     |   51 -
 .../jcs/engine/stats/behavior/IStatElement.java    |   54 -
 .../commons/jcs/engine/stats/behavior/IStats.java  |   63 -
 .../jcs/io/ObjectInputStreamClassLoaderAware.java  |   95 -
 src/org/apache/commons/jcs/package.html            |   26 -
 .../jcs/utils/access/AbstractJCSWorkerHelper.java  |   58 -
 .../apache/commons/jcs/utils/access/JCSWorker.java |  298 --
 .../commons/jcs/utils/access/JCSWorkerHelper.java  |   60 -
 .../commons/jcs/utils/config/OptionConverter.java  |  426 ---
 .../commons/jcs/utils/config/PropertySetter.java   |  300 --
 .../jcs/utils/config/PropertySetterException.java  |   75 -
 .../apache/commons/jcs/utils/config/package.html   |   28 -
 .../jcs/utils/discovery/DiscoveredService.java     |  183 --
 .../jcs/utils/discovery/UDPCleanupRunner.java      |   97 -
 .../utils/discovery/UDPDiscoveryAttributes.java    |  231 --
 .../jcs/utils/discovery/UDPDiscoveryManager.java   |  115 -
 .../jcs/utils/discovery/UDPDiscoveryMessage.java   |  166 -
 .../jcs/utils/discovery/UDPDiscoveryReceiver.java  |  394 ---
 .../jcs/utils/discovery/UDPDiscoverySender.java    |  292 --
 .../utils/discovery/UDPDiscoverySenderThread.java  |  199 --
 .../jcs/utils/discovery/UDPDiscoveryService.java   |  423 ---
 .../discovery/behavior/IDiscoveryListener.java     |   44 -
 .../apache/commons/jcs/utils/net/HostNameUtil.java |  147 -
 .../jcs/utils/props/AbstractPropertyContainer.java |  190 --
 .../commons/jcs/utils/props/PropertiesFactory.java |   36 -
 .../jcs/utils/props/PropertiesFactoryFileImpl.java |   40 -
 .../commons/jcs/utils/props/PropertyLoader.java    |  174 -
 .../utils/serialization/CompressingSerializer.java |  126 -
 .../serialization/SerializationConversionUtil.java |  147 -
 .../utils/serialization/StandardSerializer.java    |   91 -
 .../utils/servlet/JCSServletContextListener.java   |   87 -
 .../commons/jcs/utils/struct/AbstractLRUMap.java   |  668 ----
 .../commons/jcs/utils/struct/BoundedQueue.java     |   94 -
 .../commons/jcs/utils/struct/DoubleLinkedList.java |  303 --
 .../jcs/utils/struct/DoubleLinkedListNode.java     |   62 -
 .../jcs/utils/struct/LRUElementDescriptor.java     |   60 -
 .../apache/commons/jcs/utils/struct/LRUMap.java    |   66 -
 .../commons/jcs/utils/struct/LRUMapEntry.java      |   82 -
 .../commons/jcs/utils/struct/SingleLinkedList.java |  137 -
 .../jcs/utils/struct/SortedPreferentialArray.java  |  612 ----
 .../jcs/utils/threadpool/DaemonThreadFactory.java  |   74 -
 .../jcs/utils/threadpool/PoolConfiguration.java    |  268 --
 .../jcs/utils/threadpool/ThreadPoolManager.java    |  405 ---
 .../commons/jcs/utils/timing/ElapsedTimer.java     |   58 -
 .../apache/commons/jcs/utils/timing/SleepUtil.java |   50 -
 .../commons/jcs/utils/zip/CompressionUtil.java     |  203 --
 337 files changed, 85271 insertions(+), 91556 deletions(-)

diff --git a/i18n/po/af.po b/i18n/po/af.po
index 96dbe5e..1c7c08f 100644
--- a/i18n/po/af.po
+++ b/i18n/po/af.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:31+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:31+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: af\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr "Verwyder"
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/am.po b/i18n/po/am.po
index e52b2f8..4f64053 100644
--- a/i18n/po/am.po
+++ b/i18n/po/am.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:31+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:32+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: am\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/ar.po b/i18n/po/ar.po
index a0a5296..545df79 100644
--- a/i18n/po/ar.po
+++ b/i18n/po/ar.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-10-08 23:09+0000\n"
 "Last-Translator: mourad101ee <mourad101ee at gmail.com>\n"
 "Language-Team: Arabic <ar at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
 "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:32+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:32+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: ar\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -391,6 +391,9 @@ msgid ""
 "nodes)"
 msgstr "لا يمكن ضم الخطوط <br> (لا يمكن دمجها في سلسلة واحدة من العقد)"
 
+msgid "Reverse Ways"
+msgstr "أعكس إتجاه الطرقات"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "ضم {0} خط"
@@ -446,6 +449,12 @@ msgstr "أحذف"
 msgid "Delete selected objects."
 msgstr "امحي الأغراض المختارة."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "تبديل لوحة الحوارات"
 
@@ -1186,9 +1195,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr "أعكس إتجاه الطرقات"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "أعكس إتجاه كل الطرقات المختارة."
 
@@ -1525,6 +1531,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2243,6 +2259,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2284,6 +2305,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2638,7 +2668,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3202,9 +3235,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3263,6 +3293,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "ش."
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3502,6 +3535,9 @@ msgstr "النص"
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3579,12 +3615,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3594,6 +3642,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "مركاتوري"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4160,6 +4226,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4858,9 +4927,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4919,12 +4985,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "خطّ العرض عند مؤشر الفأرة."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "خطّ الطول عند مؤشر الفأرة."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4951,6 +5011,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "خطّ العرض عند مؤشر الفأرة."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "خطّ الطول عند مؤشر الفأرة."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5774,6 +5846,18 @@ msgstr "حلّ"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5890,6 +5974,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6315,6 +6402,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6662,19 +6752,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6776,6 +6860,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7103,7 +7199,7 @@ msgstr "حرّر المحتاح المنقى لكلّ الأغراض"
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7139,6 +7235,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7206,6 +7305,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr "مخبئ"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7318,9 +7438,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7351,108 +7468,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-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"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Select next Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort below"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "حصل {0} تضارب خلال الإسيراد"
 
-msgid "Reverse"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "حرّك الأعضاء المختارة حالياً إلى الأعلى"
-
-msgid "Relation Editor: Move Up"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr "حرّك الأعضاء المختارة حالياً إلى الأسفل"
-
-msgid "Relation Editor: Move Down"
-msgstr ""
+msgid "Reload"
+msgstr "أعد التحميل"
 
-msgid "Remove the currently selected members from this relation"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Delete the currently edited relation"
-msgstr ""
+msgid "Apply Changes"
+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."
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Yes, create a conflict and close"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Click to create a conflict and close this relation editor"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "No, continue editing"
+msgid "Load relation"
 msgstr ""
 
-msgid "Click to return to the relation editor and to resume relation editing"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7471,6 +7563,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7479,7 +7574,10 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
+msgid "Delete the currently edited relation"
+msgstr ""
+
+msgid "Relation Editor: Download Members"
 msgstr ""
 
 msgid "Download all incomplete members"
@@ -7488,101 +7586,151 @@ msgstr ""
 msgid "Download Members"
 msgstr "نزّل الأعضاء"
 
-msgid "Relation Editor: Download Members"
+msgid "Download selected incomplete members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Move the currently selected members down"
+msgstr "حرّك الأعضاء المختارة حالياً إلى الأسفل"
+
+msgid "Relation Editor: Move Up"
 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] ""
+msgid "Move the currently selected members up"
+msgstr "حرّك الأعضاء المختارة حالياً إلى الأعلى"
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Refresh"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Refers to"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "حصل {0} تضارب خلال الإسيراد"
+msgid "Reverse the order of the relation members"
+msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Reverse"
 msgstr ""
 
-msgid "Load parent relations"
+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 ""
 
-msgid "Reload"
-msgstr "أعد التحميل"
+msgid "Yes, create a conflict and close"
+msgstr ""
 
-msgid "Loading parent relations"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+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 ""
 
-msgid "Apply Changes"
-msgstr "طبّق التغيرات"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+msgid "Select objects for selected relation members"
 msgstr ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
 
-msgid "Load relation"
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7970,6 +8118,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8073,10 +8226,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8257,9 +8414,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8772,7 +8926,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8781,31 +8935,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8814,10 +8965,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9237,6 +9388,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9261,9 +9415,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9618,9 +9769,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9665,6 +9814,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9721,11 +9876,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9841,6 +9991,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10202,6 +10358,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "التفضيلات المتقدمة"
 
@@ -10283,18 +10448,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10947,9 +11103,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11221,6 +11374,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11850,12 +12006,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "الديانة"
 
@@ -11945,6 +12095,9 @@ msgstr "إستعمل التعيينات المسبقة التعريف ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "العناصر من الفصيلة {0} هي مدعومة"
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12019,6 +12172,9 @@ msgstr ""
 msgid "Presets"
 msgstr "التعيينات المسبقة"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12062,6 +12218,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "مزيد من المعلومات عن هذه الميزة"
 
@@ -12150,16 +12309,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "غير مفعّل : لا تطبق هذه المواصفة على الأغراض المختارة"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12641,6 +12814,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "ملفات الخادم أو.أس.أم"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12655,9 +12831,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr "ملفات الخادم أو.أس.أم"
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12850,9 +13023,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13021,21 +13191,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13047,6 +13224,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13064,19 +13249,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13759,9 +13933,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13793,6 +13964,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13801,9 +13975,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13937,6 +14108,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14245,9 +14419,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14341,6 +14512,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14407,6 +14581,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14503,13 +14680,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14632,6 +14812,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14652,9 +14835,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14725,6 +14905,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14758,10 +14947,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15457,6 +15649,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16112,10 +16307,109 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
-msgstr ""
+msgid "Cuisine"
+msgstr "الطبخ"
 
-msgid "wlan"
+msgid "italian"
+msgstr "إيطالي"
+
+msgid "chinese"
+msgstr "صيني"
+
+msgid "pizza"
+msgstr "معجنات إيطالية (بيزا)"
+
+msgid "burger"
+msgstr "هامبرغر"
+
+msgid "greek"
+msgstr "يوناني"
+
+msgid "german"
+msgstr "ألماني"
+
+msgid "indian"
+msgstr "هندي"
+
+msgid "regional"
+msgstr "محلي/إقليمي"
+
+msgid "kebab"
+msgstr "كباب / شورما"
+
+msgid "turkish"
+msgstr "تركي"
+
+msgid "asian"
+msgstr "آسيوي"
+
+msgid "thai"
+msgstr "تايلاندي"
+
+msgid "mexican"
+msgstr "مكسيكي"
+
+msgid "japanese"
+msgstr "ياباني"
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
 msgstr ""
 
 msgid "wired"
@@ -16679,7 +16973,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17433,25 +17730,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17601,6 +17902,9 @@ msgstr "حائط/جدار مدينة"
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17771,6 +18075,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "شاطئ"
 
@@ -17833,14 +18140,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "منحدر صخري"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18769,66 +19068,6 @@ msgstr "طعام و شراب"
 msgid "Restaurant"
 msgstr "مطعم"
 
-msgid "Cuisine"
-msgstr "الطبخ"
-
-msgid "italian"
-msgstr "إيطالي"
-
-msgid "chinese"
-msgstr "صيني"
-
-msgid "pizza"
-msgstr "معجنات إيطالية (بيزا)"
-
-msgid "burger"
-msgstr "هامبرغر"
-
-msgid "greek"
-msgstr "يوناني"
-
-msgid "german"
-msgstr "ألماني"
-
-msgid "indian"
-msgstr "هندي"
-
-msgid "regional"
-msgstr "محلي/إقليمي"
-
-msgid "kebab"
-msgstr "كباب / شورما"
-
-msgid "turkish"
-msgstr "تركي"
-
-msgid "asian"
-msgstr "آسيوي"
-
-msgid "thai"
-msgstr "تايلاندي"
-
-msgid "mexican"
-msgstr "مكسيكي"
-
-msgid "japanese"
-msgstr "ياباني"
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18841,19 +19080,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr "وجبات سريعة"
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "مقهى إستراحة"
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19031,6 +19264,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "حديقة ألعاب مائية"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19065,9 +19304,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "صيد السمك"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19110,12 +19346,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19219,6 +19461,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19378,6 +19624,125 @@ msgstr "إستعمل رمز دولي مثل 12-345-67890"
 msgid "Veterinary"
 msgstr "بيطري"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "هاتف طوارئ"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19490,24 +19855,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "بطاقات هاتفية"
 
-msgid "Emergency Phone"
-msgstr "هاتف طوارئ"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19670,63 +20020,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "مخبئ"
-
-msgid "Lock"
 msgstr ""
 
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19780,9 +20081,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -20007,9 +20361,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20174,6 +20525,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20182,6 +20537,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20294,6 +20681,9 @@ msgstr "طاحونة هوائية"
 msgid "Gasometer"
 msgstr "خزان محروقات"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20695,6 +21085,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20704,6 +21102,9 @@ msgstr "أطلال"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21135,11 +21536,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
-msgstr "عمود كهربائي"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21160,6 +21564,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "عمود كهربائي"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21283,18 +21705,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21327,6 +21737,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "سلك/خط كهربائي"
 
@@ -21584,6 +21997,9 @@ msgstr "أثاث/فرش"
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21626,12 +22042,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21957,6 +22382,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22125,6 +22625,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "منحدر صخري"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "مدخل كهف"
 
@@ -22325,6 +22833,51 @@ msgstr "مرج"
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "كرم عنب"
 
@@ -23119,9 +23672,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23143,7 +23693,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23187,6 +23737,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23202,6 +23761,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23229,6 +23791,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23270,7 +23835,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26694,7 +27259,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27007,6 +27572,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27022,6 +27590,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28363,6 +28943,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28449,15 +29035,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30444,6 +31021,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31032,6 +31612,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/ast.po b/i18n/po/ast.po
index 5e3fad3..96f720b 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: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2015-08-19 16:42+0000\n"
-"Last-Translator: Simon Legner <Unknown>\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-01-23 20:31+0000\n"
+"Last-Translator: Xuacu Saturio <xuacusk8 at gmail.com>\n"
 "Language-Team: Asturian <ast at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:33+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:33+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: ast\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -173,7 +173,7 @@ msgid "About JOSM..."
 msgstr "Tocante a JOSM..."
 
 msgid "Failed to locate resource ''{0}''."
-msgstr ""
+msgstr "Nun pudo llocalizase''l recursu ''{0}''."
 
 msgid "Failed to load resource ''{0}'', error is {1}."
 msgstr "Fallu al cargar el recursu \"{0}\", l`erru ye: {1}."
@@ -400,6 +400,9 @@ msgstr ""
 "Nun pudieron combinase les víes<br>(Nun pudieron combinase n''una cadena "
 "única de nudos)"
 
+msgid "Reverse Ways"
+msgstr "Invertir víes"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Axuntar {0} vía"
@@ -457,6 +460,12 @@ msgstr "Desaniciar"
 msgid "Delete selected objects."
 msgstr "Desaniciar los oxetos seleicionaos."
 
+msgid "Delete Layer"
+msgstr "Desaniciar capa"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Desanicia la capa activa. Nun desanicia''l ficheru asociáu."
+
 msgid "Toggle dialogs panel"
 msgstr "Activar panel de diálogos"
 
@@ -1132,15 +1141,18 @@ msgstr "Descargar datos del mapa dende''l servidor API Overpass."
 
 msgid "Builds an Overpass query using the Overpass Turbo query wizard"
 msgstr ""
+"Construye una consulta d''Overpass utilizando l''asistente de consultes "
+"Overpass Turbo"
 
 msgid "Build query"
-msgstr ""
+msgstr "Construir la consulta"
 
 msgid "<html>The Overpass wizard could not parse the following query:"
 msgstr ""
+"<html>L''asistente d''Overpass nun pudo analizar la consulta siguiente:"
 
 msgid "Parse error"
-msgstr ""
+msgstr "Fallu d''análisis"
 
 msgid "Overpass query: "
 msgstr "Consulta de nivel superior: "
@@ -1272,9 +1284,6 @@ msgstr "Faiga clic pa reaniciar más tarde."
 msgid "Reverse way"
 msgstr "Invertir vía"
 
-msgid "Reverse Ways"
-msgstr "Invertir víes"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Invertir la direición de toles vies seleicionaes."
 
@@ -1454,6 +1463,7 @@ msgstr "Partir una vía nel nudu seleicionáu"
 
 msgid "Cannot split since another split operation is already in progress"
 msgstr ""
+"Nun ye posible la división porque hai otru procesu de división en cursu"
 
 msgid ""
 "The current selection cannot be used for splitting - no node is selected."
@@ -1483,13 +1493,13 @@ msgstr[1] ""
 "tamién la vía."
 
 msgid "Which way segment should reuse the history of {0}?"
-msgstr ""
+msgstr "¿Qué segmentu de la vía tien de reutilizar l''historial de {0}?"
 
 msgid " [id: {0}]"
 msgstr " [ID: {0}]"
 
 msgid "Segment {0}: {1}"
-msgstr ""
+msgstr "Segmentu {0}: {1}"
 
 msgid "You must select two or more nodes to split a circular way."
 msgstr "Tienes de seleicionar dos o más nudos pa partir una vía circular."
@@ -1582,22 +1592,22 @@ msgstr ""
 "víes recibirán la so propia copia y seleicionaránse tolos nudos."
 
 msgid "Existing node"
-msgstr ""
+msgstr "Nuedu esistiente"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Dambos nuedos"
 
 msgid "New node"
-msgstr ""
+msgstr "Nuevu nuedu"
 
 msgid "Tags / Memberships"
 msgstr "Etiquetes / Miembros"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Despegar"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "¿Ónde tienen de ponese les etiquetes del nuedu?"
 
 msgid "Where should the memberships of this node be put?"
 msgstr ""
@@ -1634,6 +1644,16 @@ 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?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Despegando {0} rellación afeutada: {1}"
+msgstr[1] "Despegando {0} rellaciones afeutaes: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "¡Comprueba que nun se frañó la rellación!"
+msgstr[1] "¡Comprueba que nun se frañeron les rellaciones!"
+
 msgid "Disconnect Node from Way"
 msgstr "Desconectar nudu de la vía"
 
@@ -2417,6 +2437,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Añedir la selección a la relación"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Añedir selección a {0} relación"
@@ -2462,6 +2487,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Confirmación"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Editor de rellaciones: {0}"
+
 msgid "Select in relation list"
 msgstr "Escoyer na llista de relaciones"
 
@@ -2841,8 +2875,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Esperando <i>min</i>/<i>max</i> dempués de ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr "Rangu de ids primitivos esperáu"
@@ -3474,9 +3511,6 @@ msgstr ""
 "Intenta activar la rede IPv6, prefiriendo IPv6 antes que IPv4 (solo funciona "
 "al principiu del aniciu)"
 
-msgid " (at line {0}, column {1})"
-msgstr " (a la llínea {0}, columna {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "La opción de configuración {0} foi desaniciada porque yá nun s`usa."
 
@@ -3537,6 +3571,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "Nun s`atopa la proyección ''{0}'', el marcador ''{1}'' yá nun puede ser "
@@ -3795,6 +3832,9 @@ msgstr "testu"
 msgid "areatext"
 msgstr "área de testu"
 
+msgid " (at line {0}, column {1})"
+msgstr " (a la llínea {0}, columna {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "La proyeición UTM (''+proj=utm'') rique’l parámetru ''+zone=...''."
 
@@ -3879,12 +3919,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parámetru ''{0}'' riquíu."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Cónica Conforme de Lambert"
 
@@ -3894,6 +3946,24 @@ msgstr "Lat/lon (Xeodésicu)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Mercator Oblicua Suiza"
 
@@ -4502,6 +4572,9 @@ 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"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Los valores de propiedá contienen entidá de HTML"
 
@@ -5245,9 +5318,6 @@ msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 "Faiga clic p''abrir la pestaña d''imaxes satelitales nes preferencies"
 
-msgid "Search menu items"
-msgstr "Elementos del menú de gueta"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -5306,12 +5376,6 @@ msgstr "Frente de la barra d''estáu: activu"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "La llatitú xeográfica nel punteru del mure."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "La llonxitú xeográfica nel punteru del mure."
-
 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."
 
@@ -5340,6 +5404,18 @@ msgstr "Usuariu:"
 msgid "Do not hide status bar"
 msgstr "Non despintar la barra d''estáu"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "La llatitú xeográfica nel punteru del mure."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "La llonxitú xeográfica nel punteru del mure."
+
 msgid "System of measurement changed to {0}"
 msgstr "El sistema de midida camudó a {0}"
 
@@ -6251,6 +6327,18 @@ 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"
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Detectóse {0} conflictu."
@@ -6378,6 +6466,9 @@ msgstr "Baxar filtru."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filtrar Despintaos:{0} Desactivaos:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Erru al filtrar"
 
@@ -6818,6 +6909,9 @@ msgstr "Estilu de axustes"
 msgid "Customize the style"
 msgstr "Personaliza l''estilu"
 
+msgid "Search menu items"
+msgstr "Elementos del menú de gueta"
+
 msgid "Mini map"
 msgstr ""
 
@@ -7185,21 +7279,15 @@ msgstr[1] ""
 "<html>Nengunu de los oxetos escoyíos ta disponible na <br>capa d´edición "
 "''{0}'' actual.</html>"
 
-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"
-
-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"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Descarga y amuesa l''historial de los oxetos escoyíos"
 
+msgid "Download objects"
+msgstr "Descargar oxetos"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "Escoyer en capa"
 
@@ -7306,6 +7394,18 @@ msgstr "abrir"
 msgid "closed"
 msgstr "zarráu"
 
+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"
+
+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"
+
 msgid "Changeset ID: "
 msgstr "ID de la modificación: "
 
@@ -7679,8 +7779,8 @@ msgstr "Editar el valor de la clave seleicionada pa tolos oxetos"
 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)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Empecipia''l navegador con ayuda de la wiki pal oxetu escoyíu"
@@ -7716,6 +7816,9 @@ msgstr "Copiar toles Claves/Valores"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Copiar la clave y el valor de toles etiquetes nel portapapeles"
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Buscar Clave/Valor/Tipu"
 
@@ -7786,6 +7889,27 @@ msgstr "Establecer el númberu d''etiquetes añedíes pocayá"
 msgid "Remember last used tags after a restart"
 msgstr "Alcordase de les últimes etiquetes usaes tres reaniciar"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Dexar"
+
+msgid "Hide"
+msgstr "Ocultu"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "p’aplicar la primera suxerencia"
 
@@ -7904,9 +8028,6 @@ msgstr "Nueva rellación"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Enfocar Editor de Relación cola relación ''{0}'' na capa ''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Editor de rellaciones: {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 "
@@ -7948,6 +8069,75 @@ msgstr ""
 "una referencia circular y polo tanto desaconséyase.<br>Ignorando relación "
 "''{0}''.</html>"
 
+msgid "Select previous Gap"
+msgstr "Escoyer la interrupción anterior"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr ""
+"Escueye al miembru anterior de la relación que da llugar a una interrupción"
+
+msgid "Select next Gap"
+msgstr "Escoyer la interrupción siguiente"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr ""
+"Escueye al miembru siguiente de la relación que da llugar a una interrupción"
+
+msgid "Zoom to Gap"
+msgstr "Averar a saltu"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Averar al saltu na secuencia de la vía."
+
+msgid "Refers to"
+msgstr "Refierse a"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
+
+msgid "Download referring relations"
+msgstr "Descargar relaciones referenciaes"
+
+msgid "There were {0} conflicts during import."
+msgstr "Hebo {0} conflictos mientres la importación."
+
+msgid "including immediate children of parent relations"
+msgstr "incluyendo los fíos inmediatos de les rellaciones padre"
+
+msgid "Load parent relations"
+msgstr "Cargar rellaciones padre"
+
+msgid "Reload"
+msgstr "Recargar"
+
+msgid "Loading parent relations"
+msgstr "Cargando rellaciones padre"
+
+msgid "Edit the currently selected relation"
+msgstr "Editar la relación escoyía"
+
+msgid "Apply Changes"
+msgstr "Aplicar cambeos"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Crear una nueva relación na capa \"{0}\""
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Editar una nueva relación na capa \"{0}\""
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Editar la relación nº {0} na capa \"{1}\""
+
+msgid "Load relation"
+msgstr "Cargar relación"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Añede tolos oxetos escoyíos nel conxuntu de datos actual detrás del últimu "
+"miembru escoyíu"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -7961,71 +8151,128 @@ msgstr ""
 "Añedir tolos oxetos escoyíos nel conxuntu de datos actual antes del primer "
 "miembru escoyíu"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Añede tolos oxetos escoyíos nel conxuntu de datos actual detrás del últimu "
-"miembru escoyíu"
+msgid "Apply the current updates"
+msgstr "Aplicar les actualizaciones actuales"
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Cancel the updates and close the dialog"
+msgstr "Atayar les actualizaciones y pesllar el cuadru de diálogu"
+
+msgid "Yes, save the changes and close"
+msgstr "Sí, grabar los cambeos y colar"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Pulsie pa guardar los cambeos y zarrar esti editor de relaciones"
+
+msgid "No, discard the changes and close"
+msgstr "Non, refugar los cambeos y cerrar"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Pulsie pa refugar los cambeos y pesllar esti editor de relaciones"
+
+msgid "Cancel, continue editing"
+msgstr "Atayar, siguir editando"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Borrar tolos miembros que faigan referencia a dalgún de los oxetos escoyíos"
+"Faiga clic pa tornar al editor de relación y pa siguir editando la relación"
 
 msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr ""
-"Escoyer los miembros de la relación que se refieren a los oxetos de la "
-"selección actual"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
+msgstr "<html>La relación camudó.<br><br>¿Quies guardar los cambeos?</html>"
+
+msgid "Unsaved changes"
+msgstr "Cambeos ensin grabar"
+
+msgid "Delete the currently edited relation"
+msgstr "Esaniciar esta relación"
+
+msgid "Relation Editor: Download Members"
+msgstr "Editor de Relaciones: Descargar Miembros"
+
+msgid "Download all incomplete members"
+msgstr "Descargar tolos miembros incompletos"
+
+msgid "Download Members"
+msgstr "Descargar miembros"
+
+msgid "Download selected incomplete members"
+msgstr "Descargar los miembros incompletos escoyíos"
+
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Editar la relación a la que se refier el miembru anguaño escoyíu"
+
+msgid "Relation Editor: Move Down"
+msgstr "Editor de relaciones: Mover escontra baxo"
+
+msgid "Move the currently selected members down"
+msgstr "Mover los miembros escoyíos escontra baxo"
+
+msgid "Relation Editor: Move Up"
+msgstr "Editor de relaciones: Mover escontra riba"
+
+msgid "Move the currently selected members up"
+msgstr "Mover los miembros escoyíos escontra riba"
+
+msgid "Apply the updates and close the dialog"
+msgstr "Aplicar les actualizaciones y pesllar el diálogu"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
-"Escoyer los miembros de la relación que se refieren a {0} oxetos de la "
-"selección actual"
+"Los miembros pegaos de la memoria entemedia non pueden añedir porque nun tán "
+"incluyíos na capa actual"
 
-msgid "Select objects for selected relation members"
-msgstr "Escoyer los oxetos pa los miembros de la relación indicaos"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Sort the relation members"
-msgstr "Ordenar los miembros de la relación"
+msgid "Refresh relation from data layer"
+msgstr ""
 
-msgid "Relation Editor: Sort"
-msgstr "Editor de rellaciones: axeitar"
+msgid "Refresh"
+msgstr "Enfrescar"
 
-msgid "Sort below"
-msgstr "Ordenar abaxo"
+msgid "Yes, discard changes and reload"
+msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
-"Ordenar los miembros esbillaos de la rellación y tolos miembros de más abaxo"
 
-msgid "Reverse the order of the relation members"
-msgstr "Invertir l''orde de los miembros de la relación"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
 
-msgid "Reverse"
-msgstr "Inversu"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "Mover los miembros escoyíos escontra riba"
+msgid "No, continue editing"
+msgstr "Non, siguir editando"
 
-msgid "Relation Editor: Move Up"
-msgstr "Editor de relaciones: Mover escontra riba"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr "Mover los miembros escoyíos escontra baxo"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "Relation Editor: Move Down"
-msgstr "Editor de relaciones: Mover escontra baxo"
+msgid "Relation Editor: Remove"
+msgstr "Editor de relaciones: Borrar"
 
 msgid "Remove the currently selected members from this relation"
 msgstr "Quitar los miembros escoyíos d''esta relación"
 
-msgid "Relation Editor: Remove"
-msgstr "Editor de relaciones: Borrar"
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
+"Borrar tolos miembros que faigan referencia a dalgún de los oxetos escoyíos"
 
-msgid "Delete the currently edited relation"
-msgstr "Esaniciar esta relación"
+msgid "Reverse the order of the relation members"
+msgstr "Invertir l''orde de los miembros de la relación"
+
+msgid "Reverse"
+msgstr "Inversu"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -8043,13 +8290,6 @@ msgstr "Sí, crear un conflictu y zarrar"
 msgid "Click to create a conflict and close this relation editor"
 msgstr "Faiga click pa crear un conflictu y cerrar esti editor de relaciones"
 
-msgid "No, continue editing"
-msgstr "Non, siguir editando"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Faiga clic pa tornar al editor de relación y pa siguir editando la relación"
-
 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 "
@@ -8066,52 +8306,20 @@ msgstr ""
 "<html>La capa \"{0}\" yá contien un conflictu pal oxetu<br>\"{1}\".<br>Por "
 "favor resuelva esti conflictu primeru ya intente de nuevu.</html>"
 
-msgid "Apply the current updates"
-msgstr "Aplicar les actualizaciones actuales"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Aplicar les actualizaciones y pesllar el diálogu"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Atayar les actualizaciones y pesllar el cuadru de diálogu"
-
-msgid "Yes, save the changes and close"
-msgstr "Sí, grabar los cambeos y colar"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Pulsie pa guardar los cambeos y zarrar esti editor de relaciones"
-
-msgid "No, discard the changes and close"
-msgstr "Non, refugar los cambeos y cerrar"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Pulsie pa refugar los cambeos y pesllar esti editor de relaciones"
-
-msgid "Cancel, continue editing"
-msgstr "Atayar, siguir editando"
+msgid "Select objects for selected relation members"
+msgstr "Escoyer los oxetos pa los miembros de la relación indicaos"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
-msgstr "<html>La relación camudó.<br><br>¿Quies guardar los cambeos?</html>"
-
-msgid "Unsaved changes"
-msgstr "Cambeos ensin grabar"
-
-msgid "Add an empty tag"
-msgstr "Añedir una etiqueta valera"
-
-msgid "Download all incomplete members"
-msgstr "Descargar tolos miembros incompletos"
-
-msgid "Download Members"
-msgstr "Descargar miembros"
-
-msgid "Relation Editor: Download Members"
-msgstr "Editor de Relaciones: Descargar Miembros"
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+"Escoyer los miembros de la relación que se refieren a los oxetos de la "
+"selección actual"
 
-msgid "Download selected incomplete members"
-msgstr "Descargar los miembros incompletos escoyíos"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Escoyer los miembros de la relación que se refieren a {0} oxetos de la "
+"selección actual"
 
 msgid "Sets a role for the selected members"
 msgstr "Afitar una función pa los miembros escoyíos"
@@ -8139,74 +8347,18 @@ msgstr "Non, non lo apliques"
 msgid "Confirm empty role"
 msgstr "Confirmar función valera"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Editar la relación a la que se refier el miembru anguaño escoyíu"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Los miembros pegaos de la memoria entemedia non pueden añedir porque nun tán "
-"incluyíos na capa actual"
-
-msgid "Select previous Gap"
-msgstr "Escoyer la interrupción anterior"
+msgid "Relation Editor: Sort"
+msgstr "Editor de rellaciones: axeitar"
 
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr ""
-"Escueye al miembru anterior de la relación que da llugar a una interrupción"
+msgid "Sort the relation members"
+msgstr "Ordenar los miembros de la relación"
 
-msgid "Select next Gap"
-msgstr "Escoyer la interrupción siguiente"
+msgid "Sort below"
+msgstr "Ordenar abaxo"
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Sort the selected relation members and all members below"
 msgstr ""
-"Escueye al miembru siguiente de la relación que da llugar a una interrupción"
-
-msgid "Zoom to Gap"
-msgstr "Averar a saltu"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Averar al saltu na secuencia de la vía."
-
-msgid "Refers to"
-msgstr "Refierse a"
-
-msgid "Download referring relations"
-msgstr "Descargar relaciones referenciaes"
-
-msgid "There were {0} conflicts during import."
-msgstr "Hebo {0} conflictos mientres la importación."
-
-msgid "including immediate children of parent relations"
-msgstr "incluyendo los fíos inmediatos de les rellaciones padre"
-
-msgid "Load parent relations"
-msgstr "Cargar rellaciones padre"
-
-msgid "Reload"
-msgstr "Recargar"
-
-msgid "Loading parent relations"
-msgstr "Cargando rellaciones padre"
-
-msgid "Edit the currently selected relation"
-msgstr "Editar la relación escoyía"
-
-msgid "Apply Changes"
-msgstr "Aplicar cambeos"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Crear una nueva relación na capa \"{0}\""
-
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Editar una nueva relación na capa \"{0}\""
-
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Editar la relación nº {0} na capa \"{1}\""
-
-msgid "Load relation"
-msgstr "Cargar relación"
+"Ordenar los miembros esbillaos de la rellación y tolos miembros de más abaxo"
 
 msgid "way is connected"
 msgstr "La vía ta conectá"
@@ -8645,6 +8797,11 @@ msgid ""
 msgstr ""
 "<html>Versión <strong>{0}</strong> creada´l <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "Conxuntu de cambios"
 
@@ -8773,15 +8930,15 @@ msgid "Upload"
 msgstr "Xubir"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Escoyer qué acciones va executase pa esta capa al faer clic nel botón "
-"de la esquierda.<br/>Marque la opción \"xubir\" pa publicar los cambeos nel "
-"servidor OSM.<br/>Marque la opción \"Guardar\" pa guardar la capa nel "
-"arquivu especificáu a la izquierda.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Pon-yos un breve comentariu a los cambéos que tas xubiendo:"
@@ -8985,9 +9142,6 @@ msgstr ""
 "Non pudo recuperase la información d´usuariu pal usuariu actual de JOSM. La "
 "esceición foi: {0}"
 
-msgid "Download objects"
-msgstr "Descargar oxetos"
-
 msgid "Initializing nodes to download ..."
 msgstr "Anicializando nodos a descargar..."
 
@@ -9595,8 +9749,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} oxetu pa esaniciar:"
 msgstr[1] "{0} oxetos pa esaniciar:"
 
-msgid "Show Tile Info"
-msgstr "Amosar información de la tesela"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr "Información del cuadru"
@@ -9604,17 +9758,23 @@ msgstr "Información del cuadru"
 msgid "Metadata "
 msgstr "Metadatos "
 
-msgid "Auto Zoom"
-msgstr "Auto Zoom"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Cargar teseles automáticamente"
 
-msgid "Load All Tiles"
-msgstr "Cargar toles teseles"
+msgid "Show errors"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "Recargar teseles errónees"
+msgid "Load all tiles"
+msgstr ""
+
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "Averar a resolución nativa"
@@ -9622,26 +9782,17 @@ msgstr "Averar a resolución nativa"
 msgid "Change resolution"
 msgstr "Camudar resolvimientu"
 
-msgid "Failed to create tile source"
-msgstr "Falló la creación d’una fonte de cuadros"
-
-msgid "Show Errors"
-msgstr "Amosar erros"
-
-msgid "Load Tile"
-msgstr "Cargar tesela"
-
 msgid "Increase zoom"
 msgstr "Aumentar zoom"
 
 msgid "Decrease zoom"
 msgstr "Amenorgar zoom"
 
-msgid "Snap to tile size"
-msgstr "Axustar al tamañu de la tesela"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Allinear caxé de teseles"
+msgid "Failed to create tile source"
+msgstr "Falló la creación d’una fonte de cuadros"
 
 msgid "zoom in to load any tiles"
 msgstr "faiga zoom averando pa cargar cualesquier tesela"
@@ -10087,6 +10238,9 @@ msgstr ""
 "Erru mientres se realizaba l´analís sintácticu.\n"
 "Formatu esperáu: {0}"
 
+msgid "Geotagged Images"
+msgstr "Imaxes Xeomarcáes"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Estrayendo localizaciones GPS del EXIF"
 
@@ -10111,9 +10265,6 @@ msgstr "Erru mientres se llograben arquivos del directoriu {0}\n"
 msgid "One of the selected files was null"
 msgstr "Unu de los arquivos escoyíos yera nulu"
 
-msgid "Geotagged Images"
-msgstr "Imaxes Xeomarcáes"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} imaxe cargada."
@@ -10506,12 +10657,8 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Erru al analizar los estilos Mappaint dende ''{0}''. L´erru foi: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Detectáu ''{0}'' obsoleto en'' {1}'' que se va retirar en curtiu. Utilice'' "
-"{2}'' nel so llugar."
+msgid "Failed to locate image ''{0}''"
+msgstr "Non pudo alcontrase la imaxe ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Patrón de guiones illegal, los valores tienen de ser positivos"
@@ -10560,6 +10707,12 @@ msgstr "URL de Llave d''Accesu"
 msgid "Authorize URL:"
 msgstr "URL d''Autorización:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 "Prima pa restablecer les opciones de OAuth a los valores predeterminados"
@@ -10637,13 +10790,6 @@ msgstr "Nome d''usuariu: "
 msgid "Password: "
 msgstr "Contraseña: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Avisu:</strong> JOSM empecipia sesión<strong>una vegada</strong> "
-"usando una conexón segura."
-
 msgid "Granted rights"
 msgstr "Derechos concedíos"
 
@@ -10787,6 +10933,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Por favor, escueya un procedimientu d''autorización: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Llograr una llave d´Accesu pa ''{0}''"
 
@@ -11197,6 +11349,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr "Barra de ferramientes: {0}"
 
+msgid "add entry"
+msgstr "añedir entrada"
+
+msgid "Remove the selected entry"
+msgstr "Esaniciar la entrada escoyida"
+
+msgid "Key: {0}"
+msgstr "Clave: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Preferencies avanzaes"
 
@@ -11293,18 +11454,9 @@ msgstr "Escoyer arquivu de perfil"
 msgid "Change list setting"
 msgstr "Camudar llista de propiedaes"
 
-msgid "Key: {0}"
-msgstr "Clave: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Camudar llista de llistes de propiedaes"
 
-msgid "add entry"
-msgstr "añedir entrada"
-
-msgid "Remove the selected entry"
-msgstr "Esaniciar la entrada escoyida"
-
 msgid "Change list of maps setting"
 msgstr "Camudar llista de mapes de propiedaes"
 
@@ -12023,9 +12175,6 @@ msgstr "copiar los predefinidos escoyíos"
 msgid "Please select at least one row to copy."
 msgstr "Por favor, escueya siquier una fila pa copiar."
 
-msgid "reload defaults"
-msgstr "recargar los valores por defeutu"
-
 msgid "Menu Name"
 msgstr "Nome del menú"
 
@@ -12338,6 +12487,9 @@ msgstr[0] ""
 msgstr[1] ""
 "Hai <strong>falláu</strong> la descarga de los siguientes {0} complementos:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Mensaxe d´erru (ensin traducir): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Por favor, reanicie JOSM p''activar los complementos descargaos."
 
@@ -13026,12 +13178,6 @@ msgstr "Valores numbéricos"
 msgid "Checks for wrong numeric values"
 msgstr "Verifica que nun haya valores numbéricos incorrectos"
 
-msgid "Power"
-msgstr "Enerxía"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Verifica que nun haya erros na infraestructura d''enerxía"
-
 msgid "Religion"
 msgstr "Relixón"
 
@@ -13123,6 +13269,9 @@ msgstr "Usar predefiníu ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Los elementos del tipu {0} son soportaos"
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "Editar amás..."
 
@@ -13193,6 +13342,9 @@ msgstr "Buscar predefiníos"
 msgid "Presets"
 msgstr "Axustes Predefiníos"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "Buscar oxetos per tipu predefiníu"
 
@@ -13246,6 +13398,9 @@ msgstr ""
 "Etiquetáu predetermináu rotu ''{0}-{1}'' - el númberu d''oxetos en "
 "''short_descriptions'' tien de coincidir con ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Más información sobre esta característica"
 
@@ -13345,17 +13500,31 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "falsu: la propiedá atopar ensin marcar"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "verdaderu: la propiedá atópase marcada"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "parcial: distintos oxetos escoyíos tienen valores distintos, nun camudar"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "ensin establecer: nun amiesta esta propiedá a los oxetos escoyíos"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "Cortar"
 
@@ -13908,6 +14077,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Valor pa la preferencia ''{0}'' non esperáu. Llogróse ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "Arquivos del servidor OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Asocedió un erru al guardar.<br>L´erru ye:<br>{0}</html>"
 
@@ -13924,9 +14096,6 @@ msgstr "Arquivos del servidor OSM estruyíos con gzip"
 msgid "Parsing OSM history data ..."
 msgstr "Analizando datos del historial de OSM..."
 
-msgid "OSM Server Files"
-msgstr "Arquivos del servidor OSM"
-
 msgid "Invalid dataset"
 msgstr "Conxuntu de datos non válidu"
 
@@ -14137,9 +14306,6 @@ msgstr "Xubiendo datos..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Atopóse un ID 0 inesperáu pa la primitiva osm"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Arquivos del Servidor OSM estruyíos en zip"
-
 msgid "Downloading data..."
 msgstr "Descargando datos..."
 
@@ -14321,24 +14487,29 @@ msgstr ""
 "Solicitóse al Control Remotu que reporte la so versión de protocolu. Esto "
 "dexa a los sitios web detectar un JOSM executándose."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Nun se soporten los metadatos de la versión ''{0}'' pa la capa de geoimagen. "
-"Esperábase: 0.1"
+msgid "local file"
+msgstr "Arquivu local"
+
+msgid "include"
+msgstr "incluyir"
+
+msgid "Layer contains unsaved data - save to file."
+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"
 
 msgid "Data:"
 msgstr "Datos:"
 
-msgid "local file"
-msgstr "Arquivu local"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Enllaz a un arquivu de datos OSM nel so discu local."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Venceyu a un arquivu GPX nel so discu local."
+msgid "Include OSM data in the .joz session file."
+msgstr "Incluyir datos de OSM nel arquivu .joz de sesión."
 
-msgid "include"
-msgstr "incluyir"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Incluyir datos GPX nel arquivu de sesión .joz."
@@ -14349,6 +14520,16 @@ 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."
 
+msgid "OSM data will be included in the session file."
+msgstr "Los datos de OSM van incluyir nel arquivu de la sesión."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Nun se soporten los metadatos de la versión ''{0}'' pa la capa de geoimagen. "
+"Esperábase: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14372,20 +14553,9 @@ msgstr ""
 "Versión ''{0}'' de meta dato pa la capa del marcador non esta soportada. "
 "Esperáu: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-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"
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Enllaz a un arquivu de datos OSM nel so discu local."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Incluyir datos de OSM nel arquivu .joz de sesión."
-
-msgid "OSM data will be included in the session file."
-msgstr "Los datos de OSM van incluyir nel arquivu de la sesión."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15253,9 +15423,6 @@ msgstr ""
 "demasiada amplia. <br> Solicite un área más pequena o utilize un arquivu "
 "esportáu proporcionáu pola comunidá de OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Mensaxe d´erru (ensin traducir): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15300,6 +15467,9 @@ msgstr "Descarga redirixida a ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Demasiaes redirecciones detectaes a la URL de descarga. Albortando."
 
+msgid "Fetching content..."
+msgstr ""
+
 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}."
 
@@ -15310,9 +15480,6 @@ msgstr ""
 "Fatal: Fallu al alcontrar la imaxe ''{0}''. Este ye un problema seriu de "
 "configuración. JOSM va dexar de trabayar."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Non pudo alcontrase la imaxe ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Erru al manipoliar l´arquivu zip ''{0}''. La esceición foi: {1}"
 
@@ -15469,6 +15636,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr "ms"
 
@@ -15800,9 +15970,6 @@ msgstr "Abrir ficheru escoyíu"
 msgid "Open selected file."
 msgstr "Abrir ficheru escoyíu"
 
-msgid "Refresh"
-msgstr "Enfrescar"
-
 msgid "Rename File"
 msgstr "Reñomar ficheru"
 
@@ -15896,6 +16063,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Tresporte Públicu (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (Estilu Alemán)"
 
@@ -15962,6 +16132,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI blancu-y-negru 2.5m"
 
@@ -16058,13 +16231,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr ""
+
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -16187,6 +16363,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -16209,9 +16388,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Sorbian Language)"
 
@@ -16283,6 +16459,15 @@ msgstr "Drone Imagery 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
 
@@ -16316,11 +16501,14 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italy"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr ""
 
 msgid "Sicily - Italy"
 msgstr "Sicily - Italy"
@@ -17036,6 +17224,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Crea una cuadrícula de viales"
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -17788,6 +17979,105 @@ msgstr "limitáu"
 msgid "Brand"
 msgstr "Marca"
 
+msgid "Cuisine"
+msgstr "Cocina"
+
+msgid "italian"
+msgstr "italianu"
+
+msgid "chinese"
+msgstr "china"
+
+msgid "pizza"
+msgstr "pizzería"
+
+msgid "burger"
+msgstr "hamburguesería"
+
+msgid "greek"
+msgstr "griega"
+
+msgid "german"
+msgstr "alemana"
+
+msgid "indian"
+msgstr "india"
+
+msgid "regional"
+msgstr "rexonal"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turca"
+
+msgid "asian"
+msgstr "asiática"
+
+msgid "thai"
+msgstr "tailandesa"
+
+msgid "mexican"
+msgstr "mexicana"
+
+msgid "japanese"
+msgstr "xaponesa"
+
+msgid "french"
+msgstr "francesa"
+
+msgid "sandwich"
+msgstr "sandwich / emparedáu"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "fish_and_chips (pataques y pexe fritu)"
+
+msgid "chicken"
+msgstr "pollu"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "xeladería"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Accesu a Internet"
 
@@ -18355,8 +18645,11 @@ msgstr "Pesu máximu (t)"
 msgid "Toll"
 msgstr "Peaxe"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "¿Ye la masa d''agua intermitente (sumi estacionalmente)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
+msgstr ""
 
 msgid "In the tidal range"
 msgstr ""
@@ -19125,26 +19418,30 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Calmu de tráficu"
 
-msgid "bump"
-msgstr "badén de llombu de pollín"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
+msgstr ""
 
-msgid "chicane"
-msgstr "chicane"
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
-msgstr "gargüelu"
+msgid "Cushion"
+msgstr ""
 
-msgid "cushion"
-msgstr "coxín berlinés"
+msgid "Hump"
+msgstr ""
 
-msgid "hump"
-msgstr "resalte"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "sonadores"
+msgid "Rumble strip"
+msgstr ""
 
-msgid "table"
-msgstr "plataforma elevada"
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Llugar d''encruz frecuente de la vía"
@@ -19293,6 +19590,9 @@ msgstr "Muralla"
 msgid "Retaining Wall"
 msgstr "Muriu de contención"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Cabiana"
@@ -19466,6 +19766,9 @@ msgstr "ríu"
 msgid "Salt Water"
 msgstr "Agua Salao"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "¿Ye la masa d''agua intermitente (sumi estacionalmente)?"
+
 msgid "Coastline"
 msgstr "Llínea de mariña"
 
@@ -19532,17 +19835,6 @@ msgid ""
 msgstr ""
 "Un gran cuerpu d''agua parcialmente cerráu per tierra pero con una gran boca."
 
-msgid "Cliff"
-msgstr "Cantil"
-
-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)."
-
 msgid "Shipping"
 msgstr "Saléu"
 
@@ -20473,66 +20765,6 @@ msgstr "Comida+Bebíes"
 msgid "Restaurant"
 msgstr "Restorán"
 
-msgid "Cuisine"
-msgstr "Cocina"
-
-msgid "italian"
-msgstr "italianu"
-
-msgid "chinese"
-msgstr "china"
-
-msgid "pizza"
-msgstr "pizzería"
-
-msgid "burger"
-msgstr "hamburguesería"
-
-msgid "greek"
-msgstr "griega"
-
-msgid "german"
-msgstr "alemana"
-
-msgid "indian"
-msgstr "india"
-
-msgid "regional"
-msgstr "rexonal"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turca"
-
-msgid "asian"
-msgstr "asiática"
-
-msgid "thai"
-msgstr "tailandesa"
-
-msgid "mexican"
-msgstr "mexicana"
-
-msgid "japanese"
-msgstr "xaponesa"
-
-msgid "french"
-msgstr "francesa"
-
-msgid "sandwich"
-msgstr "sandwich / emparedáu"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr "Cervecería artesanal"
 
@@ -20545,20 +20777,14 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Establecimientu de comida rápida"
 
-msgid "fish_and_chips"
-msgstr "fish_and_chips (pataques y pexe fritu)"
-
-msgid "chicken"
-msgstr "pollu"
-
 msgid "Food Court"
 msgstr "Zona de comida"
 
 msgid "Cafe"
 msgstr "Cafetería"
 
-msgid "ice_cream"
-msgstr "xeladería"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Pub"
@@ -20735,6 +20961,12 @@ msgstr "Parque d''atracciones"
 msgid "Water Park"
 msgstr "Parque acuáticu"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20769,9 +21001,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Pesca"
 
-msgid "Private Swimming Pool"
-msgstr "Piscina privada"
-
 msgid "Night Club"
 msgstr "Club nocherniegu"
 
@@ -20814,12 +21043,18 @@ msgstr "estatua"
 msgid "Artist Name"
 msgstr "Nome del artista"
 
-msgid "Recording Studio"
-msgstr "Estudiu de grabación"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "audiu"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "vídeu"
 
@@ -20923,6 +21158,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "adventista del sétimu día"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Mezquita"
 
@@ -21082,6 +21321,125 @@ msgstr "(Utilizar códigu internacional, como +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinariu"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Desfibrilador automáticu"
+
+msgid "Located inside a building?"
+msgstr "¿Allugáu dientro d''un edificiu?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Última fecha de verificación (YYYY-MM-DD)"
+
+msgid "Last check note"
+msgstr "Nota de la última verificación"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr "Interior"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Hidrante contra quemes"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "soterrañu"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "columna"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "muriu"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "balsa d''agua"
+
+msgid "Diameter (in mm)"
+msgstr "Diámetru (en mm)"
+
+msgid "Hydrant Position"
+msgstr "Posición d''hidrante"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "carril"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "área de estacionamiento"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "sienda/acera"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "verde"
+
+msgid "Pressure (in bar)"
+msgstr "Presión (en chigre)"
+
+msgid "suction"
+msgstr "succión"
+
+msgid "Count"
+msgstr "Cuenta"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Teléfonu d''emerxencia"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -21196,24 +21554,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "Tarxetes telefóniques"
 
-msgid "Emergency Phone"
-msgstr "Teléfonu d''emerxencia"
-
 msgid "Internet Access"
 msgstr "Accesu a Internet"
 
-msgid "Automated Defibrillator"
-msgstr "Desfibrilador automáticu"
-
-msgid "Located inside a building?"
-msgstr "¿Allugáu dientro d''un edificiu?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Última fecha de verificación (YYYY-MM-DD)"
-
-msgid "Last check note"
-msgstr "Nota de la última verificación"
-
 msgid "Clock"
 msgstr "Reló"
 
@@ -21376,64 +21719,15 @@ msgctxt "height"
 msgid "full"
 msgstr "completa"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Ocultu"
+msgstr ""
 
 msgid "Lock"
 msgstr "Esclusa"
 
-msgid "Indoor"
-msgstr "Interior"
-
-msgid "Fire Hydrant"
-msgstr "Hidrante contra quemes"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "soterrañu"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "columna"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "muriu"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "balsa d''agua"
-
-msgid "Diameter (in mm)"
-msgstr "Diámetru (en mm)"
-
-msgid "Hydrant Position"
-msgstr "Posición d''hidrante"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "carril"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "área de estacionamiento"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "sienda/acera"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "verde"
-
-msgid "Pressure (in bar)"
-msgstr "Presión (en chigre)"
-
-msgid "suction"
-msgstr "succión"
-
-msgid "Count"
-msgstr "Cuenta"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr ""
@@ -21486,9 +21780,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "Pista de carreres"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Campu de golf"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Mini golf"
 
@@ -21713,9 +22060,6 @@ msgstr "Voley playa"
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "campu de golf"
 
@@ -21880,6 +22224,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -21888,6 +22236,38 @@ msgid "construction"
 msgstr "en construcción"
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -22000,6 +22380,9 @@ msgstr "Molín de vientu"
 msgid "Gasometer"
 msgstr "Gasómetru"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -22401,6 +22784,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -22410,6 +22801,9 @@ msgstr "Ruines"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Enerxía"
+
 msgid "Power Plant"
 msgstr "Planta xeneradora d''enerxía"
 
@@ -22843,11 +23237,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Armariu eléctricu"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Torre d''eletricidá"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr "Tipu de construcción"
@@ -22868,6 +23265,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "colloráu/blancu"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr "portal"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portal de dos niveles"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portal de trés niveles"
+
+msgid "Power Tower"
+msgstr "Torre d''eletricidá"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -22991,18 +23406,6 @@ msgid "guyed_h-frame"
 msgstr "marcu-h fondiáu"
 
 msgctxt "power"
-msgid "portal"
-msgstr "portal"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "portal de dos niveles"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "portal de trés niveles"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "marcu-v fondiáu"
 
@@ -23035,6 +23438,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Tendíu elléctricu"
 
@@ -23292,6 +23698,9 @@ msgstr "Muebles y decoración"
 msgid "Kitchen"
 msgstr "Cocines"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Cortinaxes"
 
@@ -23334,12 +23743,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Droguería"
 
-msgid "Hairdresser/Barber"
-msgstr "Peluquería/Barbería"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "Salón de guapura"
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr "Peluquería/Barbería"
+
 msgid "Tattoo"
 msgstr ""
 
@@ -23665,6 +24083,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Xeografía"
 
@@ -23839,6 +24332,17 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Cantil"
+
+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)."
+
 msgid "Cave Entrance"
 msgstr "Entrá de cueva"
 
@@ -24049,6 +24553,51 @@ msgstr "Prau"
 msgid "Orchard"
 msgstr "Güerta"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Viñéu"
 
@@ -24848,9 +25397,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} ta obsoleto"
-
 msgid "{0} is deprecated"
 msgstr "{0} ta obsoleto"
 
@@ -24876,9 +25422,8 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
-"{0}={1} ta en desusu. Por favor utilice nel so llugar un multipolígono."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -24921,6 +25466,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -24936,6 +25490,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} nun nodo"
 
@@ -24963,6 +25520,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "nome de cai embrivíu"
 
@@ -25004,8 +25564,8 @@ msgstr "etiqueta layer col signu +"
 msgid "layer should be between -5 and 5"
 msgstr "la capa tien de tar ente -5 y 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "level tendría de ser un númberu con opcional de .5 medríes"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr ""
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -28758,7 +29318,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -29071,6 +29631,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -29086,6 +29649,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Valores midíos"
 
@@ -30523,6 +31098,12 @@ msgstr "Complementu Proj4J"
 msgid "Code"
 msgstr "Códigu"
 
+msgid "Can''t parse a time from this string."
+msgstr "Non puede interpretase una hora con esta cadena de calteres."
+
+msgid "Invalid value"
+msgstr "Valor non válidu"
+
 msgid "added"
 msgstr "añedíu"
 
@@ -30611,15 +31192,6 @@ msgstr "Prindar"
 msgid "Join"
 msgstr "Xunir"
 
-msgid "Enable"
-msgstr "Dexar"
-
-msgid "Can''t parse a time from this string."
-msgstr "Non puede interpretase una hora con esta cadena de calteres."
-
-msgid "Invalid value"
-msgstr "Valor non válidu"
-
 msgid "moved"
 msgstr "Movíu"
 
@@ -32776,6 +33348,9 @@ msgstr "El camín colos nodos escoyíos nun se pue endrechar."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Erru internu: el númberu de nodos ye {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Estrayer nodo"
 
@@ -33441,6 +34016,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Añedir nomes dende Wikipedia"
 
@@ -33533,6 +34113,3 @@ msgstr "Dir a conducir"
 
 msgid "Drive a race car on this layer"
 msgstr "Conduz un coche de carreres nesta capa"
-
-#~ msgid "Retirement Home"
-#~ msgstr "Centru de la tercer edá"
diff --git a/i18n/po/az.po b/i18n/po/az.po
index 7814e58..5d80cd3 100644
--- a/i18n/po/az.po
+++ b/i18n/po/az.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:33+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:34+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr ""
@@ -385,6 +385,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -440,6 +443,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1171,9 +1180,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1506,6 +1512,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2224,6 +2240,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2265,6 +2286,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2619,7 +2649,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3182,9 +3215,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3243,6 +3273,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3470,6 +3503,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3547,12 +3583,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3562,6 +3610,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4128,6 +4194,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4822,9 +4891,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4883,12 +4949,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4915,6 +4975,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5734,6 +5806,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5850,6 +5934,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6275,6 +6362,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6622,19 +6712,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6736,6 +6820,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7063,7 +7159,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7099,6 +7195,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7166,6 +7265,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7278,9 +7398,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7311,108 +7428,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7431,6 +7523,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7439,48 +7534,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7488,61 +7572,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7930,6 +8078,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8033,10 +8186,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8216,9 +8373,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8731,7 +8885,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8740,31 +8894,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8773,10 +8924,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9196,6 +9347,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9220,9 +9374,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9573,9 +9724,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9620,6 +9769,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9676,11 +9831,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9796,6 +9946,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10156,6 +10312,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10237,18 +10402,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10900,9 +11056,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11174,6 +11327,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11803,12 +11959,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11898,6 +12048,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11968,6 +12121,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12011,6 +12167,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12099,16 +12258,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12588,6 +12761,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12602,9 +12778,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12797,9 +12970,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12968,21 +13138,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12994,6 +13171,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13011,19 +13196,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13706,9 +13880,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13740,6 +13911,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13748,9 +13922,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13884,6 +14055,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14192,9 +14366,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14288,6 +14459,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14354,6 +14528,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14450,13 +14627,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14579,6 +14759,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14599,9 +14782,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14672,6 +14852,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14705,10 +14894,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15404,6 +15596,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16059,25 +16254,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16626,7 +16920,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17380,25 +17677,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17548,6 +17849,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17718,6 +18022,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17780,14 +18087,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18716,66 +19015,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18788,19 +19027,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18978,6 +19211,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19012,9 +19251,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19057,12 +19293,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19166,6 +19408,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19325,6 +19571,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19437,24 +19802,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19617,63 +19967,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19727,9 +20028,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19954,9 +20308,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20121,6 +20472,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20129,6 +20484,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20241,6 +20628,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20642,6 +21032,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20651,6 +21049,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21082,10 +21483,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21107,6 +21511,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21230,18 +21652,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21274,6 +21684,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21531,6 +21944,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21573,12 +21989,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21904,6 +22329,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22072,6 +22572,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22272,6 +22780,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23066,9 +23619,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23090,7 +23640,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23134,6 +23684,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23149,6 +23708,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23176,6 +23738,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23217,7 +23782,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26641,7 +27206,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26954,6 +27519,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26969,6 +27537,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28310,6 +28890,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28396,15 +28982,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30391,6 +30968,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30979,6 +31559,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/be.po b/i18n/po/be.po
index c06e94f..4d6322a 100644
--- a/i18n/po/be.po
+++ b/i18n/po/be.po
@@ -10,8 +10,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2015-12-30 20:47+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-01-24 13:57+0000\n"
 "Last-Translator: Viktar Palstsiuk <Unknown>\n"
 "Language-Team: Belarusian <i18n at mova.org>\n"
 "MIME-Version: 1.0\n"
@@ -19,8 +19,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:34+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:35+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: be\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -409,6 +409,9 @@ msgid ""
 msgstr ""
 "Немагчыма аб’яднаць лініі<br>(Іх нельга злучыць у адзін шэраг кропак)"
 
+msgid "Reverse Ways"
+msgstr "Змяніць накірунак лініі"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Аб’яднаць {0} лінію"
@@ -466,6 +469,12 @@ msgstr "Выдаліць"
 msgid "Delete selected objects."
 msgstr "Выдаліць выбраныя аб’екты."
 
+msgid "Delete Layer"
+msgstr "Выдаліць слой"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Пераключыць панэлі дыялогаў"
 
@@ -1282,9 +1291,6 @@ msgstr "Націсьніце, каб перазапусціць пазней."
 msgid "Reverse way"
 msgstr "Разгарнуць лінію"
 
-msgid "Reverse Ways"
-msgstr "Змяніць накірунак лініі"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Змяніць накірунак усіх выбраных ліній"
 
@@ -1602,19 +1608,19 @@ msgstr ""
 "і усе кропкі будуць выбраны"
 
 msgid "Existing node"
-msgstr ""
+msgstr "Існуючая кропка"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Абедзьве кропкі"
 
 msgid "New node"
-msgstr ""
+msgstr "Новая кропка"
 
 msgid "Tags / Memberships"
 msgstr "Тэгі / Удзел"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Раз''яднаць"
 
 msgid "Where should the tags of the node be put?"
 msgstr ""
@@ -1656,6 +1662,16 @@ msgstr ""
 "Вы збіраецеся раз’яднаць няпоўны аб’ект <br> Гэта прывядзе да памылак, "
 "паколькі вы бачыце не ўвесь аб’ект. <br> Вы сапраўды хочаце раз’яднаць іх?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Адлучыць кропку ад лініі"
 
@@ -2451,6 +2467,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Дадаць вылучэнне да стаўлення"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Дадаць вылучанае да {0} адносіны"
@@ -2499,6 +2520,15 @@ msgstr[2] ""
 msgid "Confirmation"
 msgstr "Пацверджанне"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Рэдактар адносін: {0}"
+
 msgid "Select in relation list"
 msgstr "Абраць у спісе адносін"
 
@@ -2871,8 +2901,11 @@ msgstr ""
 "Памылка сінтаксічнага разбору рэгулярнага выраза \"{0}\":\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Чакаецца <i>min</i>/<i>max</i> пасля ''штампа часу''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr "Чакаецца дыяпазон ID аб’ектаў"
@@ -3522,9 +3555,6 @@ msgstr ""
 "Спрабаваць выкарыстоўваць сетку IPv6, аддаючы перавагу IPv6 замест IPv4 "
 "(працуе толькі напачатку запуску)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (у радку {0}, слупок {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Налада {0}  была выдалена, бо яна больш не выкарыстоўваецца."
 
@@ -3584,6 +3614,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "У"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "Праекцыя ''{0}'' не знойдзена, закладка ''{1}'' непрыдатная да выкарыстання"
@@ -3834,6 +3867,9 @@ msgstr "тэкст"
 msgid "areatext"
 msgstr "для_тэксту"
 
+msgid " (at line {0}, column {1})"
+msgstr " (у радку {0}, слупок {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "Праекцыя UTM (''+proj=utm'') патрабуе параметр ''+zone=...''."
 
@@ -3914,12 +3950,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "Патрабуецца параметр «{0}»."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Раўнакутная канічная праекцыя Ламберта"
 
@@ -3929,6 +3977,24 @@ msgstr "Шыр. / даўг. (геадэзічныя)"
 msgid "Mercator"
 msgstr "Меркатар"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Швейцарская праекцыя Меркатара"
 
@@ -4531,6 +4597,9 @@ msgstr "Няправільны прабел у напісанні ключа"
 msgid "Property values start or end with white space"
 msgstr "Значэнне пачынаецца ці сканчаецца прабелам"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Значэнні ўтрымоўваюць HTML разметку"
 
@@ -5271,9 +5340,6 @@ msgstr "Налады здымкаў"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Пстрыкніце, каб адкрыць укладку здымкаў у наладах"
 
-msgid "Search menu items"
-msgstr "Пошук пунктаў меню"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Аўдыё"
@@ -5332,12 +5398,6 @@ msgstr "Пярэдні план радка стану: актыўная"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Геаграфічная шырата становішча курсора"
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Геаграфічная даўгата становішча курсора"
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Шляхавы вугал ствараемага сегмента"
 
@@ -5366,6 +5426,18 @@ msgstr "Карыстальнік:"
 msgid "Do not hide status bar"
 msgstr "Не хаваць радок стану"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Геаграфічная шырата становішча курсора"
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Геаграфічная даўгата становішча курсора"
+
 msgid "System of measurement changed to {0}"
 msgstr "Сістэма вымярэнняў зменена на {0}"
 
@@ -6284,6 +6356,18 @@ msgstr ""
 "Адкрыць дыялогавае акно для аб’яднання абраных у вышэйпаказаным спісе "
 "аб’ектаў."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Знойдзены {0} канфлікт."
@@ -6408,6 +6492,9 @@ msgstr "Перамясціць фільтр уніз."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Фільтрам схавана:{0}, адключана:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Памылка ў фільтры"
 
@@ -6862,6 +6949,9 @@ msgstr "Налады стылю"
 msgid "Customize the style"
 msgstr "Наладзіць стыль"
 
+msgid "Search menu items"
+msgstr "Пошук пунктаў меню"
+
 msgid "Mini map"
 msgstr "Мінімапа"
 
@@ -7230,21 +7320,15 @@ msgstr[2] ""
 "<html>Ні адзін з вылучаных аб''ектаў не даступны ў бягучым <br>рэдагуемым "
 "пласце ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Запампаваць змесціва"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Запампаваць змесціва пакета правак з сервера OSM"
-
-msgid "Update content"
-msgstr "Абнавіць змесціва"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Абнавіць змесціва пакета правак з сервера OSM"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Загрузіць і паказаць гісторыю абраных аб’ектаў"
 
+msgid "Download objects"
+msgstr "Загрузіць аб’екты"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "Вылучыць у пласце"
 
@@ -7351,6 +7435,18 @@ msgstr "адкрыты"
 msgid "closed"
 msgstr "зачынены"
 
+msgid "Download content"
+msgstr "Запампаваць змесціва"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Запампаваць змесціва пакета правак з сервера OSM"
+
+msgid "Update content"
+msgstr "Абнавіць змесціва"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Абнавіць змесціва пакета правак з сервера OSM"
+
 msgid "Changeset ID: "
 msgstr "ID пакета правак: "
 
@@ -7722,8 +7818,8 @@ msgstr "Змяніць значэнне абранага ключа для ўс
 msgid "Edit Tags"
 msgstr "Рэдагаваць тэгі"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Адкрыць апісанне тэга ў OSM wiki (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Адкрыць браўзар з апісаннем wiki для абранага аб’екта"
@@ -7758,6 +7854,9 @@ msgstr "Капіяваць усе ключы і значэнні"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Скапіяваць ключы і значэнні ўсіх тэгаў у буфер абмену"
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Шукаць ключ/значэнне/тып"
 
@@ -7831,6 +7930,27 @@ msgstr "Задаць колькасць нядаўна дададзеных тэ
 msgid "Remember last used tags after a restart"
 msgstr "Памятаць нядаўна дададзеныя тэгі пасля перазапуску"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Уключыць"
+
+msgid "Hide"
+msgstr "Утоеная"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "для ўжывання першай прапановы"
 
@@ -7952,9 +8072,6 @@ msgstr "Новыя адносіны"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Факусаваць рэдактар адносін на адносінах ''{0}'' ў пласце ''{1}''"
 
-msgid "Relation Editor: {0}"
-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 "
@@ -7995,17 +8112,67 @@ msgstr ""
 "цыклічныя спасылкі і таму не рэкамендуецца.<br>Прапусціць адносіны "
 "''{0}''.</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
+msgstr "Выбраць папярэдні разрыў"
+
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
-"Дадаць усе аб’екты, вылучаныя ў бягучым наборы, перад першым удзельнікам"
+"Выбраць папярэдняга ўдзельніка адносін, які вінен у разрыве паслядоўнасці"
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select next Gap"
+msgstr "Выбраць наступны разрыў"
+
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
-"Дадаць усе аб’екты, вылучаныя ў бягучым наборы, перад першым абраным "
-"удзельнікам"
+"Выбраць наступнага ўдзельніка адносін - вінаватага ў разрыве паслядоўнасці"
+
+msgid "Zoom to Gap"
+msgstr "Маштабаваць да разрыву"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Маштабаваць да разрыву ў паслядоўнасці лініі"
+
+msgid "Refers to"
+msgstr "Спасылаецца на"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
+
+msgid "Download referring relations"
+msgstr "Сцягнуць адносіны, што спасылаюцца"
+
+msgid "There were {0} conflicts during import."
+msgstr "Падчас імпарту адбылося {0} канфлікт(аў)"
+
+msgid "including immediate children of parent relations"
+msgstr "уключаючы непасрэдныя даччыныя элементы адносін"
+
+msgid "Load parent relations"
+msgstr "Спампаваць бацькоў адносін"
+
+msgid "Reload"
+msgstr "Абнавіць"
+
+msgid "Loading parent relations"
+msgstr "Запампоўка бацькоў адносін"
+
+msgid "Edit the currently selected relation"
+msgstr "Правіць абраныя адносіны"
+
+msgid "Apply Changes"
+msgstr "Ужыць змены"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Стварыць новыя адносіны ў пласце ''{0}''"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Змяніць новыя адносіны ў пласце ''{0}''"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Змяніць адносіны #{0} у пласце ''{1}''"
+
+msgid "Load relation"
+msgstr "Чытанне адносін"
 
 msgid ""
 "Add all objects selected in the current dataset after the last selected "
@@ -8014,62 +8181,141 @@ msgstr ""
 "Дадаць усе аб’екты, вылучаныя ў бягучым наборы, пасля апошняга абранага "
 "ўдзельніка"
 
-msgid "Remove all members referring to one of the selected objects"
+msgid ""
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
-"Выдаліць ўсіх удзельнікаў, якія спасылалаюцца на які-небудзь з вылучаных "
-"аб’ектаў"
+"Дадаць усе аб’екты, вылучаныя ў бягучым наборы, перад першым удзельнікам"
 
 msgid ""
-"Select relation members which refer to objects in the current selection"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
-"Выбраць удзельнікаў, якія спасылаюцца на аб’екты ў бягучым выдзяленні"
+"Дадаць усе аб’екты, вылучаныя ў бягучым наборы, перад першым абраным "
+"удзельнікам"
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Apply the current updates"
+msgstr "Запісаць занесеныя змены"
+
+msgid "Cancel the updates and close the dialog"
+msgstr "Адмяніць абнаўленні і зачыніць дыялог"
+
+msgid "Yes, save the changes and close"
+msgstr "Так, захаваць змены і зачыніць"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Націсніце, каб захаваць змены і зачыніць рэдактар адносін"
+
+msgid "No, discard the changes and close"
+msgstr "Не, адмяніць змены і зачыніць"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Націсніце, каб адмяніць змены і зачыніць рэдактар адносін"
+
+msgid "Cancel, continue editing"
+msgstr "Адмяніць, працягнуць рэдагаванне"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Выбраць удзельнікаў, якія спасылаюцца на аб’екты ({0}) у бягучым выдзяленні"
+"Націсніце, каб вярнуцца да рэдактара адносін і працягнуць праўку адносін"
 
-msgid "Select objects for selected relation members"
-msgstr "Вылучыць аб’екты для выбраных удзельнікаў адносін"
+msgid ""
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
+msgstr "<html>Адносіны былі зменена.<br><br>Вы хочаце захаваць змены?</html>"
 
-msgid "Sort the relation members"
-msgstr "Сартаваць удзельнікаў адносін"
+msgid "Unsaved changes"
+msgstr "Незахаваныя змены"
 
-msgid "Relation Editor: Sort"
-msgstr "Рэдактар адносін: сартаваць"
+msgid "Delete the currently edited relation"
+msgstr "Выдаліць рэдагуемыя адносіны"
 
-msgid "Sort below"
-msgstr "Сартаваць ніжэйшых"
+msgid "Relation Editor: Download Members"
+msgstr "Рэдактар адносін: запампаваць удзельнікаў"
 
-msgid "Sort the selected relation members and all members below"
-msgstr "Сартаваць выдзеленых удзельнікаў адносін і ўсіх размешчаных ніжэй"
+msgid "Download all incomplete members"
+msgstr "Запампаваць усіх няпоўных удзельнікаў"
 
-msgid "Reverse the order of the relation members"
-msgstr "Памяняць парадак удзельнікаў адносін на зваротны"
+msgid "Download Members"
+msgstr "Запампаваць удзельнікаў"
 
-msgid "Reverse"
-msgstr "У зваротным парадку"
+msgid "Download selected incomplete members"
+msgstr "Запампаваць з сервера вылучаных няпоўных удзельнікаў"
 
-msgid "Move the currently selected members up"
-msgstr "Перамясціць выдзеленых удзельнікаў адносін уверх"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Выдзелены, пры рэдагаванні адносін, удзельнік адносіцца да"
 
-msgid "Relation Editor: Move Up"
-msgstr "Рэдактар адносін: падняць"
+msgid "Relation Editor: Move Down"
+msgstr "Рэдактар адносін: апусціць"
 
 msgid "Move the currently selected members down"
 msgstr "Перамясціць выдзеленых удзельнікаў адносін ўніз"
 
-msgid "Relation Editor: Move Down"
-msgstr "Рэдактар адносін: апусціць"
+msgid "Relation Editor: Move Up"
+msgstr "Рэдактар адносін: падняць"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Выдаліць адзначаных удзельнікаў з адносін"
+msgid "Move the currently selected members up"
+msgstr "Перамясціць выдзеленых удзельнікаў адносін уверх"
+
+msgid "Apply the updates and close the dialog"
+msgstr "Ужыць абнаўленні і зачыніць дыялог"
+
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Элементы з буфера абмену не могуць быць дададзены таму, што яны не адносяцца "
+"да бягучага пласту"
+
+msgid "Relation Editor: Refresh"
+msgstr ""
+
+msgid "Refresh relation from data layer"
+msgstr ""
+
+msgid "Refresh"
+msgstr "Абнавіць"
+
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+
+msgid "Click to close window"
+msgstr ""
+
+msgid "No, continue editing"
+msgstr "Не, працягнуць праўку"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+
+msgid "Deleted relation"
+msgstr ""
 
 msgid "Relation Editor: Remove"
 msgstr "Рэдактар адносін: выдаліць"
 
-msgid "Delete the currently edited relation"
-msgstr "Выдаліць рэдагуемыя адносіны"
+msgid "Remove the currently selected members from this relation"
+msgstr "Выдаліць адзначаных удзельнікаў з адносін"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
+"Выдаліць ўсіх удзельнікаў, якія спасылалаюцца на які-небудзь з вылучаных "
+"аб’ектаў"
+
+msgid "Reverse the order of the relation members"
+msgstr "Памяняць парадак удзельнікаў адносін на зваротны"
+
+msgid "Reverse"
+msgstr "У зваротным парадку"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -8086,13 +8332,6 @@ msgstr "Так, стварыць канфлікт і зачыніць"
 msgid "Click to create a conflict and close this relation editor"
 msgstr "Пстрыкніце, каб стварыць канфлікт і зачыніць гэты рэдактар адносін"
 
-msgid "No, continue editing"
-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 "
@@ -8109,52 +8348,18 @@ msgstr ""
 "<html>У пласце ''{0}'' ужо ёсць канфлікт для аб’екта <br>''{1}''.<br>Калі "
 "ласка, спачатку ўладзьце гэты канфлікт, затым паспрабуйце зноў.</html>"
 
-msgid "Apply the current updates"
-msgstr "Запісаць занесеныя змены"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Ужыць абнаўленні і зачыніць дыялог"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Адмяніць абнаўленні і зачыніць дыялог"
-
-msgid "Yes, save the changes and close"
-msgstr "Так, захаваць змены і зачыніць"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Націсніце, каб захаваць змены і зачыніць рэдактар адносін"
-
-msgid "No, discard the changes and close"
-msgstr "Не, адмяніць змены і зачыніць"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Націсніце, каб адмяніць змены і зачыніць рэдактар адносін"
-
-msgid "Cancel, continue editing"
-msgstr "Адмяніць, працягнуць рэдагаванне"
+msgid "Select objects for selected relation members"
+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 "Незахаваныя змены"
-
-msgid "Add an empty tag"
-msgstr "Дадаць пусты тэг"
-
-msgid "Download all incomplete members"
-msgstr "Запампаваць усіх няпоўных удзельнікаў"
-
-msgid "Download Members"
-msgstr "Запампаваць удзельнікаў"
-
-msgid "Relation Editor: Download Members"
-msgstr "Рэдактар адносін: запампаваць удзельнікаў"
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+"Выбраць удзельнікаў, якія спасылаюцца на аб’екты ў бягучым выдзяленні"
 
-msgid "Download selected incomplete members"
-msgstr "Запампаваць з сервера вылучаных няпоўных удзельнікаў"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Выбраць удзельнікаў, якія спасылаюцца на аб’екты ({0}) у бягучым выдзяленні"
 
 msgid "Sets a role for the selected members"
 msgstr "Задаць ролю для вылучаных удзельнікаў"
@@ -8183,74 +8388,17 @@ msgstr "Не, не запісваць"
 msgid "Confirm empty role"
 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 "Выбраць папярэдні разрыў"
-
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr ""
-"Выбраць папярэдняга ўдзельніка адносін, які вінен у разрыве паслядоўнасці"
-
-msgid "Select next Gap"
-msgstr "Выбраць наступны разрыў"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr ""
-"Выбраць наступнага ўдзельніка адносін - вінаватага ў разрыве паслядоўнасці"
-
-msgid "Zoom to Gap"
-msgstr "Маштабаваць да разрыву"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Маштабаваць да разрыву ў паслядоўнасці лініі"
-
-msgid "Refers to"
-msgstr "Спасылаецца на"
-
-msgid "Download referring relations"
-msgstr "Сцягнуць адносіны, што спасылаюцца"
-
-msgid "There were {0} conflicts during import."
-msgstr "Падчас імпарту адбылося {0} канфлікт(аў)"
-
-msgid "including immediate children of parent relations"
-msgstr "уключаючы непасрэдныя даччыныя элементы адносін"
-
-msgid "Load parent relations"
-msgstr "Спампаваць бацькоў адносін"
-
-msgid "Reload"
-msgstr "Абнавіць"
-
-msgid "Loading parent relations"
-msgstr "Запампоўка бацькоў адносін"
-
-msgid "Edit the currently selected relation"
-msgstr "Правіць абраныя адносіны"
-
-msgid "Apply Changes"
-msgstr "Ужыць змены"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Стварыць новыя адносіны ў пласце ''{0}''"
+msgid "Relation Editor: Sort"
+msgstr "Рэдактар адносін: сартаваць"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Змяніць новыя адносіны ў пласце ''{0}''"
+msgid "Sort the relation members"
+msgstr "Сартаваць удзельнікаў адносін"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Змяніць адносіны #{0} у пласце ''{1}''"
+msgid "Sort below"
+msgstr "Сартаваць ніжэйшых"
 
-msgid "Load relation"
-msgstr "Чытанне адносін"
+msgid "Sort the selected relation members and all members below"
+msgstr "Сартаваць выдзеленых удзельнікаў адносін і ўсіх размешчаных ніжэй"
 
 msgid "way is connected"
 msgstr "лінія злучана"
@@ -8687,6 +8835,11 @@ msgid ""
 msgstr ""
 "<html>Версія<strong>{0}</ strong>Створана на<strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "Пакет правак"
 
@@ -8814,14 +8967,15 @@ msgid "Upload"
 msgstr "Адаслаць"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Вылучыце, якое дзеянне выконваць над гэтым пластом, націснуўшы на "
-"крайнюю злева кнопку.<br/>Адзначце ''upload'' для перадачы зменаў на сервер "
-"OSM.<br/>Адзначце \"Save\" для захавання пласта ў файл паказаны злева.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Пракаментуйце дадзеныя, якія перадаюцца на сервер:"
@@ -9025,9 +9179,6 @@ msgstr ""
 "Не атрымалася атрымаць інфармацыю пра бягучага карыстальніка JOSM. Памылка: "
 "{0}"
 
-msgid "Download objects"
-msgstr "Загрузіць аб’екты"
-
 msgid "Initializing nodes to download ..."
 msgstr "Ініцыялізацыя кропак для загрузкі..."
 
@@ -9662,8 +9813,8 @@ msgstr[0] "Выдаліць {0} аб’ект:"
 msgstr[1] "Выдаліць {0} аб’екта:"
 msgstr[2] "Выдаліць {0} аб’ектаў:"
 
-msgid "Show Tile Info"
-msgstr "Паказаць дадзеныя квадрата"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr "Інфармацыя пра квадрат"
@@ -9671,17 +9822,23 @@ msgstr "Інфармацыя пра квадрат"
 msgid "Metadata "
 msgstr "Метададзеныя "
 
-msgid "Auto Zoom"
-msgstr "Аўтамаштабаванне"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Аўтазагрузка квадратаў"
 
-msgid "Load All Tiles"
-msgstr "Загрузіць усе квадраты карты"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "Загрузіць усе квадраты з памылкамі"
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "Маштабаваць да зыходнага разрознення"
@@ -9689,26 +9846,17 @@ msgstr "Маштабаваць да зыходнага разрознення"
 msgid "Change resolution"
 msgstr "Змяніць разрозненне"
 
-msgid "Failed to create tile source"
-msgstr "Не атрымалася стварыць крыніцу тайлаў"
-
-msgid "Show Errors"
-msgstr "Паказаць памылкі"
-
-msgid "Load Tile"
-msgstr "Загрузіць квадрат карты"
-
 msgid "Increase zoom"
 msgstr "Павялічыць маштаб"
 
 msgid "Decrease zoom"
 msgstr "Паменшыць маштаб"
 
-msgid "Snap to tile size"
-msgstr "Прывязацца да памеру квадрата"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Ачысціць кэш квадратаў карты"
+msgid "Failed to create tile source"
+msgstr "Не атрымалася стварыць крыніцу тайлаў"
 
 msgid "zoom in to load any tiles"
 msgstr "наблізьце для загрузкі квадратаў"
@@ -10159,6 +10307,9 @@ msgstr ""
 "Памылка пры разборы зрушэння.\n"
 "Чаканы фармат: {0}"
 
+msgid "Geotagged Images"
+msgstr "Малюнкі з дадзенымі пра месцазнаходжанне"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Выманне GPS каардынат з EXIF"
 
@@ -10183,9 +10334,6 @@ msgstr "Памылка чытання файлаў у каталогу {0}\n"
 msgid "One of the selected files was null"
 msgstr "Адзін з вылучаных файлаў пусты"
 
-msgid "Geotagged Images"
-msgstr "Малюнкі з дадзенымі пра месцазнаходжанне"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "Загружана {0} малюнак."
@@ -10586,12 +10734,8 @@ msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 "Не атрымалася выканаць разбор стыляў Mappaint з ''{0}''. Памылка: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Выяўлены не рэкамендуемы ''{0}'' у ''{1}'', які неўзабаве будзе выдалены. "
-"Выкарыстоўвайце наўзамен ''{2}''."
+msgid "Failed to locate image ''{0}''"
+msgstr "Збой пошуку выявы ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Няслушны шаблон перарывістай лініі, значэнне павінна быць дадатным"
@@ -10640,6 +10784,12 @@ msgstr "URL маркера доступу"
 msgid "Authorize URL:"
 msgstr "URL аўтарызацыі:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Націсніце, каб скінуць налады OAuth да значэнняў па змаўчанні"
 
@@ -10713,13 +10863,6 @@ msgstr "Карыстальнік: "
 msgid "Password: "
 msgstr "Пароль: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Увага:</strong> JOSM ажыццяўляе ўваход <strong>адзін раз</strong>, "
-"выкарыстоўваючы абароненае злучэнне."
-
 msgid "Granted rights"
 msgstr "Даць правы"
 
@@ -10860,6 +11003,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Калі ласка, абярыце спосаб аўтарызацыі: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Атрымаць маркер доступу для ''{0}''"
 
@@ -11263,6 +11412,15 @@ msgstr "Зарэгістраванае дзеянне на панэлі {0} пе
 msgid "Toolbar: {0}"
 msgstr "Панэль прылад: {0}"
 
+msgid "add entry"
+msgstr "дадаць запіс"
+
+msgid "Remove the selected entry"
+msgstr "Выдаліць абраны запіс"
+
+msgid "Key: {0}"
+msgstr "Ключ: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Пашыраныя налады"
 
@@ -11351,18 +11509,9 @@ msgstr "Абярыце файл профіля"
 msgid "Change list setting"
 msgstr "Змяніць параметры спісу"
 
-msgid "Key: {0}"
-msgstr "Ключ: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Змяніць параметры спісу спісаў"
 
-msgid "add entry"
-msgstr "дадаць запіс"
-
-msgid "Remove the selected entry"
-msgstr "Выдаліць абраны запіс"
-
 msgid "Change list of maps setting"
 msgstr "Змяніць параметры спісу карт"
 
@@ -12062,9 +12211,6 @@ msgstr "скапіяваць абраныя з даступных па змаў
 msgid "Please select at least one row to copy."
 msgstr "Калі ласка, абярыце, хоць бы адзін радок для капіявання."
 
-msgid "reload defaults"
-msgstr "перазагрузіць даступныя па змаўчанні"
-
 msgid "Menu Name"
 msgstr "Назва меню"
 
@@ -12379,6 +12525,9 @@ msgstr[1] ""
 msgstr[2] ""
 "Спампоўка з сервера наступных {0} модуляў <strong>не атрымалася</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Паведамленне пра памылку (без перакладу): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Калі ласка, перазапусціце JOSM, каб актываваць загружаныя модулі."
 
@@ -12898,7 +13047,7 @@ msgid "Overpass server: "
 msgstr "Сервер Overpass: "
 
 msgid "Overpass server"
-msgstr ""
+msgstr "Сервер Overpass"
 
 msgid "Proxy settings"
 msgstr "Налады проксі-сервера"
@@ -13066,12 +13215,6 @@ msgstr "Лікавыя значэнні"
 msgid "Checks for wrong numeric values"
 msgstr "Праверка на няправільныя лікавыя значэнні"
 
-msgid "Power"
-msgstr "Электраэнергія"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Праверка на памылкі інфраструктуры электразабеспячэння"
-
 msgid "Religion"
 msgstr "Рэлігія"
 
@@ -13162,6 +13305,9 @@ msgstr "Выкарыстоўваць нарыхтоўку ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Падтрымліваецца элемент тыпу {0}."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "Змяніць таксама..."
 
@@ -13234,6 +13380,9 @@ msgstr "Пошук нарыхтовак"
 msgid "Presets"
 msgstr "Нарыхтоўкі"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "Пошук аб’ектаў па нарыхтоўцы"
 
@@ -13287,6 +13436,9 @@ msgstr ""
 "Сапсаваная нарыхтоўка тэгаў \"{0}-{1}\" - колькасць элементаў у "
 "''short_descriptions'' павінна быць такім жа, як і ў ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Падрабязней"
 
@@ -13384,16 +13536,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "false: параметр відавочна выключаны"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "true: параметр відавочна ўключаны"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "часткова: вылучаныя аб’екты маюць розныя значэнні, не змяняйце"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "абнуліць: не ўсталёўваць гэты параметр для выбраных аб’ектаў"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "Выразаць"
 
@@ -13938,6 +14104,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Неспадзяванае значэнне параметру ''{0}'', роўнае ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "Файлы сервера OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Адбылася памылка пры захаванні.<br>Памылка: <br>{0}</html>"
 
@@ -13954,9 +14123,6 @@ msgstr "Файлы сервера OSM сціснуты з дапамогай gzi
 msgid "Parsing OSM history data ..."
 msgstr "Разбор дадзеных гісторыі OSM..."
 
-msgid "OSM Server Files"
-msgstr "Файлы сервера OSM"
-
 msgid "Invalid dataset"
 msgstr "Няслушны набор дадзеных"
 
@@ -14168,9 +14334,6 @@ msgstr "Перадача дадзеных на сервер ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Выяўлены нечаканы id 0 для элемента osm"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Сціснутыя zip файлы OSM сервера"
-
 msgid "Downloading data..."
 msgstr "Спампоўка дадзеных..."
 
@@ -14365,24 +14528,29 @@ msgstr ""
 "Праз Дыстанцыйнае кіраванне атрыманы запыт аб версіі пратаколу. Гэта "
 "дазволіць вэб сайтам вызначыць, ці запушчаны JOSM."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Версія ''{0}'' мета-дадзеных пласта geoimage не падтрымліваецца. Чакалася: "
-"0.1"
+msgid "local file"
+msgstr "лакальны файл"
+
+msgid "include"
+msgstr "уключыць"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Пласт утрымоўвае незахаваныя дадзеныя - захаваць у файл."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Пласт не ўтрымоўвае незахаваных дадзеных."
 
 msgid "Data:"
 msgstr "Дадзеныя:"
 
-msgid "local file"
-msgstr "лакальны файл"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Спасылка на OSM-файл на лакальным дыску"
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Спасылка на GPX-файл на вашым лакальным дыску."
+msgid "Include OSM data in the .joz session file."
+msgstr "Уключыць дадзеныя OSM у файл сеансу .joz."
 
-msgid "include"
-msgstr "уключыць"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Уключыць дадзеныя GPX у файл сеансу .joz."
@@ -14393,6 +14561,16 @@ msgstr "Тып файла не зарэгістраваны"
 msgid "GPX data will be included in the session file."
 msgstr "Дадзеныя GPX будуць уключаны ў файл сеансу."
 
+msgid "OSM data will be included in the session file."
+msgstr "Дадзеныя OSM будуць уключаны ў файл сеансу."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Версія ''{0}'' мета-дадзеных пласта geoimage не падтрымліваецца. Чакалася: "
+"0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14415,20 +14593,9 @@ msgstr ""
 "Версія ''{0}'' метададзеных для пласта маркераў не падтрымліваецца. "
 "Чакалася: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Пласт утрымоўвае незахаваныя дадзеныя - захаваць у файл."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Пласт не ўтрымоўвае незахаваных дадзеных."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Спасылка на OSM-файл на лакальным дыску"
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Уключыць дадзеныя OSM у файл сеансу .joz."
-
-msgid "OSM data will be included in the session file."
-msgstr "Дадзеныя OSM будуць уключаны ў файл сеансу."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15328,9 +15495,6 @@ msgstr ""
 "шмат дадзеных.<br>Вылучыце меншую вобласць ці скарыстайцеся сродкамі "
 "экспарту файлаў OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Паведамленне пра памылку (без перакладу): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15375,6 +15539,9 @@ msgstr "Загрузка перанакіравана на ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Выяўлена занадта шмат перанакіраванняў на URL загрузкі. Адмена."
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Немагчыма знайсці пераклад {0}. Вернута да {1}."
 
@@ -15385,9 +15552,6 @@ msgstr ""
 "Сур’ёзная памылка: не ўдалося знайсці выявы ''{0}''. Гэта з’яўляецца "
 "сур’ёзнай праблемай налад. JOSM не працуе."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Збой пошуку выявы ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Не атрымалася апрацаваць zip-файл ''{0}''. Паўстала выключэнне: {1}"
 
@@ -15543,6 +15707,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr "мс"
 
@@ -15874,9 +16041,6 @@ msgstr "Адкрыць абраны файл"
 msgid "Open selected file."
 msgstr "Адкрыць абраны файл"
 
-msgid "Refresh"
-msgstr "Абнавіць"
-
 msgid "Rename File"
 msgstr "Пераназваць файл"
 
@@ -15970,6 +16134,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Грамадскі транспарт (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (нямецкі стыль)"
 
@@ -16036,6 +16203,9 @@ msgstr "OSM Inspector: Адрасы"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Межы (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI чорна-белая 2.5м"
 
@@ -16132,13 +16302,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW (allonie) лічбавыя выявы PICC"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW (allonie) 2012 аэрафотаздымкі"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW (allonie) 2009 аэрафотаздымкі"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -16261,6 +16434,9 @@ msgstr "SIG LR - Лангедок-Русільён 2012 - 20 см"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Тулуза - артафотаплан 2013"
 
@@ -16281,9 +16457,6 @@ msgid ""
 "- 1 m"
 msgstr "Веркор - запаведнік горнага масіва Веркор - артафота 1999 - 1 м"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Сербская мова)"
 
@@ -16354,6 +16527,15 @@ msgstr "Здымкі з дрону 2014 (Гаіці)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ірландыя Міністэрства абароны Вялікабрытаніі 1:25000 GSGS 3906"
 
@@ -16388,11 +16570,14 @@ msgstr "OSMIE - мясцовыя выбарчыя акругі"
 msgid "OSMIE Dail Election Areas"
 msgstr "OSMIE - выбарчыя акругі Палаты прадстаўнікоў (Дойл Эрэн)"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr "Лодзі - Італія"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Ламбардыя - Італія (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr ""
 
 msgid "Sicily - Italy"
 msgstr "Сіцылія - Італія"
@@ -17111,6 +17296,9 @@ msgstr "Падпампоўвае новыя дадзеныя пры панара
 msgid "Create a grid of ways."
 msgstr "Стварае сетку з ліній."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -17870,6 +18058,105 @@ msgstr "абмежавана"
 msgid "Brand"
 msgstr "Брэнд"
 
+msgid "Cuisine"
+msgstr "Кухня"
+
+msgid "italian"
+msgstr "італьянская"
+
+msgid "chinese"
+msgstr "кітайская"
+
+msgid "pizza"
+msgstr "піца"
+
+msgid "burger"
+msgstr "бутэрброды"
+
+msgid "greek"
+msgstr "грэцкая"
+
+msgid "german"
+msgstr "нямецкая"
+
+msgid "indian"
+msgstr "індыйская"
+
+msgid "regional"
+msgstr "мясцовая"
+
+msgid "kebab"
+msgstr "кебаб/шашлык"
+
+msgid "turkish"
+msgstr "турэцкая"
+
+msgid "asian"
+msgstr "азіяцкая"
+
+msgid "thai"
+msgstr "тайская"
+
+msgid "mexican"
+msgstr "мексіканская"
+
+msgid "japanese"
+msgstr "японская"
+
+msgid "french"
+msgstr "французская"
+
+msgid "sandwich"
+msgstr "сэндвічы"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "сушы"
+
+msgid "steak_house"
+msgstr "стэйк хаўз"
+
+msgid "fish_and_chips"
+msgstr "рыба і чыпсы"
+
+msgid "chicken"
+msgstr "кураціна"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "марожанае"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Кропка доступу ў інтэрнэт"
 
@@ -18441,8 +18728,11 @@ msgstr "Макс. маса (у тонах)"
 msgid "Toll"
 msgstr "Платная"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "Ці вадаём перасыхае (перыядычна знікае)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
+msgstr ""
 
 msgid "In the tidal range"
 msgstr "У зоне прыліву"
@@ -19054,7 +19344,7 @@ msgstr "ходнік"
 
 msgctxt "footway"
 msgid "crossing"
-msgstr ""
+msgstr "пешаходны пераход"
 
 msgid "Steps"
 msgstr "Прыступкі"
@@ -19099,13 +19389,13 @@ msgid "Escalator"
 msgstr "Эскалатар"
 
 msgid "forward"
-msgstr ""
+msgstr "па кірунку лініі"
 
 msgid "backward"
-msgstr ""
+msgstr "супраць кірунку лініі"
 
 msgid "reversible"
-msgstr ""
+msgstr "са зменным напрамкам"
 
 msgid "Waypoints"
 msgstr "Дарожныя кропкі"
@@ -19212,26 +19502,30 @@ msgstr "Пры наяўнасці святлафора:"
 msgid "Traffic Calming"
 msgstr "Прыстасаванне для абмежавання хуткасці"
 
-msgid "bump"
-msgstr "ляжачы паліцыянт"
+msgid "Bump"
+msgstr ""
 
-msgid "chicane"
-msgstr "зігзагападобныя перашкоды"
+msgid "Chicane"
+msgstr ""
+
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
-msgstr "звужэнне"
+msgid "Cushion"
+msgstr ""
 
-msgid "cushion"
-msgstr "ляжачы паліцэйскі з разрывамі"
+msgid "Hump"
+msgstr ""
 
-msgid "hump"
-msgstr "шырокі ляжачы паліцыянт"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "\"пральная дошка\""
+msgid "Rumble strip"
+msgstr ""
 
-msgid "table"
-msgstr "стол"
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Месца раз’езду"
@@ -19382,6 +19676,9 @@ msgstr "Гарадская сцяна"
 msgid "Retaining Wall"
 msgstr "Падпорная сценка"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Канава"
@@ -19553,6 +19850,9 @@ msgstr "рака"
 msgid "Salt Water"
 msgstr "Салёная вада"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "Ці вадаём перасыхае (перыядычна знікае)?"
+
 msgid "Coastline"
 msgstr "Берагавая лінія"
 
@@ -19616,16 +19916,6 @@ msgid ""
 msgstr ""
 "Вялікі водны ўчастак, часткова абмежаваны сушай, але мае шырокае вусце"
 
-msgid "Cliff"
-msgstr "Уцёс"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Стромкі скальны абрыў з блізкімі да вертыкалі схіламі (скала павінна быць "
-"злева ад лініі, абрыў — справа)."
-
 msgid "Shipping"
 msgstr "Суднаходства"
 
@@ -19907,7 +20197,7 @@ msgid "Railway Switch"
 msgstr "Чыгуначная стрэлка"
 
 msgid "Railway Signal"
-msgstr ""
+msgstr "Семафор"
 
 msgid "Railway milestone"
 msgstr "Чыгуначны кіламетровы слупок"
@@ -20557,66 +20847,6 @@ msgstr "Ежа і напоі"
 msgid "Restaurant"
 msgstr "Рэстаран"
 
-msgid "Cuisine"
-msgstr "Кухня"
-
-msgid "italian"
-msgstr "італьянская"
-
-msgid "chinese"
-msgstr "кітайская"
-
-msgid "pizza"
-msgstr "піца"
-
-msgid "burger"
-msgstr "бутэрброды"
-
-msgid "greek"
-msgstr "грэцкая"
-
-msgid "german"
-msgstr "нямецкая"
-
-msgid "indian"
-msgstr "індыйская"
-
-msgid "regional"
-msgstr "мясцовая"
-
-msgid "kebab"
-msgstr "кебаб/шашлык"
-
-msgid "turkish"
-msgstr "турэцкая"
-
-msgid "asian"
-msgstr "азіяцкая"
-
-msgid "thai"
-msgstr "тайская"
-
-msgid "mexican"
-msgstr "мексіканская"
-
-msgid "japanese"
-msgstr "японская"
-
-msgid "french"
-msgstr "французская"
-
-msgid "sandwich"
-msgstr "сэндвічы"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "сушы"
-
-msgid "steak_house"
-msgstr "стэйк хаўз"
-
 msgid "Microbrewery"
 msgstr "Бровар"
 
@@ -20629,20 +20859,14 @@ msgstr "Стравы на вынас"
 msgid "Fast Food"
 msgstr "Фаст-фуд"
 
-msgid "fish_and_chips"
-msgstr "рыба і чыпсы"
-
-msgid "chicken"
-msgstr "кураціна"
-
 msgid "Food Court"
 msgstr "Рэстаранны панадворак"
 
 msgid "Cafe"
 msgstr "Кафэ"
 
-msgid "ice_cream"
-msgstr "марожанае"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Піўная"
@@ -20819,6 +21043,12 @@ msgstr "Парк забавак/Тэматычны парк"
 msgid "Water Park"
 msgstr "Аквапарк"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Сауна"
 
@@ -20853,9 +21083,6 @@ msgstr "Кастрышча"
 msgid "Fishing"
 msgstr "Месца для рыбалкі"
 
-msgid "Private Swimming Pool"
-msgstr "Прыватны плавальны басейн"
-
 msgid "Night Club"
 msgstr "Начны клуб"
 
@@ -20898,12 +21125,18 @@ msgstr "статуя"
 msgid "Artist Name"
 msgstr "Аўтар"
 
-msgid "Recording Studio"
-msgstr "Студыя гукапісу"
+msgid "Studio"
+msgstr "Студыя"
 
 msgid "audio"
 msgstr "аўдыё"
 
+msgid "radio"
+msgstr "радыё"
+
+msgid "television"
+msgstr "тэлебачанне"
+
 msgid "video"
 msgstr "відэа"
 
@@ -21007,6 +21240,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "царква адвентыстаў сёмага дня"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr "спірытызм"
+
 msgid "Mosque"
 msgstr "Мячэць"
 
@@ -21166,9 +21403,128 @@ msgstr "(Выкарыстоўвайце міжнародны код, напры
 msgid "Veterinary"
 msgstr "Ветэрынарыя"
 
-msgid "Social Facility"
+msgid "Emergency"
 msgstr ""
 
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Аўтаматызаваны дэфібрылятар"
+
+msgid "Located inside a building?"
+msgstr "Размешчаны ўсярэдзіне будынка?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Дата апошняй праверкі (ГГГГ-ММ-ДД)"
+
+msgid "Last check note"
+msgstr "Заўвагі апошняй праверкі"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr "У памяшканні"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Пажарны кран"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "падземны"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "слуп"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "насценны"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "сажалка"
+
+msgid "Diameter (in mm)"
+msgstr "Дыяметр (у мм)"
+
+msgid "Hydrant Position"
+msgstr "Размяшчэнне"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "паласа"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "аўтастаянка"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "ходнік"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "зялёны"
+
+msgid "Pressure (in bar)"
+msgstr "Ціск (у барах)"
+
+msgid "suction"
+msgstr "усмоктванне"
+
+msgid "Count"
+msgstr "Колькасць"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr "Месца збору"
+
+msgid "Emergency Phone"
+msgstr "Тэлефон экстранага выкліку"
+
+msgid "Siren"
+msgstr "Сірэна"
+
+msgid "pneumatic"
+msgstr "пнеўматычная"
+
+msgid "electronic"
+msgstr "электронная"
+
+msgid "mechanical"
+msgstr "механічная"
+
+msgid "Purpose"
+msgstr "Приыначэнне"
+
+msgid "tornado"
+msgstr "тарнада"
+
+msgid "fire"
+msgstr "пажар"
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr "грамадзянская абарона"
+
+msgid "Range (in meters)"
+msgstr ""
+
+msgid "Social Facility"
+msgstr "Сацыяльныя паслугі"
+
 msgid "Nursing Home"
 msgstr "Дом састарэлых (састарэлы тэг)"
 
@@ -21186,10 +21542,10 @@ msgstr ""
 
 msgctxt "social_facility"
 msgid "Shelter"
-msgstr ""
+msgstr "Прытулак"
 
 msgid "Food Bank"
-msgstr ""
+msgstr "Харчаванне"
 
 msgid "Toilets/Restrooms"
 msgstr "Грамадскі туалет"
@@ -21278,24 +21634,9 @@ msgstr "Банкноты"
 msgid "Telephone cards"
 msgstr "Тэлефонныя карты"
 
-msgid "Emergency Phone"
-msgstr "Тэлефон экстранага выкліку"
-
 msgid "Internet Access"
 msgstr "Доступ у інтэрнэт"
 
-msgid "Automated Defibrillator"
-msgstr "Аўтаматызаваны дэфібрылятар"
-
-msgid "Located inside a building?"
-msgstr "Размешчаны ўсярэдзіне будынка?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Дата апошняй праверкі (ГГГГ-ММ-ДД)"
-
-msgid "Last check note"
-msgstr "Заўвагі апошняй праверкі"
-
 msgid "Clock"
 msgstr "Гадзіннік"
 
@@ -21458,64 +21799,15 @@ msgctxt "height"
 msgid "full"
 msgstr "поўная"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Утоеная"
+msgstr ""
 
 msgid "Lock"
 msgstr "Замыкаецца"
 
-msgid "Indoor"
-msgstr "У памяшканні"
-
-msgid "Fire Hydrant"
-msgstr "Пажарны кран"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "падземны"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "слуп"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "насценны"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "сажалка"
-
-msgid "Diameter (in mm)"
-msgstr "Дыяметр (у мм)"
-
-msgid "Hydrant Position"
-msgstr "Размяшчэнне"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "паласа"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "аўтастаянка"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "ходнік"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "зялёны"
-
-msgid "Pressure (in bar)"
-msgstr "Ціск (у барах)"
-
-msgid "suction"
-msgstr "усмоктванне"
-
-msgid "Count"
-msgstr "Колькасць"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr "Кампрэсар для шын"
@@ -21568,9 +21860,62 @@ msgstr "тартан"
 msgid "Racetrack"
 msgstr "Трэк"
 
+msgid "Golf"
+msgstr "Гольф"
+
 msgid "Golf Course"
 msgstr "Поле для гольфа"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Мінігольф"
 
@@ -21795,9 +22140,6 @@ msgstr "Пляжны валейбол"
 msgid "Billiards"
 msgstr "Більярд"
 
-msgid "Golf"
-msgstr "Гольф"
-
 msgid "golf_course"
 msgstr "поле для гольфа"
 
@@ -21931,7 +22273,7 @@ msgstr "лякарня"
 
 msgctxt "building"
 msgid "kindergarten"
-msgstr ""
+msgstr "дзіцячы садок"
 
 msgctxt "building"
 msgid "manufacture"
@@ -21962,6 +22304,10 @@ msgid "gasometer"
 msgstr "газасховішча"
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "кароўнік"
 
@@ -21970,6 +22316,38 @@ msgid "construction"
 msgstr "будаўніцтва"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "базіліка"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "сабор"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "капліца"
+
+msgctxt "building"
+msgid "church"
+msgstr "царква"
+
+msgctxt "building"
+msgid "temple"
+msgstr "храм"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "мячэт"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "сінагога"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Паверхі"
 
@@ -22082,6 +22460,9 @@ msgstr "Вятрак"
 msgid "Gasometer"
 msgstr "Газасховішча"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "Рэзервуар"
 
@@ -22463,7 +22844,7 @@ msgstr "Контур моста"
 
 msgctxt "preset group"
 msgid "Military"
-msgstr ""
+msgstr "Вайсковыя абʼекты"
 
 msgid "Airfield"
 msgstr "Аэрадром"
@@ -22483,6 +22864,14 @@ msgstr "склады"
 msgid "hardened_aircraft_shelter"
 msgstr "умацаваны ангар"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "падземны"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "на паверхні"
+
 msgid "Historic"
 msgstr "Мае гістарычнае значэнне"
 
@@ -22492,6 +22881,9 @@ msgstr "Разваліны"
 msgid "Range"
 msgstr "Агнявы рубеж"
 
+msgid "Power"
+msgstr "Электраэнергія"
+
 msgid "Power Plant"
 msgstr "Электрастанцыя"
 
@@ -22925,11 +23317,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Размеркавальная шафа"
+msgid "Power Street Cabinet"
+msgstr "Трасфарматарная будка"
 
-msgid "Power Tower"
-msgstr "Апора ЛЭП"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr "Канструкцыя"
@@ -22950,6 +23345,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "чырвона-белая"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr "партал"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "двухузроўневы партал"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "трохузроўневы партал"
+
+msgid "Power Tower"
+msgstr "Апора ЛЭП"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Тып апоры"
@@ -23073,18 +23486,6 @@ msgid "guyed_h-frame"
 msgstr "H-вобразная з расцяжкамі"
 
 msgctxt "power"
-msgid "portal"
-msgstr "партал"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "двухузроўневы партал"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "трохузроўневы партал"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "V-вобразная з расцяжкамі"
 
@@ -23117,6 +23518,9 @@ msgstr "Уласцівасці слупа:"
 msgid "Transformer Attributes:"
 msgstr "Уласцівасці трансфарматара:"
 
+msgid "Insulator"
+msgstr "Ізалятар"
+
 msgid "Power Line"
 msgstr "Лінія электраперадач"
 
@@ -23374,6 +23778,9 @@ msgstr "Мэблевы"
 msgid "Kitchen"
 msgstr "Кухня"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Запавесы"
 
@@ -23416,12 +23823,21 @@ msgstr "Для цела"
 msgid "Chemist"
 msgstr "Побытавая хімія"
 
-msgid "Hairdresser/Barber"
-msgstr "Цырульня"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "Салон прыгажосці"
 
+msgid "Tobacco"
+msgstr "Табак"
+
+msgid "Hairdresser/Barber"
+msgstr "Цырульня"
+
 msgid "Tattoo"
 msgstr "Татуяванне"
 
@@ -23747,6 +24163,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Тэлекамунікацыйная кампанія"
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Геаграфія"
 
@@ -23916,6 +24407,16 @@ msgstr "Даліна"
 msgid "A low area between hills."
 msgstr "Лінейна выцягнутая вобласць паніжанага рэльефу паміж узгоркамі"
 
+msgid "Cliff"
+msgstr "Уцёс"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Стромкі скальны абрыў з блізкімі да вертыкалі схіламі (скала павінна быць "
+"злева ад лініі, абрыў — справа)."
+
 msgid "Cave Entrance"
 msgstr "Уваход у пячору"
 
@@ -24128,6 +24629,51 @@ msgstr "Сенажаць"
 msgid "Orchard"
 msgstr "Фруктовы сад"
 
+msgid "Trees"
+msgstr "Дрэвы"
+
+msgid "olive_trees"
+msgstr "аліўкавыя дрэвы"
+
+msgid "apple_trees"
+msgstr "яблыні"
+
+msgid "oil_palms"
+msgstr "аліейныя пальмы"
+
+msgid "orange_trees"
+msgstr "апельсін"
+
+msgid "almond_trees"
+msgstr "міндаль"
+
+msgid "banana_plants"
+msgstr "бананы"
+
+msgid "coconut_palms"
+msgstr "какосавыя пальмы"
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr "вішні"
+
+msgid "persimmon_trees"
+msgstr "хурма"
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr "слівы"
+
+msgid "peach_trees"
+msgstr "персікі"
+
+msgid "tea_plants"
+msgstr "чай"
+
 msgid "Vineyard"
 msgstr "Вінаграднікі"
 
@@ -24926,9 +25472,6 @@ msgstr "{0} і {1} разам з {2} і значэннямі, якія канф
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Падазронае спалучэнне тэгаў: {0} і {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} выкарыстоўваць не рэкамендуецца"
-
 msgid "{0} is deprecated"
 msgstr "{0} састарэлы"
 
@@ -24955,10 +25498,8 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
-"{0}={1} з’яўляецца састарэлым. Калі ласка, выкарыстоўвайце замест "
-"мультыпалігон."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -25011,6 +25552,15 @@ msgstr "незвычайна кароткі ключ"
 msgid "{0} is inaccurate"
 msgstr "{0} — недакладнае значэнне"
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} на кропцы. Павінен выкарыстоўвацца на лініі."
 
@@ -25026,6 +25576,9 @@ msgstr "{0} на лініі. Варта выкарыстоўваць на кро
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} на лініі. Павінен выкарыстоўвацца ў адносінах"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} на кропцы"
 
@@ -25053,6 +25606,9 @@ msgstr "{0} павінен быць злучаны з лініяй"
 msgid "node connects waterway and bridge"
 msgstr "кропка злучае водны шлях і мост"
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "скарочанае пазначэнне вуліцы"
 
@@ -25096,8 +25652,8 @@ msgstr "тэг layer са знакам +"
 msgid "layer should be between -5 and 5"
 msgstr "узровень павінен быць ад -5 да 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "level павінен быць лікам з прырашчэннем 0.5"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr ""
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -28837,7 +29393,7 @@ msgstr "здымкі"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -29157,6 +29713,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr "Загрузка здымкаў Mapillary"
 
@@ -29172,6 +29731,18 @@ msgstr "Адсылка скончана"
 msgid "Uploading: {0}"
 msgstr "Адсылаецца: {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Вымераныя значэнні"
 
@@ -30238,7 +30809,7 @@ msgid "coordinates"
 msgstr "каардынаты"
 
 msgid "Latitude and longitude"
-msgstr ""
+msgstr "Шырата і даўгата"
 
 msgid "Edit Image Coordinates"
 msgstr ""
@@ -30250,28 +30821,28 @@ msgid "altitude"
 msgstr ""
 
 msgid "Altitude:"
-msgstr ""
+msgstr "Вышыня:"
 
 msgid "speed"
-msgstr ""
+msgstr "хуткасць"
 
 msgid "positive number or empty"
 msgstr ""
 
 msgid "Speed:"
-msgstr ""
+msgstr "Хуткасць:"
 
 msgid "direction"
-msgstr ""
+msgstr "напрамак"
 
 msgid "range -360.0 .. 360.0, or empty"
 msgstr ""
 
 msgid "Direction:"
-msgstr ""
+msgstr "Напрамак:"
 
 msgid "°"
-msgstr ""
+msgstr "°"
 
 msgid "Undo changes made in this dialog"
 msgstr ""
@@ -30593,6 +31164,12 @@ msgstr "Модуль Proj4J"
 msgid "Code"
 msgstr "Код"
 
+msgid "Can''t parse a time from this string."
+msgstr "Немагчыма разабраць час з гэтай паслядоўнасці."
+
+msgid "Invalid value"
+msgstr "Няправільнае значэнне"
+
 msgid "added"
 msgstr "дададзены"
 
@@ -30681,15 +31258,6 @@ msgstr "Злавіць"
 msgid "Join"
 msgstr "Злучыць"
 
-msgid "Enable"
-msgstr "Уключыць"
-
-msgid "Can''t parse a time from this string."
-msgstr "Немагчыма разабраць час з гэтай паслядоўнасці."
-
-msgid "Invalid value"
-msgstr "Няправільнае значэнне"
-
 msgid "moved"
 msgstr "перамешчаны"
 
@@ -32854,6 +33422,9 @@ msgstr "Лінія з абранымі кропкамі не можа быць 
 msgid "Internal error: number of nodes is {0}."
 msgstr "Унутраная памылка: лік кропак = {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Выняць кропку"
 
@@ -33516,6 +34087,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Дадаць назвы з Вікіпедыі"
 
@@ -33607,6 +34183,3 @@ msgstr "Прыступіць да кіравання"
 
 msgid "Drive a race car on this layer"
 msgstr "Весці гоначны аўтамабіль на гэтым пласце"
-
-#~ msgid "Retirement Home"
-#~ msgstr "Дом састарэлых"
diff --git a/i18n/po/bg.po b/i18n/po/bg.po
index 43ccab7..a314173 100644
--- a/i18n/po/bg.po
+++ b/i18n/po/bg.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2015-12-03 07:25+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-01-16 14:51+0000\n"
 "Last-Translator: pl <Unknown>\n"
 "Language-Team: Bulgarian <bg at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:36+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:37+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: bg\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -398,6 +398,9 @@ msgstr ""
 "Невъзможно е съединяването на пътищата<br>(Не могат да бъдат обединени в "
 "последователна редица от точки)"
 
+msgid "Reverse Ways"
+msgstr "Промяна посоката на линиите"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Съединяване на {0} път"
@@ -453,6 +456,12 @@ msgstr "Изтриване"
 msgid "Delete selected objects."
 msgstr "Изтриване на избраните обекти."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Включване на диалоговия панел"
 
@@ -1233,9 +1242,6 @@ msgstr "Щракнете за да рестартирате по-късно."
 msgid "Reverse way"
 msgstr "Обръщане на път"
 
-msgid "Reverse Ways"
-msgstr "Промяна посоката на линиите"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Обръща посоката на линиите на всички избрани пътища."
 
@@ -1591,6 +1597,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Отделяне на точка от път"
 
@@ -1881,6 +1897,8 @@ msgstr ""
 msgid ""
 "Request a smaller area to make sure that all notes are being downloaded."
 msgstr ""
+"Заявете по-малка област за да сте сигурни, че всички бележки ще бъдат "
+"свалени."
 
 msgid "More notes to download"
 msgstr ""
@@ -2330,6 +2348,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Добавяне избраното към селекция"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Добавяне на избраните елеенти към релация {0}"
@@ -2377,6 +2400,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Потвърждение"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr "Избери в списъка с релации"
 
@@ -2739,7 +2771,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3322,9 +3357,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr " (на ред {0}, колона {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Настройката {0} беше премахната тъй като вече не се използва."
 
@@ -3383,6 +3415,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "И"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3610,6 +3645,9 @@ msgstr "текст"
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr " (на ред {0}, колона {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3688,12 +3726,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3703,6 +3753,24 @@ msgstr "Шир./Дълж. (Геодезически)"
 msgid "Mercator"
 msgstr "Проекция Меркатор"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4283,6 +4351,9 @@ msgstr "Неправилен интервал в ключ"
 msgid "Property values start or end with white space"
 msgstr "Стойност на параметър започва или завършва с интервал"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Стойности съдържащи HTML елементи"
 
@@ -4635,7 +4706,7 @@ msgid "Internal Server Error"
 msgstr "Вътрешна грешка в сървъра"
 
 msgid "Bad Request"
-msgstr "Лоша заявка"
+msgstr "Неправилна заявка"
 
 msgid "Not Found"
 msgstr "Не е намерен"
@@ -4979,9 +5050,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -5040,12 +5108,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Географска ширина на показалеца на мишката."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Географската дължина на показалеца на мишката."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Направлението на създавания линеен сегмент."
 
@@ -5072,6 +5134,18 @@ msgstr "Потребител:"
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Географска ширина на показалеца на мишката."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Географската дължина на показалеца на мишката."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5892,6 +5966,18 @@ msgstr "Разрешаване"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "Отваряне диалог за сливане на избраните обекти от горния списък."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -6009,6 +6095,9 @@ msgstr "Преместване филтъра надолу"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6434,6 +6523,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6783,19 +6875,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr "Сваляне на съдържание"
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6897,6 +6983,18 @@ msgstr "Отворен"
 msgid "closed"
 msgstr "Затворен"
 
+msgid "Download content"
+msgstr "Сваляне на съдържание"
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr "Списък с промени ID: "
 
@@ -7224,8 +7322,8 @@ msgstr "Редактиране стойността на избрания клю
 msgid "Edit Tags"
 msgstr "Редактиране на тагове"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Отваряне на уики страницата за този таг (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr ""
@@ -7260,6 +7358,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Търсене на ключ/стойност/тип"
 
@@ -7327,6 +7428,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Разреши"
+
+msgid "Hide"
+msgstr "Скривалище"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7439,9 +7561,6 @@ msgstr "Нова релация"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7472,108 +7591,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-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"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Select next Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid "Sort the relation members"
-msgstr "Сортиране на членовете на релацията"
-
-msgid "Relation Editor: Sort"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Sort below"
-msgstr ""
+msgid "Refers to"
+msgstr "Отнася се за"
 
-msgid "Sort the selected relation members and all members below"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Reverse"
-msgstr "Обръщане"
-
-msgid "Move the currently selected members up"
-msgstr "Преместване на текущо избраните членове нагоре"
+msgid "There were {0} conflicts during import."
+msgstr "{0} конфликт(а) при въвеждането"
 
-msgid "Relation Editor: Move Up"
-msgstr "Редактор на релации: Преместване нагоре"
+msgid "including immediate children of parent relations"
+msgstr "включително непосредствените наследници на родителските релации"
 
-msgid "Move the currently selected members down"
-msgstr "Преместване на текущо избраните членове надолу"
+msgid "Load parent relations"
+msgstr "Зареди родителските релации"
 
-msgid "Relation Editor: Move Down"
-msgstr "Редактор на релации: Преместване надолу"
+msgid "Reload"
+msgstr "Презареди"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Премахване на текущо избраните членове от тази релация"
+msgid "Loading parent relations"
+msgstr "Зареждане на родителските релации"
 
-msgid "Relation Editor: Remove"
-msgstr "Редактор на релации: Премахване"
+msgid "Edit the currently selected relation"
+msgstr ""
 
-msgid "Delete the currently edited relation"
-msgstr "Изтриване на текущо редактираната врзка"
+msgid "Apply Changes"
+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 ""
+msgid "Create new relation in layer ''{0}''"
+msgstr "Създаване на нова релация в слой \"{0}\""
 
-msgid "Yes, create a conflict and close"
-msgstr "Да, създай конфликт и затвори"
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Редактиране на нова релация в слой ''{0}''"
 
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Редактиране на релация #{0} в слой ''{1}''"
 
-msgid "No, continue editing"
-msgstr "Не, продължава редактирането"
+msgid "Load relation"
+msgstr "Зареждане на релация"
 
-msgid "Click to return to the relation editor and to resume relation editing"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr "Прилагане на обновяването и затваряне на прозореца."
-
 msgid "Cancel the updates and close the dialog"
 msgstr "Прекъсване на обновяването и затваряне на диалоговия прозорец"
 
@@ -7592,6 +7686,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7600,8 +7697,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr "Незаписани промени"
 
-msgid "Add an empty tag"
-msgstr "Добави празен етикет"
+msgid "Delete the currently edited relation"
+msgstr "Изтриване на текущо редактираната врзка"
+
+msgid "Relation Editor: Download Members"
+msgstr "Редактор на релации: Сваляне на членове"
 
 msgid "Download all incomplete members"
 msgstr ""
@@ -7609,102 +7709,152 @@ msgstr ""
 msgid "Download Members"
 msgstr "Сваляне членове"
 
-msgid "Relation Editor: Download Members"
-msgstr "Редактор на релации: Сваляне на членове"
-
 msgid "Download selected incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
-msgstr "Установява роля за избраните членове"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr ""
 
-msgid "Apply Role"
-msgstr "Приложи роля"
+msgid "Relation Editor: Move Down"
+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] ""
+msgid "Move the currently selected members down"
+msgstr "Преместване на текущо избраните членове надолу"
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Relation Editor: Move Up"
+msgstr "Редактор на релации: Преместване нагоре"
+
+msgid "Move the currently selected members up"
+msgstr "Преместване на текущо избраните членове нагоре"
+
+msgid "Apply the updates and close the dialog"
+msgstr "Прилагане на обновяването и затваряне на прозореца."
+
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Yes, apply it"
-msgstr "Да, приложи го!"
+msgid "Refresh relation from data layer"
+msgstr ""
 
-msgid "No, do not apply"
-msgstr "Не, не прилагай!"
+msgid "Refresh"
+msgstr "Обновяване"
 
-msgid "Confirm empty role"
-msgstr "Потвърди празна роля"
+msgid "Yes, discard changes and reload"
+msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
 msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "No, continue editing"
+msgstr "Не, продължава редактирането"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Relation Editor: Remove"
+msgstr "Редактор на релации: Премахване"
+
+msgid "Remove the currently selected members from this relation"
+msgstr "Премахване на текущо избраните членове от тази релация"
+
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Reverse"
+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 ""
 
-msgid "Refers to"
-msgstr "Отнася се за"
+msgid "Yes, create a conflict and close"
+msgstr "Да, създай конфликт и затвори"
 
-msgid "Download referring relations"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "{0} конфликт(а) при въвеждането"
+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 ""
 
-msgid "including immediate children of parent relations"
-msgstr "включително непосредствените наследници на родителските релации"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
 
-msgid "Load parent relations"
-msgstr "Зареди родителските релации"
+msgid "Select objects for selected relation members"
+msgstr ""
 
-msgid "Reload"
-msgstr "Презареди"
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
 
-msgid "Loading parent relations"
-msgstr "Зареждане на родителските релации"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Sets a role for the selected members"
+msgstr "Установява роля за избраните членове"
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
 msgstr ""
 
-msgid "Apply Changes"
-msgstr "Приложи промените"
+msgid "Do you really want to apply the new role?"
+msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Създаване на нова релация в слой \"{0}\""
+msgid "Yes, apply it"
+msgstr "Да, приложи го!"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Редактиране на нова релация в слой ''{0}''"
+msgid "No, do not apply"
+msgstr "Не, не прилагай!"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Редактиране на релация #{0} в слой ''{1}''"
+msgid "Confirm empty role"
+msgstr "Потвърди празна роля"
 
-msgid "Load relation"
-msgstr "Зареждане на релация"
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr "Сортиране на членовете на релацията"
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "пътят е съединен"
@@ -8095,6 +8245,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8211,10 +8366,14 @@ msgid "Upload"
 msgstr "Качване"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8396,9 +8555,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8851,7 +9007,7 @@ msgid "Please select the upload strategy:"
 msgstr ""
 
 msgid "Upload data in one request"
-msgstr ""
+msgstr "Качване на данните в една заявка"
 
 msgid "Upload data in chunks of objects. Chunk size: "
 msgstr ""
@@ -8879,15 +9035,15 @@ msgid ""
 msgstr ""
 
 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} заявка)"
+msgstr[1] "({0} заявки)"
 
 msgid "Illegal chunk size <= 0. Please enter an integer > 1"
 msgstr ""
@@ -8925,7 +9081,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} обект за изтриване:"
 msgstr[1] "{0} обекта за изтриване:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8934,32 +9090,29 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
+msgid "Load tile"
 msgstr ""
 
-msgid "Auto load tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Tiles"
-msgstr "Зареждане на всички квадранти"
-
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
-msgstr "Смяна разделителна способност"
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
-msgstr "Зареждане на квадрант"
+msgid "Change resolution"
+msgstr "Смяна разделителна способност"
 
 msgid "Increase zoom"
 msgstr "Увеличаване на мащаба"
@@ -8967,11 +9120,11 @@ msgstr "Увеличаване на мащаба"
 msgid "Decrease zoom"
 msgstr "Намаляне на мащаба"
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Изчистване на кеша"
+msgid "Failed to create tile source"
+msgstr ""
 
 msgid "zoom in to load any tiles"
 msgstr ""
@@ -9401,6 +9554,9 @@ msgstr ""
 "Грешка при разбор на отместване.\n"
 "Очакван формат: {0}"
 
+msgid "Geotagged Images"
+msgstr "Изображения с данни за местоположение"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Извличане на GPS координати от EXIF"
 
@@ -9425,9 +9581,6 @@ msgstr "Грешка при четене на файлове от директо
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr "Изображения с данни за местоположение"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9797,9 +9950,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9844,6 +9995,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9900,11 +10057,6 @@ msgstr "Потребителско име: "
 msgid "Password: "
 msgstr "Парола: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -10020,6 +10172,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10381,6 +10539,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "Разширени настройки"
 
@@ -10462,18 +10629,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -11155,9 +11313,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr "Моля, изберете поне един ред за копиране"
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr "Име на меню"
 
@@ -11429,6 +11584,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -12061,12 +12219,6 @@ msgstr "Цифрови стойности"
 msgid "Checks for wrong numeric values"
 msgstr "Проверка за грешно въведени цифрови стойности"
 
-msgid "Power"
-msgstr "Електричество"
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Религия"
 
@@ -12156,6 +12308,9 @@ msgstr "Използване шаблон ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Елементи от тип {0} се поддържат."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12226,6 +12381,9 @@ msgstr ""
 msgid "Presets"
 msgstr "Шаблони"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12269,6 +12427,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Повече информация за тази възможност"
 
@@ -12357,18 +12518,32 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "false: параметъра е изрично изключен"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "true: параметъра е изрично включен"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "partial: различните избрани обекти имат различни стойности, не променяйте."
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 "unset: не променяйте стойността на този параметър на избраните обекти"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12751,7 +12926,7 @@ msgid "No changeset present for diff upload."
 msgstr "Няма съществуващ набор промени за качване на разлики"
 
 msgid "Preparing upload request..."
-msgstr ""
+msgstr "Подготвяне на заявка за качване..."
 
 msgid "Waiting 10 seconds ... "
 msgstr "Изчакване 10 секунди "
@@ -12852,6 +13027,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "OSM сървърни файлове"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12868,9 +13046,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr "OSM сървърни файлове"
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -13045,7 +13220,7 @@ msgid "{0}% ({1}/{2}), {3} left. Uploading relation ''{4}'' (id: {5})"
 msgstr "{0}% ({1}/{2}), {3} остават. Качване на релация ''{4}'' (id: {5})"
 
 msgid "Starting to upload in one request ..."
-msgstr ""
+msgstr "Стартиране качването в една заявка ..."
 
 msgid "Value >0 expected for parameter ''{0}'', got {1}"
 msgstr ""
@@ -13064,9 +13239,6 @@ msgstr "Качване на данни..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13238,21 +13410,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr "Данни:"
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13264,12 +13443,20 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
 msgid ""
-"Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
 "0.1"
 msgstr ""
 
-msgid "File name expected for layer no. {0}"
+msgid ""
+"Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
+msgid "File name expected for layer no. {0}"
 msgstr ""
 
 msgid ""
@@ -13281,19 +13468,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13977,7 +14153,7 @@ msgid ""
 msgstr ""
 
 msgid "The OSM server ''{0}'' reported a bad request.<br>"
-msgstr "Сървърът на OSM ''{0}'' докладва з анеправилна заявка.<br>"
+msgstr "Неправилна заявка е докладвана от сървъра на OSM ''{0}''.<br>"
 
 msgid ""
 "The area you tried to download is too big or your request was too "
@@ -13985,9 +14161,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -14019,6 +14192,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Не е намерен превод за локал {0}. Връщане към {1}."
 
@@ -14027,9 +14203,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -14163,6 +14336,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr "мс"
 
@@ -14475,9 +14651,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr "Обновяване"
-
 msgid "Rename File"
 msgstr ""
 
@@ -14571,6 +14744,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Public Transport (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (German Style)"
 
@@ -14637,6 +14813,9 @@ msgstr "OSM Inspector: Addresses"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Boundaries (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI black-and-white 2.5m"
 
@@ -14733,13 +14912,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14862,6 +15044,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -14884,9 +15069,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Sorbian Language)"
 
@@ -14957,6 +15139,15 @@ msgstr "Drone Imagery 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
 
@@ -14990,11 +15181,14 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italy"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr ""
 
 msgid "Sicily - Italy"
 msgstr "Sicily - Italy"
@@ -15689,6 +15883,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Създаване мрежа от пътища"
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16093,7 +16290,7 @@ msgid "metal"
 msgstr "метал"
 
 msgid "wood"
-msgstr "дървен"
+msgstr "дърво (гора)"
 
 msgid "paving_stones"
 msgstr "павета"
@@ -16111,7 +16308,7 @@ msgid "compacted"
 msgstr "сбито"
 
 msgid "grass_paver"
-msgstr "трева"
+msgstr "бетонна решетка"
 
 msgid "grass"
 msgstr "трева"
@@ -16359,6 +16556,105 @@ msgstr "ограничен"
 msgid "Brand"
 msgstr "Компания"
 
+msgid "Cuisine"
+msgstr "Кухня"
+
+msgid "italian"
+msgstr "италианска"
+
+msgid "chinese"
+msgstr "китайска"
+
+msgid "pizza"
+msgstr "пица"
+
+msgid "burger"
+msgstr "бургери"
+
+msgid "greek"
+msgstr "гръцка"
+
+msgid "german"
+msgstr "немска"
+
+msgid "indian"
+msgstr "индийска"
+
+msgid "regional"
+msgstr "местна"
+
+msgid "kebab"
+msgstr "кебаб"
+
+msgid "turkish"
+msgstr "турска"
+
+msgid "asian"
+msgstr "азиатска"
+
+msgid "thai"
+msgstr "тайландска"
+
+msgid "mexican"
+msgstr "мексиканска"
+
+msgid "japanese"
+msgstr "японска"
+
+msgid "french"
+msgstr "френска"
+
+msgid "sandwich"
+msgstr "сандвичи"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "суши"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "английска (фиш енд чипс)"
+
+msgid "chicken"
+msgstr "пиле"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "сладолед"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Интернет достъп"
 
@@ -16926,7 +17222,10 @@ msgstr "Макс. маса (т)"
 msgid "Toll"
 msgstr "Пътна такса"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17680,25 +17979,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Забавяне на скоростта"
 
-msgid "bump"
-msgstr "легнал полицай"
+msgid "Bump"
+msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
 msgstr ""
 
-msgid "rumble_strip"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
+
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17848,6 +18151,9 @@ msgstr "Градска стена"
 msgid "Retaining Wall"
 msgstr "Подпорна стена"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Канавка"
@@ -18018,6 +18324,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Крайбрежие"
 
@@ -18080,14 +18389,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr "Голяма водна площ, частично затворена от суша"
 
-msgid "Cliff"
-msgstr "Скала"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -19016,66 +19317,6 @@ msgstr "Храна и напитки"
 msgid "Restaurant"
 msgstr "Ресторант"
 
-msgid "Cuisine"
-msgstr "Кухня"
-
-msgid "italian"
-msgstr "италианска"
-
-msgid "chinese"
-msgstr "китайска"
-
-msgid "pizza"
-msgstr "пица"
-
-msgid "burger"
-msgstr "бургери"
-
-msgid "greek"
-msgstr "гръцка"
-
-msgid "german"
-msgstr "немска"
-
-msgid "indian"
-msgstr "индийска"
-
-msgid "regional"
-msgstr "местна"
-
-msgid "kebab"
-msgstr "кебаб"
-
-msgid "turkish"
-msgstr "турска"
-
-msgid "asian"
-msgstr "азиатска"
-
-msgid "thai"
-msgstr "тайландска"
-
-msgid "mexican"
-msgstr "мексиканска"
-
-msgid "japanese"
-msgstr "японска"
-
-msgid "french"
-msgstr "френска"
-
-msgid "sandwich"
-msgstr "сандвичи"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "суши"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -19088,20 +19329,14 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Заведение за бързо хранене"
 
-msgid "fish_and_chips"
-msgstr "английска (фиш енд чипс)"
-
-msgid "chicken"
-msgstr "пиле"
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "Кафене"
 
-msgid "ice_cream"
-msgstr "сладолед"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Бар"
@@ -19278,6 +19513,12 @@ msgstr "Развлекателен парк"
 msgid "Water Park"
 msgstr "Аквапарк"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Сауна"
 
@@ -19312,9 +19553,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Риболов"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr "Нощен клуб"
 
@@ -19357,12 +19595,18 @@ msgstr "статуя"
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
-msgstr "Звукозаписно студио"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "Аудио"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "Видео"
 
@@ -19466,6 +19710,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "адвентисти на седмия ден"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Джамия"
 
@@ -19625,6 +19873,125 @@ msgstr "(Използвайте международен код, като нап
 msgid "Veterinary"
 msgstr "Ветеринар"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Автоматичен дефибрилатор (AED)"
+
+msgid "Located inside a building?"
+msgstr "В сграда?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Последно проверен на (ГГГГ-ММ-ДД)"
+
+msgid "Last check note"
+msgstr "Последно проверен - забележки"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Пожарен кран"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr "Позиция на пожарния кран"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "лента"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "Тротоар"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr "Налягане (в барове)"
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr "Брой"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Телефон за спешен случай"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19737,24 +20104,9 @@ msgstr "Бележки"
 msgid "Telephone cards"
 msgstr "Телефонни карти"
 
-msgid "Emergency Phone"
-msgstr "Телефон за спешен случай"
-
 msgid "Internet Access"
 msgstr "Интернет достъп"
 
-msgid "Automated Defibrillator"
-msgstr "Автоматичен дефибрилатор (AED)"
-
-msgid "Located inside a building?"
-msgstr "В сграда?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Последно проверен на (ГГГГ-ММ-ДД)"
-
-msgid "Last check note"
-msgstr "Последно проверен - забележки"
-
 msgid "Clock"
 msgstr "Часовник"
 
@@ -19917,118 +20269,122 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Скривалище"
+msgstr ""
 
 msgid "Lock"
 msgstr "Заключване"
 
-msgid "Indoor"
+msgid "Water Point"
 msgstr ""
 
-msgid "Fire Hydrant"
-msgstr "Пожарен кран"
-
-msgctxt "pipeline"
-msgid "underground"
+msgid "Compressed Air"
 msgstr ""
 
-msgctxt "pipeline"
-msgid "pillar"
+msgid "Valves"
 msgstr ""
 
-msgctxt "pipeline"
-msgid "wall"
+msgid "Dunlop (Woods)"
 msgstr ""
 
-msgctxt "pipeline"
-msgid "pond"
+msgid "Schrader"
 msgstr ""
 
-msgid "Diameter (in mm)"
+msgid "Sclaverand (Presta)"
 msgstr ""
 
-msgid "Hydrant Position"
-msgstr "Позиция на пожарния кран"
+msgid "Regina"
+msgstr ""
 
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "лента"
+msgid "Advertising Column"
+msgstr ""
 
-msgctxt "hydrant position"
-msgid "parking_lot"
+msgid "Billboard"
 msgstr ""
 
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "Тротоар"
+msgid "Sports"
+msgstr "Спорт"
 
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
+msgid "Sport Facilities"
+msgstr "Спортни съоражения"
 
-msgid "Pressure (in bar)"
-msgstr "Налягане (в барове)"
+msgid "Stadium"
+msgstr "Стадион"
 
-msgid "suction"
-msgstr ""
+msgid "Sports Centre"
+msgstr "Спортен център"
 
-msgid "Count"
-msgstr "Брой"
+msgid "Pitch"
+msgstr "Игрище"
 
-msgid "Compressed Air"
+msgid "artificial_turf"
 msgstr ""
 
-msgid "Valves"
+msgid "decoturf"
 msgstr ""
 
-msgid "Dunlop (Woods)"
+msgid "tartan"
 msgstr ""
 
-msgid "Schrader"
-msgstr ""
+msgid "Racetrack"
+msgstr "Състезателна писта"
 
-msgid "Sclaverand (Presta)"
-msgstr ""
+msgid "Golf"
+msgstr "Голф"
 
-msgid "Regina"
+msgid "Golf Course"
+msgstr "Поле за голф"
+
+msgctxt "golf"
+msgid "Tee"
 msgstr ""
 
-msgid "Advertising Column"
+msgctxt "golf"
+msgid "Hole"
 msgstr ""
 
-msgid "Billboard"
+msgid "Par"
 msgstr ""
 
-msgid "Sports"
-msgstr "Спорт"
+msgid "Handicap rating"
+msgstr ""
 
-msgid "Sport Facilities"
-msgstr "Спортни съоражения"
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
 
-msgid "Stadium"
-msgstr "Стадион"
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
 
-msgid "Sports Centre"
-msgstr "Спортен център"
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
 
-msgid "Pitch"
-msgstr "Игрище"
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
 
-msgid "artificial_turf"
+msgctxt "golf"
+msgid "Lateral water hazard"
 msgstr ""
 
-msgid "decoturf"
+msgctxt "golf"
+msgid "Green"
 msgstr ""
 
-msgid "tartan"
+msgctxt "golf"
+msgid "Fairway"
 msgstr ""
 
-msgid "Racetrack"
-msgstr "Състезателна писта"
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
 
-msgid "Golf Course"
-msgstr "Поле за голф"
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
 
 msgid "Miniature Golf"
 msgstr "Миниголф"
@@ -20254,9 +20610,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Голф"
-
 msgid "golf_course"
 msgstr "поле за голф"
 
@@ -20421,6 +20774,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "краварник"
 
@@ -20429,6 +20786,38 @@ msgid "construction"
 msgstr "в строеж"
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20541,6 +20930,9 @@ msgstr "Мелница"
 msgid "Gasometer"
 msgstr "Газохранилище"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20942,6 +21334,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20951,6 +21351,9 @@ msgstr "Руини"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Електричество"
+
 msgid "Power Plant"
 msgstr "Електроцентрала"
 
@@ -21382,11 +21785,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
-msgstr "Електрически стълб от ЕПМ"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21407,6 +21813,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "червен/бял"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Електрически стълб от ЕПМ"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21530,18 +21954,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21574,6 +21986,9 @@ msgstr "Описание на стълб:"
 msgid "Transformer Attributes:"
 msgstr "Описание на трансформатор:"
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Линия за електропренос"
 
@@ -21831,6 +22246,9 @@ msgstr "Мебелен магазин"
 msgid "Kitchen"
 msgstr "Кухненско обзавеждане"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Завеси"
 
@@ -21873,12 +22291,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Аптека"
 
-msgid "Hairdresser/Barber"
-msgstr "Фризьорски салон"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "Козметичен салон"
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr "Фризьорски салон"
+
 msgid "Tattoo"
 msgstr ""
 
@@ -22204,6 +22631,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "География"
 
@@ -22372,6 +22874,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Скала"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Вход на пещера"
 
@@ -22554,7 +23064,7 @@ msgstr ""
 
 msgctxt "crop"
 msgid "grass"
-msgstr ""
+msgstr "трева"
 
 msgctxt "crop"
 msgid "rice"
@@ -22574,6 +23084,51 @@ msgstr "Ливада"
 msgid "Orchard"
 msgstr "Овощна градина"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Лозе"
 
@@ -23368,9 +23923,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} е остаряло"
-
 msgid "{0} is deprecated"
 msgstr "{0} е остаряло"
 
@@ -23392,7 +23944,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23436,6 +23988,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} за точка. Трябва да се ползва за път."
 
@@ -23451,6 +24012,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} върху точка"
 
@@ -23478,6 +24042,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "съкратено име на улица"
 
@@ -23519,7 +24086,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26457,7 +27024,7 @@ msgid "This entry has been reported."
 msgstr ""
 
 msgid "Server has rejected the request"
-msgstr ""
+msgstr "Сървърът отхвърли заявката"
 
 msgid "Unable to connect to the server"
 msgstr ""
@@ -26985,7 +27552,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27298,6 +27865,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27313,6 +27883,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Измерване на стойности"
 
@@ -28662,6 +29244,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr "Невалидна стойност"
+
 msgid "added"
 msgstr ""
 
@@ -28748,15 +29336,6 @@ msgstr ""
 msgid "Join"
 msgstr "Присъедини"
 
-msgid "Enable"
-msgstr "Разреши"
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr "Невалидна стойност"
-
 msgid "moved"
 msgstr "преместен"
 
@@ -30748,6 +31327,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31336,6 +31918,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
@@ -31420,6 +32007,3 @@ msgstr ""
 
 msgid "Drive a race car on this layer"
 msgstr ""
-
-#~ msgid "Retirement Home"
-#~ msgstr "Дом за стари хора"
diff --git a/i18n/po/bn.po b/i18n/po/bn.po
index e0f4404..d6fa708 100644
--- a/i18n/po/bn.po
+++ b/i18n/po/bn.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-04-03 09:24+0000\n"
 "Last-Translator: Md Alamgir <alamgircu at hotmail.com>\n"
 "Language-Team: Bengali <bn at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:35+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:35+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: bn\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -389,6 +389,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -444,6 +447,12 @@ msgstr "মুছে ফেলুন"
 msgid "Delete selected objects."
 msgstr "নির্বাচিত বস্তু মুছে ফেলুন।"
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1175,9 +1184,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1510,6 +1516,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2228,6 +2244,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2269,6 +2290,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2623,7 +2653,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3186,9 +3219,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3247,6 +3277,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3474,6 +3507,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3551,12 +3587,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3566,6 +3614,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4132,6 +4198,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4826,9 +4895,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4887,12 +4953,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4919,6 +4979,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5738,6 +5810,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5854,6 +5938,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6279,6 +6366,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6626,19 +6716,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6740,6 +6824,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7067,7 +7163,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7103,6 +7199,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7170,6 +7269,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7282,9 +7402,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7315,108 +7432,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7435,6 +7527,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7443,48 +7538,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7492,61 +7576,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7934,6 +8082,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8037,10 +8190,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8220,9 +8377,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8735,7 +8889,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8744,31 +8898,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8777,10 +8928,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9200,6 +9351,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9224,9 +9378,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9577,9 +9728,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9624,6 +9773,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9680,11 +9835,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9800,6 +9950,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10160,6 +10316,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10241,18 +10406,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10904,9 +11060,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11178,6 +11331,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11807,12 +11963,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11902,6 +12052,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11972,6 +12125,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12015,6 +12171,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12103,16 +12262,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12592,6 +12765,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12606,9 +12782,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12801,9 +12974,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12972,21 +13142,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12998,6 +13175,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13015,19 +13200,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13710,9 +13884,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13744,6 +13915,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13752,9 +13926,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13888,6 +14059,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14196,9 +14370,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14292,6 +14463,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14358,6 +14532,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14454,13 +14631,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14583,6 +14763,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14603,9 +14786,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14676,6 +14856,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14709,10 +14898,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15408,6 +15600,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16063,25 +16258,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16630,7 +16924,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17384,25 +17681,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17552,6 +17853,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17722,6 +18026,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17784,14 +18091,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18720,66 +19019,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18792,19 +19031,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18982,6 +19215,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19016,9 +19255,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19061,12 +19297,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19170,6 +19412,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19329,6 +19575,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19441,24 +19806,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19621,63 +19971,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19731,9 +20032,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19958,9 +20312,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20125,6 +20476,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20133,6 +20488,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20245,6 +20632,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20646,6 +21036,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20655,6 +21053,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21086,10 +21487,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21111,6 +21515,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21234,18 +21656,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21278,6 +21688,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21535,6 +21948,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21577,12 +21993,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21908,6 +22333,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22076,6 +22576,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22276,6 +22784,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23070,9 +23623,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23094,7 +23644,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23138,6 +23688,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23153,6 +23712,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23180,6 +23742,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23221,7 +23786,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26645,7 +27210,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26958,6 +27523,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26973,6 +27541,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28314,6 +28894,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28400,15 +28986,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30395,6 +30972,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30983,6 +31563,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/br.po b/i18n/po/br.po
index 211e060..4df3c98 100644
--- a/i18n/po/br.po
+++ b/i18n/po/br.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:36+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:36+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: br\n"
 
 msgid "License"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/bs.po b/i18n/po/bs.po
index 1bc02e2..3451245 100644
--- a/i18n/po/bs.po
+++ b/i18n/po/bs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:35+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:36+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: bs\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -389,6 +389,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -444,6 +447,12 @@ msgstr "Obriši"
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1175,9 +1184,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1510,6 +1516,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2228,6 +2244,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2269,6 +2290,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2623,7 +2653,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3186,9 +3219,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3247,6 +3277,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3474,6 +3507,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3551,12 +3587,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3566,6 +3614,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4132,6 +4198,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4826,9 +4895,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4887,12 +4953,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4919,6 +4979,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5738,6 +5810,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5854,6 +5938,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6279,6 +6366,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6626,19 +6716,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6740,6 +6824,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7067,7 +7163,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7103,6 +7199,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7170,6 +7269,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7282,9 +7402,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7315,108 +7432,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
-msgstr ""
+msgid "Reload"
+msgstr "Ponovo učitaj"
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7435,6 +7527,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7443,48 +7538,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7492,61 +7576,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
-msgstr "Ponovo učitaj"
+msgid "Remove the currently selected members from this relation"
+msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7934,6 +8082,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8037,10 +8190,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8220,9 +8377,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8735,7 +8889,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8744,31 +8898,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8777,10 +8928,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9200,6 +9351,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9224,9 +9378,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9577,9 +9728,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9624,6 +9773,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9680,11 +9835,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9800,6 +9950,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10160,6 +10316,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10241,18 +10406,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10904,9 +11060,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11178,6 +11331,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11807,12 +11963,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11902,6 +12052,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11972,6 +12125,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12015,6 +12171,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12103,16 +12262,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12592,6 +12765,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12606,9 +12782,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12801,9 +12974,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12972,21 +13142,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12998,6 +13175,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13015,19 +13200,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13710,9 +13884,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13744,6 +13915,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13752,9 +13926,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13888,6 +14059,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14196,9 +14370,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14292,6 +14463,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14358,6 +14532,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14454,13 +14631,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14583,6 +14763,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14603,9 +14786,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14676,6 +14856,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14709,10 +14898,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15408,6 +15600,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16063,19 +16258,118 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
+msgstr ""
+
+msgid "greek"
+msgstr ""
+
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
 msgstr ""
 
 msgid "Smoking"
@@ -16630,7 +16924,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17384,25 +17681,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17552,6 +17853,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17722,6 +18026,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17784,14 +18091,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18720,66 +19019,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18792,19 +19031,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18982,6 +19215,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19016,9 +19255,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19061,12 +19297,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19170,6 +19412,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19329,6 +19575,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19441,24 +19806,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19621,63 +19971,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19731,9 +20032,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19958,9 +20312,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20125,6 +20476,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20133,6 +20488,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20245,6 +20632,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20646,6 +21036,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20655,6 +21053,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21086,10 +21487,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21111,6 +21515,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21234,18 +21656,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21278,6 +21688,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21535,6 +21948,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21577,12 +21993,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21908,6 +22333,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22076,6 +22576,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22276,6 +22784,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23070,9 +23623,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23094,7 +23644,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23138,6 +23688,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23153,6 +23712,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23180,6 +23742,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23221,7 +23786,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26645,7 +27210,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26958,6 +27523,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26973,6 +27541,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28314,6 +28894,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28400,15 +28986,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30395,6 +30972,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30983,6 +31563,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/ca.po b/i18n/po/ca.po
index eef4720..ad2e0ab 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: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-04 09:01+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-11 13:59+0000\n"
 "Last-Translator: pitort <pitort at eclipso.eu>\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: 2016-01-06 04:37+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:37+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: ca\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -407,6 +407,9 @@ msgstr ""
 "No és possible la combinació de les vies<br>(No poden ser unides per a "
 "formar una única sèrie de nodes)"
 
+msgid "Reverse Ways"
+msgstr "Canvia el sentit de les vies"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Combina {0} via"
@@ -462,6 +465,12 @@ msgstr "Suprimeix"
 msgid "Delete selected objects."
 msgstr "Suprimeix els objectes seleccionats"
 
+msgid "Delete Layer"
+msgstr "Suprimeix la capa"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Suprimeix la capa activa. No suprimeix el fitxer associat."
+
 msgid "Toggle dialogs panel"
 msgstr "Commuta les finestres"
 
@@ -573,7 +582,7 @@ msgstr ""
 "OSM."
 
 msgid "Show history"
-msgstr "Mostra l''historial"
+msgstr "Mostrar historial"
 
 msgid "History (web)"
 msgstr "Historial (web)"
@@ -1279,9 +1288,6 @@ msgstr "Feu clic per reiniciar després"
 msgid "Reverse way"
 msgstr "Sentit contrari"
 
-msgid "Reverse Ways"
-msgstr "Canvia el sentit de les vies"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Inverteix el sentit de totes les vies seleccionades"
 
@@ -1399,7 +1405,7 @@ msgid "No exporter for this layer"
 msgstr "No hi ha cap gestor d''exportació per a aquesta capa."
 
 msgid "Show Status Report"
-msgstr "Mostra l''informe d''estat"
+msgstr "Mostrar informe d''estat"
 
 msgid ""
 "Show status report with useful information that can be attached to bugs"
@@ -1596,19 +1602,19 @@ msgstr ""
 "còpia i tots els nodes seran seleccionats."
 
 msgid "Existing node"
-msgstr ""
+msgstr "Node existent"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Ambdós nodes"
 
 msgid "New node"
-msgstr ""
+msgstr "Nou node"
 
 msgid "Tags / Memberships"
 msgstr "Etiquetes / Pertinença"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Separa"
 
 msgid "Where should the tags of the node be put?"
 msgstr ""
@@ -1648,6 +1654,16 @@ msgstr ""
 "Sou a punt de separar objectes incomplets.<br>Això pot causar problemes "
 "perquè no veieu l''objecte real.<br>Segur que els voleu separar?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Assegureu-vos que la relació no estigui trencada!"
+msgstr[1] "Assegureu-vos que les relacins no estiguin trencades!"
+
 msgid "Disconnect Node from Way"
 msgstr "Desconnecta el node de la via"
 
@@ -2447,6 +2463,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Afegeix la selecció a la relació"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Afegeix la seleció la relació {0}"
@@ -2493,6 +2514,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Confirmació"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Editor de relació: {0}"
+
 msgid "Select in relation list"
 msgstr "Seleccionar la relació a la llista"
 
@@ -2867,9 +2897,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
 msgstr ""
-"Esperant <i>mín</i>/<i>màx</i> després de ''timestamp'' (data i hora)"
+
+msgid "Expecting {0} after {1}"
+msgstr "S''esperava {0} després de {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Interval d''identificadors de primietives esperat"
@@ -3364,13 +3396,14 @@ msgid "Restoring files"
 msgstr "S''estan restaurant els fitxers"
 
 msgid "Unable to delete backup file {0}"
-msgstr ""
+msgstr "La supressió del fitxer de copia de seguretat {0} no és possible"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "La supressió del fitxer PID {0} no és possible"
 
 msgid "Unable to delete archived backup file {0}"
 msgstr ""
+"La supressió del fitxer de copia de seguretat arxivat {0} no és possible"
 
 msgid "Illegal latitude value ''{0}''"
 msgstr "El valor de latitud ''{0}'' és erroni"
@@ -3500,9 +3533,6 @@ msgstr ""
 "Prova d''activar la xarxa IPV6, es prefereix IPV6 en comptes de IPV4 (només "
 "en cas de l''arrencada inicial)"
 
-msgid " (at line {0}, column {1})"
-msgstr " (a la línia {0}, columna {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "La preferència {0} ha estat suprimida perquè ja no s''utilitza."
 
@@ -3563,6 +3593,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "No s''ha trobat la projecció ''{0}'', el favorit ''{1}'' no pot ser "
@@ -3824,6 +3857,9 @@ msgstr "text"
 msgid "areatext"
 msgstr "àrea de text"
 
+msgid " (at line {0}, column {1})"
+msgstr " (a la línia {0}, columna {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 "La projecció UTM (''+proj=utm'') requereix el paràmetre ''+zone=...''."
@@ -3912,12 +3948,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr "Azimutal estereogràfica doble"
+msgid "Albers Equal Area"
+msgstr "D''Albers"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Paràmetre ''{0}'' requirit."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr "Azimutal estereogràfica doble"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Cònica conforme de Lambert"
 
@@ -3927,6 +3975,24 @@ msgstr "Lat/lon (Geodetic)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr "Estereogràfica polar"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr "Estereogràfica polar: el paràmetre ''{0}'' ha de ser 90 o -90."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Mercator oblíqua suïssa"
 
@@ -4547,6 +4613,9 @@ msgstr "Espai blanc no vàlid a la clau"
 msgid "Property values start or end with white space"
 msgstr "Els valors comencen o acaben amb un espai en blanc"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Els valors contenen codi HTML"
 
@@ -4981,7 +5050,7 @@ msgid "options"
 msgstr "opcions"
 
 msgid "Show this help"
-msgstr "Mostra aquesta ajuda"
+msgstr "Mostrar aquesta ajuda"
 
 msgid "Standard unix geometry argument"
 msgstr "Argument de geometria estàndard UNIX"
@@ -5287,9 +5356,6 @@ msgstr "Preferències de la imatgeria"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Feu clic per obrir la pestanya de la imatgeria a les preferències"
 
-msgid "Search menu items"
-msgstr "Cerca elements de menú"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Àudio"
@@ -5348,12 +5414,6 @@ msgstr "Barra d''estat de primer pla: activa"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "La latitud geogràfica a la posició del punter del ratolí."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "La longitud geogràfica a la posició del punter del ratolí."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Orientació del segment que està essent dibuixat"
 
@@ -5383,6 +5443,18 @@ msgstr "Nom d''usuari:"
 msgid "Do not hide status bar"
 msgstr "No amagis la barra d''eines"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "La latitud geogràfica a la posició del punter del ratolí."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "La longitud geogràfica a la posició del punter del ratolí."
+
 msgid "System of measurement changed to {0}"
 msgstr "El sistema de mesurament ha canviat a {0}"
 
@@ -6241,7 +6313,7 @@ msgid "Closes the selected open changesets"
 msgstr "Tanca els conjunts de canvis oberts que s''han seleccionats"
 
 msgid "Show info"
-msgstr "Mostra informació"
+msgstr "Mostrar informació"
 
 msgid "Open a web page for each selected changeset"
 msgstr "Obre una pàgina web per a cada conjunt de canvis"
@@ -6306,6 +6378,18 @@ msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 "Obre una finestra per fusionar els elements seleccionats a la llista."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Ha estat detectat {0} conflicte."
@@ -6430,6 +6514,9 @@ msgstr "Moure el filtre avall"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filtre amagat:{0} Deshabilitat:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Error en el filtre <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Error al filtre"
 
@@ -6737,7 +6824,7 @@ msgid "Delete the selected layers."
 msgstr "Esborrar les capes seleccionades"
 
 msgid "Show/hide"
-msgstr "Amaga/mostra"
+msgstr "Amagar/ Mostrar"
 
 msgid "Toggle visible state of the selected layer."
 msgstr "Commuta l''estat visible de la capa seleccionada."
@@ -6887,6 +6974,9 @@ msgstr "Configuracions d''estil"
 msgid "Customize the style"
 msgstr "Personalitza l''estil"
 
+msgid "Search menu items"
+msgstr "Cerca elements de menú"
+
 msgid "Mini map"
 msgstr "Mini mapa"
 
@@ -7258,21 +7348,14 @@ msgstr[1] ""
 "<html>Cap dels objectes seleccionats  està disponible a la <br>capa en "
 "edició ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Baixar el contingut"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Baixar del servidor OSM el contingut del conjunt de canvis"
+msgid "Download and show the history of the selected objects"
+msgstr "Baixar i mostrar l''historial de l''objecte seleccionat"
 
-msgid "Update content"
-msgstr "Actualitzar el contingut"
+msgid "Download objects"
+msgstr "Baixar objectes"
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download the current version of the selected objects"
 msgstr ""
-"Actualitzar el contingut del conjunt de canvis amb dades del servidor OSM"
-
-msgid "Download and show the history of the selected objects"
-msgstr "Baixar i mostrar l''historial de l''objecte seleccionat"
 
 msgid "Select in layer"
 msgstr "Seleccionar a la capa"
@@ -7381,6 +7464,19 @@ msgstr "obert"
 msgid "closed"
 msgstr "tancat"
 
+msgid "Download content"
+msgstr "Baixar el contingut"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Baixar del servidor OSM el contingut del conjunt de canvis"
+
+msgid "Update content"
+msgstr "Actualitzar el contingut"
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+"Actualitzar el contingut del conjunt de canvis amb dades del servidor OSM"
+
 msgid "Changeset ID: "
 msgstr "ID del conjunt de canvis: "
 
@@ -7754,8 +7850,8 @@ msgstr "Editar el valor de la clau seleccionada per a tots els objectes"
 msgid "Edit Tags"
 msgstr "Modifica les etiquetes"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Anar al wiki OSM per obtenir ajuda (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr ""
@@ -7794,6 +7890,9 @@ msgstr "Copiar totes les claus/valors"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Copia la clau i el valor de totes les etiquetes al porta-retalls"
 
+msgid "Copy Tags"
+msgstr "Copia etiquetes"
+
 msgid "Search Key/Value/Type"
 msgstr "Cercar clau/valor/tipus"
 
@@ -7863,6 +7962,27 @@ msgstr "Estableix el nombre de les etiquetes afegides recentment"
 msgid "Remember last used tags after a restart"
 msgstr "Recorda les darreres etiquetes utilitzades en reiniciar."
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Activa"
+
+msgid "Hide"
+msgstr "Aguait"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "aplica la primera suggerència"
 
@@ -7983,9 +8103,6 @@ msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 "Centrar l''editor de relacions a la relació ''{0}'' a la capa ''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Editor de relació: {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 "
@@ -8027,6 +8144,73 @@ msgstr ""
 "crearà referències circulars i es desaconsella.<br>Anul·lar la relació "
 "''{0}''.</html>"
 
+msgid "Select previous Gap"
+msgstr "Selecciona l''interval previ"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Selecciona el membre anterior de la relació que genera un interval"
+
+msgid "Select next Gap"
+msgstr "Seleccionar l''interval següent"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Selecciona el membre següent de la relació que genera un interval"
+
+msgid "Zoom to Gap"
+msgstr "Amplia a l''interval"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Amplia a l''interval en la seqüència de la via"
+
+msgid "Refers to"
+msgstr "Fa referència a"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr "No es pot afegir {0} perquè no és part del conjunt de dades"
+
+msgid "Download referring relations"
+msgstr "Baixa les relacions que s''hi refereixen"
+
+msgid "There were {0} conflicts during import."
+msgstr "Hi havia {0} conflictes durant la importació."
+
+msgid "including immediate children of parent relations"
+msgstr "incloent els fills directes de la relació"
+
+msgid "Load parent relations"
+msgstr "Carrega les relacions parents"
+
+msgid "Reload"
+msgstr "Recarrega"
+
+msgid "Loading parent relations"
+msgstr "Carregant les relacions parents"
+
+msgid "Edit the currently selected relation"
+msgstr "Modificar la relació seleccionada"
+
+msgid "Apply Changes"
+msgstr "Aplica els canvis"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Crear una nova relació a la capa ''{0}''"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Modificar la nova relació a la capa ''{0}''"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Modificar la relació #{0} a la capa ''{1}''"
+
+msgid "Load relation"
+msgstr "Carregar la relació"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Afegeix els objectes seleccionats al conjunt de dades deprés del darrer "
+"membre seleccionat"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -8037,71 +8221,130 @@ msgid ""
 "member"
 msgstr "Afegir els objectes seleccionats abans del primer membre seleccionat"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Afegeix els objectes seleccionats al conjunt de dades deprés del darrer "
-"membre seleccionat"
+msgid "Apply the current updates"
+msgstr "Aplicar les actualitzacions"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Suprimir els membres que es refereixen als objectes seleccionats"
+msgid "Cancel the updates and close the dialog"
+msgstr "Anular les actualitzacions i tancar la finestra"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Yes, save the changes and close"
+msgstr "Si, desar els canvis i tancar"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Feu clic per desar els canvis i tancar aquest editor de relacions"
+
+msgid "No, discard the changes and close"
+msgstr "No, descartar els canvis i tancar"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Feu cli perdescartar els canvis i tancar aquest editor de relacions"
+
+msgid "Cancel, continue editing"
+msgstr "Cancel·lar, continuar l''edició"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Selecciona els membres de la relació que fan referència als objectes de la "
-"selecció"
+"Cliqueu per tornar a l''editor de relacions i reprendre la modificació de la "
+"relació"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr ""
-"Selecciona els membres de la relació que fan referència als objectes {0} de "
-"la selecció"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
+msgstr "<html>La relació ha canviat.<br><br>Voleu desar elsvostres canvis?"
 
-msgid "Select objects for selected relation members"
-msgstr "Escull objectes pels membres de la relació seleccionats"
+msgid "Unsaved changes"
+msgstr "Canvis sense desar"
 
-msgid "Sort the relation members"
-msgstr "Ordenar els membres de la relació"
+msgid "Delete the currently edited relation"
+msgstr "Suprimir la relació que s''està editant"
 
-msgid "Relation Editor: Sort"
-msgstr "Editor de relacions: Ordenar"
+msgid "Relation Editor: Download Members"
+msgstr "Editor de relacions: Baixar membres"
 
-msgid "Sort below"
-msgstr "Ordena a sota"
+msgid "Download all incomplete members"
+msgstr "Baixant els membres incomplets"
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download Members"
+msgstr "Baixant els membres"
+
+msgid "Download selected incomplete members"
+msgstr "Baixar els mmebres incomplets seleccionats"
+
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
-"Ordena els membres seleccionats de la relació i tots els altres membres a "
-"sota"
+"Modifica la relació a la qual fa referència el membre de la relació "
+"seleccionat"
 
-msgid "Reverse the order of the relation members"
-msgstr "Invertir l''ordre dels membres de la relació"
+msgid "Relation Editor: Move Down"
+msgstr "Editor de relacions: Moure avall"
 
-msgid "Reverse"
-msgstr "Invertir"
+msgid "Move the currently selected members down"
+msgstr "Moure els membres seleccionats avall"
+
+msgid "Relation Editor: Move Up"
+msgstr "Editor de relacions: Moure amunt"
 
 msgid "Move the currently selected members up"
 msgstr "Moure els membres seleccionats amunt"
 
-msgid "Relation Editor: Move Up"
-msgstr "Editor de relacions: Moure amunt"
+msgid "Apply the updates and close the dialog"
+msgstr "Aplicar les actualitzacions i tancar la finestra"
 
-msgid "Move the currently selected members down"
-msgstr "Moure els membres seleccionats avall"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Els membres provinents del portarretalls no poden ser afegits perquè no són "
+"presents a la capa actual"
 
-msgid "Relation Editor: Move Down"
-msgstr "Editor de relacions: Moure avall"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Suprimir d''aquesta relació els membres seleccionats"
+msgid "Refresh relation from data layer"
+msgstr ""
+
+msgid "Refresh"
+msgstr "Actualitza"
+
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+
+msgid "Click to close window"
+msgstr "Feu clic per tancar la finestra"
+
+msgid "No, continue editing"
+msgstr "No, continuar modificant"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+
+msgid "Deleted relation"
+msgstr "Suprimeix la relació"
 
 msgid "Relation Editor: Remove"
 msgstr "Editor de relacions: Suprimir"
 
-msgid "Delete the currently edited relation"
-msgstr "Suprimir la relació que s''està editant"
+msgid "Remove the currently selected members from this relation"
+msgstr "Suprimir d''aquesta relació els membres seleccionats"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Suprimir els membres que es refereixen als objectes seleccionats"
+
+msgid "Reverse the order of the relation members"
+msgstr "Invertir l''ordre dels membres de la relació"
+
+msgid "Reverse"
+msgstr "Invertir"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -8118,14 +8361,6 @@ msgstr "Si, crear un conflicte i tancar"
 msgid "Click to create a conflict and close this relation editor"
 msgstr "Cliqueu per a crear un conflicte i tancar aquest editor de relacions"
 
-msgid "No, continue editing"
-msgstr "No, continuar modificant"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Cliqueu per tornar a l''editor de relacions i reprendre la modificació de la "
-"relació"
-
 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 "
@@ -8142,52 +8377,20 @@ msgstr ""
 "<html>La capa ''{0}'' té un conflicte per l''objecte<br>''{1}''.<br>Si us "
 "plau resolgueu primer aquest conflicte i llavors toneu a provar.</html>"
 
-msgid "Apply the current updates"
-msgstr "Aplicar les actualitzacions"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Aplicar les actualitzacions i tancar la finestra"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Anular les actualitzacions i tancar la finestra"
-
-msgid "Yes, save the changes and close"
-msgstr "Si, desar els canvis i tancar"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Feu clic per desar els canvis i tancar aquest editor de relacions"
-
-msgid "No, discard the changes and close"
-msgstr "No, descartar els canvis i tancar"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Feu cli perdescartar els canvis i tancar aquest editor de relacions"
-
-msgid "Cancel, continue editing"
-msgstr "Cancel·lar, continuar l''edició"
+msgid "Select objects for selected relation members"
+msgstr "Escull objectes pels membres de la relació seleccionats"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
-msgstr "<html>La relació ha canviat.<br><br>Voleu desar elsvostres canvis?"
-
-msgid "Unsaved changes"
-msgstr "Canvis sense desar"
-
-msgid "Add an empty tag"
-msgstr "Afegeix una etiqueta buida"
-
-msgid "Download all incomplete members"
-msgstr "Baixant els membres incomplets"
-
-msgid "Download Members"
-msgstr "Baixant els membres"
-
-msgid "Relation Editor: Download Members"
-msgstr "Editor de relacions: Baixar membres"
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+"Selecciona els membres de la relació que fan referència als objectes de la "
+"selecció"
 
-msgid "Download selected incomplete members"
-msgstr "Baixar els mmebres incomplets seleccionats"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Selecciona els membres de la relació que fan referència als objectes {0} de "
+"la selecció"
 
 msgid "Sets a role for the selected members"
 msgstr "Establir un rol per als membres seleccionats"
@@ -8215,74 +8418,19 @@ msgstr "No, no aplicar-ho"
 msgid "Confirm empty role"
 msgstr "Confirmar rol buit"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr ""
-"Modifica la relació a la qual fa referència el membre de la relació "
-"seleccionat"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Els membres provinents del portarretalls no poden ser afegits perquè no són "
-"presents a la capa actual"
-
-msgid "Select previous Gap"
-msgstr "Selecciona l''interval previ"
-
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Selecciona el membre anterior de la relació que genera un interval"
-
-msgid "Select next Gap"
-msgstr "Seleccionar l''interval següent"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Selecciona el membre següent de la relació que genera un interval"
-
-msgid "Zoom to Gap"
-msgstr "Amplia a l''interval"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Amplia a l''interval en la seqüència de la via"
-
-msgid "Refers to"
-msgstr "Fa referència a"
-
-msgid "Download referring relations"
-msgstr "Baixa les relacions que s''hi refereixen"
-
-msgid "There were {0} conflicts during import."
-msgstr "Hi havia {0} conflictes durant la importació."
-
-msgid "including immediate children of parent relations"
-msgstr "incloent els fills directes de la relació"
-
-msgid "Load parent relations"
-msgstr "Carrega les relacions parents"
-
-msgid "Reload"
-msgstr "Recarrega"
-
-msgid "Loading parent relations"
-msgstr "Carregant les relacions parents"
-
-msgid "Edit the currently selected relation"
-msgstr "Modificar la relació seleccionada"
-
-msgid "Apply Changes"
-msgstr "Aplica els canvis"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Crear una nova relació a la capa ''{0}''"
+msgid "Relation Editor: Sort"
+msgstr "Editor de relacions: Ordenar"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Modificar la nova relació a la capa ''{0}''"
+msgid "Sort the relation members"
+msgstr "Ordenar els membres de la relació"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Modificar la relació #{0} a la capa ''{1}''"
+msgid "Sort below"
+msgstr "Ordena a sota"
 
-msgid "Load relation"
-msgstr "Carregar la relació"
+msgid "Sort the selected relation members and all members below"
+msgstr ""
+"Ordena els membres seleccionats de la relació i tots els altres membres a "
+"sota"
 
 msgid "way is connected"
 msgstr "la via està connectada"
@@ -8723,6 +8871,11 @@ msgstr ""
 "<html>La versió <strong>{0}</strong> ha estat creada a "
 "<strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "Aquest conjunt de canvis te {0} comentari"
+msgstr[1] "Aquest conjunt de canvis te {0} comentaris"
+
 msgid "Changeset"
 msgstr "Conjunt de canvis"
 
@@ -8849,15 +9002,15 @@ msgid "Upload"
 msgstr "Pujar"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Tria les accions a fer per aquesta capa si fas clic sobre el botó "
-"situat més a l''esquerra.<br/>Marca \"Pujar\" per pujar els canvis al "
-"servidor OSM<br/>Marca \"Desar\" per desar la capa al fitxer especificat a "
-"l''esquerra.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Afegeix un comentari descrivint els canvis que estàs pujant:"
@@ -9056,9 +9209,6 @@ msgstr ""
 "Ha fallat l''obtenció d''informació de l''usuari del JOSM. L''excepció ha "
 "estat: {0}"
 
-msgid "Download objects"
-msgstr "Baixar objectes"
-
 msgid "Initializing nodes to download ..."
 msgstr "Inicialitzant nodes a baixar ..."
 
@@ -9667,8 +9817,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} objecte a suprimir:"
 msgstr[1] "{0} objectes a suprimir:"
 
-msgid "Show Tile Info"
-msgstr "Mostra informació de la tessel·la"
+msgid "Show tile info"
+msgstr "Mostra la informació de la tessel·la"
 
 msgid "Tile Info"
 msgstr "Informació de la tessel·la"
@@ -9676,17 +9826,23 @@ msgstr "Informació de la tessel·la"
 msgid "Metadata "
 msgstr "Metadades "
 
-msgid "Auto Zoom"
-msgstr "Auto-ampliació"
+msgid "Load tile"
+msgstr "Carrega la tessel·la"
+
+msgid "Auto zoom"
+msgstr "Zoom automàtic"
 
 msgid "Auto load tiles"
 msgstr "Carrega automàticament les tessel·les"
 
-msgid "Load All Tiles"
+msgid "Show errors"
+msgstr "Mostra els errors"
+
+msgid "Load all tiles"
 msgstr "Carrega totes les tessel·les"
 
-msgid "Load All Error Tiles"
-msgstr "Carrega totes les tessel·les amb error"
+msgid "Load all error tiles"
+msgstr "Carrega totes les tessel·les errònies"
 
 msgid "Zoom to native resolution"
 msgstr "Amplia a la resolució nativa"
@@ -9694,26 +9850,17 @@ msgstr "Amplia a la resolució nativa"
 msgid "Change resolution"
 msgstr "Canviar resolució"
 
-msgid "Failed to create tile source"
-msgstr "Ha fallat la creació d''una font de tessel·les"
-
-msgid "Show Errors"
-msgstr "Mostra els errors"
-
-msgid "Load Tile"
-msgstr "Carrega tessel·la"
-
 msgid "Increase zoom"
 msgstr "Ampliar"
 
 msgid "Decrease zoom"
 msgstr "Fer més petit"
 
-msgid "Snap to tile size"
-msgstr "Discretitza a la mida de la tessel·la"
+msgid "Flush tile cache"
+msgstr "Allibera la memòria cau de tessel·les"
 
-msgid "Flush Tile Cache"
-msgstr "Buida la memòria cau de tessel·les"
+msgid "Failed to create tile source"
+msgstr "Ha fallat la creació d''una font de tessel·les"
 
 msgid "zoom in to load any tiles"
 msgstr "amplia per carregar cada tessel·la"
@@ -9771,7 +9918,7 @@ msgid "Details..."
 msgstr "Detalls..."
 
 msgid "Do not show this message again"
-msgstr "No tornis a monstar aquest missatge"
+msgstr "No tornis a mostrar aquest missatge"
 
 msgid "Hide this message and never show it again"
 msgstr "Amagar aquest missatge i no tornar-ho a mostrar"
@@ -10167,6 +10314,9 @@ msgstr ""
 "Error en analitzar el decalatge.\n"
 "Format esperat: {0}"
 
+msgid "Geotagged Images"
+msgstr "Imatges geolocalitzades"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Extreïent localitzacions GPS a partir de la informació EXIF"
 
@@ -10191,9 +10341,6 @@ msgstr "Error en recuperar fitxers del directori {0}\n"
 msgid "One of the selected files was null"
 msgstr "Un dels fitxers seleccionats era nul"
 
-msgid "Geotagged Images"
-msgstr "Imatges geolocalitzades"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} imatge carregada"
@@ -10588,12 +10735,8 @@ msgstr ""
 "Ha fallat l''anàlisi dels estils de Mappaint de ''{0}''. L''excepció ha "
 "estat: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"''{0}'' és obsolet, ha estat detectat a''{1}'' i serà suprimit  en breu. Si "
-"us plau utilitzeu ''{2}'' com a alternativa."
+msgid "Failed to locate image ''{0}''"
+msgstr "Ha fallat la localització la imatge ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "L''estil de traçat no és válid, els valors han de ser positius"
@@ -10644,6 +10787,12 @@ msgstr "URL del testimoni d''autenticació"
 msgid "Authorize URL:"
 msgstr "URL d''autorització:"
 
+msgid "OSM login URL:"
+msgstr "URL d''inici de sessió d''OSM:"
+
+msgid "OSM logout URL:"
+msgstr "URL per finalitzar la sessió d''OSM:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 "Feu clic per reinicialitzar els paràmetres d''OAuth amb els valors "
@@ -10723,13 +10872,6 @@ msgstr "Nom d''usuari: "
 msgid "Password: "
 msgstr "Contrasenya: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Avís:</strong> JOSM es connecta <strong>un únic cop</strong> "
-"utilitzant una connexió segura."
-
 msgid "Granted rights"
 msgstr "Drets atorgats"
 
@@ -10876,6 +11018,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Si us plau, seleccioneu un procediment d''autorització: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Obté un testimoni d''autenticació per ''{0}''"
 
@@ -11289,6 +11437,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr "Barra d''eines: {0}"
 
+msgid "add entry"
+msgstr "afegir entrada"
+
+msgid "Remove the selected entry"
+msgstr "Suprimir l''entrada seleccionada"
+
+msgid "Key: {0}"
+msgstr "Clau: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Preferències avançades"
 
@@ -11382,18 +11539,9 @@ msgstr "Escolliu el fitxer del perfil"
 msgid "Change list setting"
 msgstr "Canviar la llista de paràmetres"
 
-msgid "Key: {0}"
-msgstr "Clau: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Canviar la llista de llistats de paràmetres"
 
-msgid "add entry"
-msgstr "afegir entrada"
-
-msgid "Remove the selected entry"
-msgstr "Suprimir l''entrada seleccionada"
-
 msgid "Change list of maps setting"
 msgstr "Canvia la llista de configuracions de mapes"
 
@@ -12116,9 +12264,6 @@ msgstr "copiar els valors de defecte seleccionats"
 msgid "Please select at least one row to copy."
 msgstr "Seleccioneu com a mínim una fila per copiar"
 
-msgid "reload defaults"
-msgstr "recarregar valors per defecte"
-
 msgid "Menu Name"
 msgstr "Nom del menú"
 
@@ -12431,6 +12576,9 @@ msgstr[0] "La baixada del següent connector <strong>ha fallat</strong>:"
 msgstr[1] ""
 "La baixada dels següents connectors {0} <strong>ha fallat</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Missatge d''error(sense traduir): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Reinicieu JOSM per tal d''activar els connectors baixats."
 
@@ -13126,12 +13274,6 @@ msgstr "Valors numèrics"
 msgid "Checks for wrong numeric values"
 msgstr "Compova si hi ha valors numèrics erronis"
 
-msgid "Power"
-msgstr "Energia"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Comprova si hi ha errors a les infraestructures d''energia"
-
 msgid "Religion"
 msgstr "Religió"
 
@@ -13221,6 +13363,9 @@ msgstr "Utilitzar preconfiguració ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Els elements de tipus {0} són suportats."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "Edita també..."
 
@@ -13294,6 +13439,9 @@ msgstr "Cercar element predefinit"
 msgid "Presets"
 msgstr "Predefinicions"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "Cerca per objectes predefinits"
 
@@ -13347,6 +13495,9 @@ msgstr ""
 "El nombre d''etiquetes predefinides \"{0}-{1}\" no és coherent. El nombre "
 "d''elements ''short_descriptions'' ha de ser el mateix que el de ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "Això correspon a la clau ''{0}''"
+
 msgid "More information about this feature"
 msgstr "Més informació sobre aquesta funcionalitat"
 
@@ -13443,19 +13594,33 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "fals: la propietat ha estat deshabilitada expressament"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "false: la propietat ''{0}'' està desactivada explícitament"
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 "cert: la propietat ha estat habilitada expressament<html>Please confirm to "
 "remove <strong>1 object</strong> from <strong>1 relation</strong>.</html>"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "true: la propietat ''{0}'' està activada explícitament"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "parcial: els objectes seleccionats tenen diferents propietats, no ho canvieu"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "no definit: no aplicar aquesta propietat als objectes seleccionats"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "Retalla"
 
@@ -14015,6 +14180,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Valor inesperat per a la preferència ''{0}''. És ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "Fitxers del servidor OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Ha hagut un error en desar.<br>L''error és:<br>{0}</html>"
 
@@ -14031,9 +14199,6 @@ msgstr "Fitxers del servidor OSM comprimits amb gzip"
 msgid "Parsing OSM history data ..."
 msgstr "Processant les dades d''historial..."
 
-msgid "OSM Server Files"
-msgstr "Fitxers del servidor OSM"
-
 msgid "Invalid dataset"
 msgstr "Conjunt de dades invàlid"
 
@@ -14246,9 +14411,6 @@ msgstr "Pujant dades ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Trobat un objecte OSM amb ID zero"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Fitxers comprimits del servidor OSM"
-
 msgid "Downloading data..."
 msgstr "S''estan baixant les dades..."
 
@@ -14434,24 +14596,29 @@ msgstr ""
 "El control remot ha demanat d''informar de la versió del protocol. Això "
 "permet als llocs web de detectar un JOSM en funcionament."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"La versió ''{0}'' de metadades per la capa d''imatges georeferenciades no "
-"està suportada. S''esperava la versió: 0.1"
+msgid "local file"
+msgstr "fitxer local"
+
+msgid "include"
+msgstr "inclou"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "La capa conté dades no desades - desar a un fitxer."
+
+msgid "Layer does not contain unsaved data."
+msgstr "La capa no conté dades sense desar."
 
 msgid "Data:"
 msgstr "Dades:"
 
-msgid "local file"
-msgstr "fitxer local"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Enllaç a un fitxer de dades OSM al disc local."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Enllaç vers un fitxer GPX del vostre disc local."
+msgid "Include OSM data in the .joz session file."
+msgstr "Incloure dades OSM al fitxer .joz de la sessió."
 
-msgid "include"
-msgstr "inclou"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Enllaç vers un fitxer GPX del vostre disc local"
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Inclou dades GPX al fitxer de sessió .joz."
@@ -14462,6 +14629,16 @@ msgstr "Cap associació de fitxer"
 msgid "GPX data will be included in the session file."
 msgstr "Les dades GPX seran incloses al fitxer de sessió-"
 
+msgid "OSM data will be included in the session file."
+msgstr "Les dades OSM seran incloses al fitxer de la sessió."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"La versió ''{0}'' de metadades per la capa d''imatges georeferenciades no "
+"està suportada. S''esperava la versió: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14485,20 +14662,9 @@ msgstr ""
 "La versió ''{0}'' de les metadades per a la capa del marcador no està "
 "suportada. S''esperava: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "La capa conté dades no desades - desar a un fitxer."
-
-msgid "Layer does not contain unsaved data."
-msgstr "La capa no conté dades sense desar."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Enllaç a un fitxer de dades OSM al disc local."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Incloure dades OSM al fitxer .joz de la sessió."
-
-msgid "OSM data will be included in the session file."
-msgstr "Les dades OSM seran incloses al fitxer de la sessió."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15375,9 +15541,6 @@ msgstr ""
 "gran.<br>Demaneu una àrea més petita o utilitzeu un fitxer d''exportació "
 "dels que proveeix la comunitat OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Missatge d''error(sense traduir): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15423,6 +15586,9 @@ msgstr "La baixada ha estat redirigida vers ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Massa redireccions vers l''URL baixada. Anul·lant."
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "No ha estat possible de trobar una traducció a la llengua {0}. Revertint a "
@@ -15435,9 +15601,6 @@ msgstr ""
 "Error: ha fallat la localització la imatge ''{0}''. Això és un problema greu "
 "de configuració. JOSM s''aturarà."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Ha fallat la localització la imatge ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 "Ha fallat la gestió del fitxer zip ''{0}''.  L''excepció ha estat: {1}"
@@ -15593,7 +15756,10 @@ msgstr ""
 "intermèdia perquè no conté cap objecte JOSM ni cap text apropiat. </p></html>"
 
 msgid "Unable to delete file {0}"
-msgstr ""
+msgstr "No és possible la supressió del fitxer {0}"
+
+msgid "Unable to create directory {0}"
+msgstr "No és possible crear el directori {0}"
 
 msgid "ms"
 msgstr "ms"
@@ -15927,9 +16093,6 @@ msgstr "Obre el fitxer seleccionat"
 msgid "Open selected file."
 msgstr "Obre el fitxer seleccionat."
 
-msgid "Refresh"
-msgstr "Actualitza"
-
 msgid "Rename File"
 msgstr "Canvia el nom del fitxer"
 
@@ -16023,6 +16186,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Transport públic (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "A peu i en bici"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (Estil alemany)"
 
@@ -16089,6 +16255,9 @@ msgstr "Inspector OSM: adreces"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "Inspector OSM: Fronteres (UE)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr "SIG Instituto Geográfico Nacional (WMTS)"
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI blanc i negre 2.5m"
 
@@ -16185,14 +16354,17 @@ msgstr "URBIS 2015 imatgeria aèria"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW (Valònia) PICC imatgeria digital"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 imatgeria aèria"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW (Valònia) 2015 imatgeria aèria"
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW (Valònia) 2012-2013 imatgeria aèria"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 imatgeria aèria"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW (Valònia) 2009-2010 imatgeria aèria"
 
-msgid "TEC bus lines"
-msgstr "Línies d''autobús TEC"
+msgid "TEC bus lines (2014)"
+msgstr "TEC línies d''autobús (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Sectors Urbans"
@@ -16314,6 +16486,9 @@ msgstr "SIG L-R - Llenguadoc-Rosselló 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Toulouse - Ortofotomapa 2015"
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Tolosa de Llenguadoc - Ortofotoplànol 2013"
 
@@ -16336,9 +16511,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "A peu i en bici"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Llengua sòrab)"
 
@@ -16412,6 +16584,15 @@ msgstr "Imatgeria de drones 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Imatgeria de vehicel aeri no tripulat Canaan (Haiti) Novembre 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr "FÖMI ortofoto 2000"
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
 
@@ -16445,11 +16626,14 @@ msgstr "OSMIE Local Election Areas"
 msgid "OSMIE Dail Election Areas"
 msgstr "OSMIE Dail Election Areas"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Itàlia"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Llombardia - Itàlia (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Lombardia - Itàlia (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Sicília - Itàlia"
@@ -17168,6 +17352,9 @@ msgstr "Baixa noves dades quan amplies o et mous"
 msgid "Create a grid of ways."
 msgstr "Crea una graella de vies."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "Crea i manega adreces i edificis a la República Txeca."
@@ -17935,6 +18122,105 @@ msgstr "limitat"
 msgid "Brand"
 msgstr "Marca"
 
+msgid "Cuisine"
+msgstr "Menjar"
+
+msgid "italian"
+msgstr "italià"
+
+msgid "chinese"
+msgstr "xinés"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamburguesa"
+
+msgid "greek"
+msgstr "grec"
+
+msgid "german"
+msgstr "alemany"
+
+msgid "indian"
+msgstr "indi"
+
+msgid "regional"
+msgstr "regional"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turc"
+
+msgid "asian"
+msgstr "asiàtic"
+
+msgid "thai"
+msgstr "tailandès"
+
+msgid "mexican"
+msgstr "mexicà"
+
+msgid "japanese"
+msgstr "japonès"
+
+msgid "french"
+msgstr "francès"
+
+msgid "sandwich"
+msgstr "sandwich"
+
+msgid "coffee_shop"
+msgstr "botiga de cafè"
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr "graella"
+
+msgid "fish_and_chips"
+msgstr "fish_and_chips"
+
+msgid "chicken"
+msgstr "pollastre"
+
+msgid "american"
+msgstr "nordamericana"
+
+msgid "ice_cream"
+msgstr "gelats"
+
+msgid "international"
+msgstr "internacional"
+
+msgid "seafood"
+msgstr "marisc"
+
+msgid "spanish"
+msgstr "espanyola"
+
+msgid "vietnamese"
+msgstr "vietnamita"
+
+msgid "fish"
+msgstr "peix"
+
+msgid "noodle"
+msgstr "fideus"
+
+msgid "barbecue"
+msgstr "barbacoa"
+
+msgid "vegetarian"
+msgstr "vegetariana"
+
+msgid "korean"
+msgstr "coreana"
+
 msgid "Internet access"
 msgstr "Accés a Internet"
 
@@ -18506,8 +18792,11 @@ msgstr "Màx. pes (tones)"
 msgid "Toll"
 msgstr "Peatge"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "El cos d''aigua és intermintent? (desapareix estacionalment?)"
+msgid "Intermittent"
+msgstr "Intermitent"
+
+msgid "Seasonal"
+msgstr "Estacional"
 
 msgid "In the tidal range"
 msgstr "És dins la zona de marea alta"
@@ -18884,7 +19173,7 @@ msgid "Tourist buses"
 msgstr "Autobús turístic"
 
 msgid "Max. speed Heavy Goods Vehicles (km/h)"
-msgstr ""
+msgstr "Velocitat màxima vehicles pesants (km/h)"
 
 msgid "Min. speed (km/h)"
 msgstr "Velocitat Min (km/h)"
@@ -19279,26 +19568,30 @@ msgstr "Es el cas de senyals de trànsit:"
 msgid "Traffic Calming"
 msgstr "Pacificació del trànsit"
 
-msgid "bump"
-msgstr "elevador"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
+msgstr ""
 
-msgid "chicane"
-msgstr "xican"
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
-msgstr "collaret"
+msgid "Cushion"
+msgstr ""
 
-msgid "cushion"
-msgstr "esmorteidor"
+msgid "Hump"
+msgstr ""
 
-msgid "hump"
-msgstr "gepa"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "banda rugosa"
+msgid "Rumble strip"
+msgstr ""
 
-msgid "table"
-msgstr "taula"
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Lloc de Passants"
@@ -19449,6 +19742,9 @@ msgstr "Muralla"
 msgid "Retaining Wall"
 msgstr "Mur de contenció"
 
+msgid "Jersey Barrier"
+msgstr "Barrera Jersey"
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Rasa"
@@ -19620,6 +19916,9 @@ msgstr "riu"
 msgid "Salt Water"
 msgstr "Aigua salada"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "El cos d''aigua és intermintent? (desapareix estacionalment?)"
+
 msgid "Coastline"
 msgstr "Línia costanera"
 
@@ -19687,16 +19986,6 @@ msgstr ""
 "Un cos d''aigua força gran parcialment tancat per terra però amb una boca "
 "ampla."
 
-msgid "Cliff"
-msgstr "Cingle, penya-segat"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Espadat de roca vertical o amb una notable verticalitat (el precipici queda "
-"a la dreta del traçat de la via -la línia-)"
-
 msgid "Shipping"
 msgstr "Navegació"
 
@@ -20629,66 +20918,6 @@ msgstr "Menjar i Beure"
 msgid "Restaurant"
 msgstr "Restaurant"
 
-msgid "Cuisine"
-msgstr "Menjar"
-
-msgid "italian"
-msgstr "italià"
-
-msgid "chinese"
-msgstr "xinés"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hamburguesa"
-
-msgid "greek"
-msgstr "grec"
-
-msgid "german"
-msgstr "alemany"
-
-msgid "indian"
-msgstr "indi"
-
-msgid "regional"
-msgstr "regional"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turc"
-
-msgid "asian"
-msgstr "asiàtic"
-
-msgid "thai"
-msgstr "tailandès"
-
-msgid "mexican"
-msgstr "mexicà"
-
-msgid "japanese"
-msgstr "japonès"
-
-msgid "french"
-msgstr "francès"
-
-msgid "sandwich"
-msgstr "sandwich"
-
-msgid "coffee_shop"
-msgstr "botiga de cafè"
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr "graella"
-
 msgid "Microbrewery"
 msgstr "Microcerveseria"
 
@@ -20701,19 +20930,13 @@ msgstr "Menjar per emportar"
 msgid "Fast Food"
 msgstr "Menjar ràpid"
 
-msgid "fish_and_chips"
-msgstr "fish_and_chips"
-
-msgid "chicken"
-msgstr "pollastre"
-
 msgid "Food Court"
 msgstr "Menjar i Beure"
 
 msgid "Cafe"
 msgstr "Cafè"
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr "gelats"
 
 msgid "Pub"
@@ -20893,6 +21116,12 @@ msgstr "Parc de diversió/Parc temàtic"
 msgid "Water Park"
 msgstr "Parc aquàtic"
 
+msgid "Swimming Pool"
+msgstr "Piscina"
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20927,9 +21156,6 @@ msgstr "Foguera"
 msgid "Fishing"
 msgstr "Pesca"
 
-msgid "Private Swimming Pool"
-msgstr "Piscina"
-
 msgid "Night Club"
 msgstr "Discoteca"
 
@@ -20972,12 +21198,18 @@ msgstr "estàtua"
 msgid "Artist Name"
 msgstr "Nom de l''artista"
 
-msgid "Recording Studio"
-msgstr "Estudi de Gravació"
+msgid "Studio"
+msgstr "Estudi"
 
 msgid "audio"
 msgstr "àudio"
 
+msgid "radio"
+msgstr "ràdio"
+
+msgid "television"
+msgstr "televisió"
+
 msgid "video"
 msgstr "vídeo"
 
@@ -21081,6 +21313,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "adventista del seté dia"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr "espiritista"
+
 msgid "Mosque"
 msgstr "Mesquita"
 
@@ -21240,9 +21476,128 @@ msgstr "(Utilitza el codi internacional, com +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinari"
 
-msgid "Social Facility"
+msgid "Emergency"
+msgstr "Emergència"
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Desfibril·lador automàtic"
+
+msgid "Located inside a building?"
+msgstr "És a dins de l''edifici?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Darrera verificació (AAAA-MM-DD)"
+
+msgid "Last check note"
+msgstr "Darrera nota de verificació"
+
+msgid "Fire Extinguisher"
+msgstr "Extintor"
+
+msgid "Indoor"
+msgstr "Interior"
+
+msgid "Fire Hose"
 msgstr ""
 
+msgid "Fire Hydrant"
+msgstr "Boca d''incendis"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "soterrada"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "pilar"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "mur"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "estany"
+
+msgid "Diameter (in mm)"
+msgstr "Diàmetre (en mm)"
+
+msgid "Hydrant Position"
+msgstr "Emplaçament d''hidrant"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "carril"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "aparcament"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "vorera"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "verd"
+
+msgid "Pressure (in bar)"
+msgstr "Pressió (en bar)"
+
+msgid "suction"
+msgstr "succió"
+
+msgid "Count"
+msgstr "Compta"
+
+msgid "Water Tank"
+msgstr "Dipòsit d''aigua"
+
+msgid "Volume (in liters)"
+msgstr "Volum (en litres)"
+
+msgid "Assembly Point"
+msgstr "Punt de reunió"
+
+msgid "Emergency Phone"
+msgstr "Telèfon d''emergència (pal SOS)"
+
+msgid "Siren"
+msgstr "Sirena"
+
+msgid "pneumatic"
+msgstr "pneumàtica"
+
+msgid "electronic"
+msgstr "electrònica"
+
+msgid "mechanical"
+msgstr "mecànica"
+
+msgid "Purpose"
+msgstr "Finalitat"
+
+msgid "tornado"
+msgstr "tornado"
+
+msgid "fire"
+msgstr "foc"
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr "defensa civil"
+
+msgid "Range (in meters)"
+msgstr "Radi (en metres)"
+
+msgid "Social Facility"
+msgstr "Equipament social"
+
 msgid "Nursing Home"
 msgstr "Casal de Gent Gran"
 
@@ -21250,20 +21605,20 @@ msgid "Group Home"
 msgstr ""
 
 msgid "For"
-msgstr ""
+msgstr "Per"
 
 msgid "Assisted Living"
-msgstr ""
+msgstr "Residència assistida"
 
 msgid "Outreach"
 msgstr ""
 
 msgctxt "social_facility"
 msgid "Shelter"
-msgstr ""
+msgstr "Alberg"
 
 msgid "Food Bank"
-msgstr ""
+msgstr "Banc d''aliments"
 
 msgid "Toilets/Restrooms"
 msgstr "Lavabos"
@@ -21309,10 +21664,10 @@ msgstr "orinal"
 
 msgctxt "toilets"
 msgid "Diaper"
-msgstr ""
+msgstr "Bolquers"
 
 msgid "room"
-msgstr ""
+msgstr "habitació"
 
 msgid "Post Box"
 msgstr "Bústia"
@@ -21352,24 +21707,9 @@ msgstr "Notes"
 msgid "Telephone cards"
 msgstr "Targetes telefòniques"
 
-msgid "Emergency Phone"
-msgstr "Telèfon d''emergència (pal SOS)"
-
 msgid "Internet Access"
 msgstr "Accés a Internet"
 
-msgid "Automated Defibrillator"
-msgstr "Desfibril·lador automàtic"
-
-msgid "Located inside a building?"
-msgstr "És a dins de l''edifici?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Darrera verificació (AAAA-MM-DD)"
-
-msgid "Last check note"
-msgstr "Darrera nota de verificació"
-
 msgid "Clock"
 msgstr "Rellotge"
 
@@ -21532,64 +21872,15 @@ msgctxt "height"
 msgid "full"
 msgstr "alta"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Aguait"
+msgstr ""
 
 msgid "Lock"
 msgstr "Bloca"
 
-msgid "Indoor"
-msgstr "Interior"
-
-msgid "Fire Hydrant"
-msgstr "Boca d''incendis"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "soterrada"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "pilar"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "mur"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "estany"
-
-msgid "Diameter (in mm)"
-msgstr "Diàmetre (en mm)"
-
-msgid "Hydrant Position"
-msgstr "Emplaçament d''hidrant"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "carril"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "aparcament"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "vorera"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "verd"
-
-msgid "Pressure (in bar)"
-msgstr "Pressió (en bar)"
-
-msgid "suction"
-msgstr "succió"
-
-msgid "Count"
-msgstr "Compta"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr "Aire comprimit"
@@ -21642,9 +21933,62 @@ msgstr "tartan"
 msgid "Racetrack"
 msgstr "Circuit"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Camp de golf"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr "Forat"
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Mini-Golf"
 
@@ -21869,9 +22213,6 @@ msgstr "Voleibol platja"
 msgid "Billiards"
 msgstr "Billars"
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "camp_de_golf"
 
@@ -22036,6 +22377,10 @@ msgid "gasometer"
 msgstr "gasòmetre"
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "estable"
 
@@ -22044,6 +22389,38 @@ msgid "construction"
 msgstr "construcció"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "basílica"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "catedral"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "capella"
+
+msgctxt "building"
+msgid "church"
+msgstr "església"
+
+msgctxt "building"
+msgid "temple"
+msgstr "temple"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "mesquita"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "sinagoga"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Nivells"
 
@@ -22156,6 +22533,9 @@ msgstr "Molí de vent"
 msgid "Gasometer"
 msgstr "Gasòmetre"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "Dipòsit"
 
@@ -22557,6 +22937,14 @@ msgstr "municions"
 msgid "hardened_aircraft_shelter"
 msgstr "búnquer antiaeri"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "subterrani"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "de superfície"
+
 msgid "Historic"
 msgstr "Històric"
 
@@ -22566,6 +22954,9 @@ msgstr "Ruïnes"
 msgid "Range"
 msgstr "Camp de pràctiques de tir"
 
+msgid "Power"
+msgstr "Energia"
+
 msgid "Power Plant"
 msgstr "Central elèctrica"
 
@@ -22999,11 +23390,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Armari de distribució"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Torre elèctrica"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr "Tipus de construcció"
@@ -23024,6 +23418,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "vermell/blanc"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr "portal"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portal de dos nivells"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portals de tres nivells"
+
+msgid "Power Tower"
+msgstr "Torre elèctrica"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Tipus de torre"
@@ -23147,18 +23559,6 @@ msgid "guyed_h-frame"
 msgstr "en forma d''h amb tirants"
 
 msgctxt "power"
-msgid "portal"
-msgstr "portal"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "portal de dos nivells"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "portals de tres nivells"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "en forma de v amb tirants"
 
@@ -23191,6 +23591,9 @@ msgstr "Atributs del pal:"
 msgid "Transformer Attributes:"
 msgstr "Atributs del transformador:"
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Línia elèctrica"
 
@@ -23448,6 +23851,9 @@ msgstr "Mobles"
 msgid "Kitchen"
 msgstr "Cuines"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Cortina"
 
@@ -23490,12 +23896,21 @@ msgstr "Per al cos"
 msgid "Chemist"
 msgstr "Química"
 
-msgid "Hairdresser/Barber"
-msgstr "Perruqueria/Barberia"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "Bellesa"
 
+msgid "Tobacco"
+msgstr "Tabac"
+
+msgid "Hairdresser/Barber"
+msgstr "Perruqueria/Barberia"
+
 msgid "Tattoo"
 msgstr "Tatuatges"
 
@@ -23821,6 +24236,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Telecomunicacions"
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geografia"
 
@@ -23991,6 +24481,16 @@ msgstr "Vall"
 msgid "A low area between hills."
 msgstr "Una vall entre muntanyes."
 
+msgid "Cliff"
+msgstr "Cingle, penya-segat"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Espadat de roca vertical o amb una notable verticalitat (el precipici queda "
+"a la dreta del traçat de la via -la línia-)"
+
 msgid "Cave Entrance"
 msgstr "Entrada de la cova"
 
@@ -24203,6 +24703,51 @@ msgstr "Prat"
 msgid "Orchard"
 msgstr "Plantació d''arbres fruiters"
 
+msgid "Trees"
+msgstr "Arbres"
+
+msgid "olive_trees"
+msgstr "oliveres"
+
+msgid "apple_trees"
+msgstr "pomeres"
+
+msgid "oil_palms"
+msgstr "palmeres"
+
+msgid "orange_trees"
+msgstr "tarongers"
+
+msgid "almond_trees"
+msgstr "ametllers"
+
+msgid "banana_plants"
+msgstr "bananers"
+
+msgid "coconut_palms"
+msgstr "cocoter"
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Vinya"
 
@@ -25002,9 +25547,6 @@ msgstr "{0} i {1} junt amb {2} i valors conflictius"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Combinació sospitosa d''etiquetes: {0} i {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} és obsolet"
-
 msgid "{0} is deprecated"
 msgstr "{0} és obsolet"
 
@@ -25034,8 +25576,8 @@ msgstr ""
 "Utilització incorrecta de l''etiqueta {0}. Suprimiu {1}, perquè és evident "
 "que manca el nom, fins i tot sense una altra etiqueta."
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} és obsolet. utilitzeu un multiplolígon com a alternativa."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr ""
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -25087,6 +25629,15 @@ msgstr "clau massa curta"
 msgid "{0} is inaccurate"
 msgstr "{0} no és prou precís"
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} a un node. Ha de ser utilitzat a una via."
 
@@ -25102,6 +25653,9 @@ msgstr "{0} a una via. Ha de ser utilitzat a un node."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} a una via. S''ha d''utilitzar a una relació"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} a un node"
 
@@ -25129,6 +25683,9 @@ msgstr "{0} ha d''estar connectat amb una via"
 msgid "node connects waterway and bridge"
 msgstr "el node connecta un curs d''aigua i un pont"
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "nom abreviat del carrer"
 
@@ -25172,8 +25729,8 @@ msgstr "etiqueta de capa amb el signe +"
 msgid "layer should be between -5 and 5"
 msgstr "la capa ha d''estar entre -5 i 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "el nivell ha de ser un nombre amb increments opcionals de .5"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr ""
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -28967,8 +29524,8 @@ msgstr "imatges"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr "La font del senyal de trànsit de ''{0}'' té un format incorrecte."
 
-msgid "Could not read font-file from ''{{0}}''."
-msgstr "No es pot llegir el fitxer de la font de ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
+msgstr ""
 
 msgid "Mapillary"
 msgstr "Mapillary"
@@ -29284,6 +29841,9 @@ msgstr "Inici de sessió de Mapillar"
 msgid "Login successful, return to JOSM."
 msgstr "Sessió iniciada correctament, retorn a JOSM."
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr "Descarregant imatges de Mapillary"
 
@@ -29299,6 +29859,18 @@ msgstr "La pujada ha finalitzat"
 msgid "Uploading: {0}"
 msgstr "Pujant: {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Valors mesurats"
 
@@ -30371,19 +30943,19 @@ msgid "Please load some photos."
 msgstr "Si us plau carregeu alguna foto"
 
 msgid "Edit photo GPS data"
-msgstr ""
+msgstr "Modifica dades GPS de la fotografia"
 
 msgid "Edit GPS data of selected photo."
-msgstr ""
+msgstr "Modifica dades GPS de la fotografia seleccionada"
 
 msgid "Edit Photo GPS Data"
-msgstr ""
+msgstr "Modifica dades GPS de la fotografia"
 
 msgid "Please select an image first."
-msgstr ""
+msgstr "Si us plau, seleccioneu primer una fotografia"
 
 msgid "No image selected"
-msgstr ""
+msgstr "No heu seleccionat cap imatge"
 
 msgid "(Empty values delete the according fields.)"
 msgstr ""
@@ -30392,46 +30964,46 @@ msgid "coordinates"
 msgstr "coordenades"
 
 msgid "Latitude and longitude"
-msgstr ""
+msgstr "Latitud i longitud"
 
 msgid "Edit Image Coordinates"
-msgstr ""
+msgstr "Edita les coordenades de la imatge"
 
 msgid "Edit coordinates in separate editor"
-msgstr ""
+msgstr "Edita les coordenade amb un editor extern"
 
 msgid "altitude"
-msgstr ""
+msgstr "altura"
 
 msgid "Altitude:"
-msgstr ""
+msgstr "Altura:"
 
 msgid "speed"
-msgstr ""
+msgstr "velocitat"
 
 msgid "positive number or empty"
-msgstr ""
+msgstr "nombre positiu o deixar buit"
 
 msgid "Speed:"
-msgstr ""
+msgstr "Velocitat:"
 
 msgid "direction"
-msgstr ""
+msgstr "direcció"
 
 msgid "range -360.0 .. 360.0, or empty"
-msgstr ""
+msgstr "valor entre -360.0 .. 360.0, o buit"
 
 msgid "Direction:"
-msgstr ""
+msgstr "Direcció:"
 
 msgid "°"
-msgstr ""
+msgstr "°"
 
 msgid "Undo changes made in this dialog"
-msgstr ""
+msgstr "Desfés els canvis fets en aquesta pantalla"
 
 msgid "Reload GPS data from image file"
-msgstr ""
+msgstr "Recarrega les dades GPS del fitxer de la imatge"
 
 msgid "New layer for untagged images"
 msgstr "Nova capa per imatges no etiquetades"
@@ -30748,6 +31320,12 @@ msgstr "Connector Proj4J"
 msgid "Code"
 msgstr "Codi"
 
+msgid "Can''t parse a time from this string."
+msgstr "No és possible de llegir la hora d''aquesta cadena de text."
+
+msgid "Invalid value"
+msgstr "Valor Invàlid"
+
 msgid "added"
 msgstr "afegit"
 
@@ -30836,15 +31414,6 @@ msgstr "Capta"
 msgid "Join"
 msgstr "Entra"
 
-msgid "Enable"
-msgstr "Activa"
-
-msgid "Can''t parse a time from this string."
-msgstr "No és possible de llegir la hora d''aquesta cadena de text."
-
-msgid "Invalid value"
-msgstr "Valor Invàlid"
-
 msgid "moved"
 msgstr "mogut"
 
@@ -33022,6 +33591,9 @@ msgstr "La via on hi ha els nodes seleccionats no pot ser adreçada"
 msgid "Internal error: number of nodes is {0}."
 msgstr "Error intern: el nombre de nodes és {0}"
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Extreure un node"
 
@@ -33695,6 +34267,11 @@ msgstr[1] "Obtenint {0} IDs de dades wiki per la llengua ''{1}''"
 msgid "Add Wikidata for language ''{0}''"
 msgstr "Afegides dades wiki per a la llengua ''{0}''"
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Afegeix noms de la viquipèdia"
 
@@ -33792,5 +34369,5 @@ msgstr "Anar en cotxe"
 msgid "Drive a race car on this layer"
 msgstr "Conduir un cotxe de carreres sobre aquesta capa"
 
-#~ msgid "Retirement Home"
-#~ msgstr "Residència Gent Gran"
+#~ msgid "Could not read font-file from ''{{0}}''."
+#~ msgstr "No es pot llegir el fitxer de la font de ''{{0}}''."
diff --git a/i18n/po/ca at valencia.po b/i18n/po/ca at valencia.po
index aff4cb3..39d3cf1 100644
--- a/i18n/po/ca at valencia.po
+++ b/i18n/po/ca at valencia.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-04-25 18:52+0000\n"
 "Last-Translator: Dirk Stöcker <launchpad at dstoecker.de>\n"
 "Language-Team: el_libre - - www.catmidia.cat\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:10+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:09+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: ca at valencia\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -397,6 +397,9 @@ msgstr ""
 "No és possible la combinació de les vies<br>(No poden ser unides per a "
 "formar una única sèrie de nodes)"
 
+msgid "Reverse Ways"
+msgstr "Canvia el sentit de les vies"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -452,6 +455,12 @@ msgstr "Suprimeix"
 msgid "Delete selected objects."
 msgstr "Suprimeix els objectes seleccionats"
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Commuta les finestres"
 
@@ -1264,9 +1273,6 @@ msgstr "Feu clic per reiniciar després"
 msgid "Reverse way"
 msgstr "Sentit contrari"
 
-msgid "Reverse Ways"
-msgstr "Canvia el sentit de les vies"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Inverteix el sentit de totes les vies seleccionades"
 
@@ -1632,6 +1638,16 @@ msgstr ""
 "Sou a punt de separar objectes incomplets.<br>Això pot causar problemes "
 "perquè no veieu l''objecte real.<br>Segur que els voleu separar?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Desconnecta el node de la via"
 
@@ -2416,6 +2432,11 @@ msgstr "Afig els objectes seleccionats al final del conjunt de dades actual"
 msgid "Add selection to relation"
 msgstr "Afig la selecció a la relació"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Afig la seleció la relació {0}"
@@ -2458,6 +2479,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Editor de relació: {0}"
+
 msgid "Select in relation list"
 msgstr "Seleccionar la relació a la llista"
 
@@ -2827,9 +2857,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
-"Esperant <i>mín</i>/<i>màx</i> després de ''timestamp'' (data i hora)"
 
 msgid "Range of primitive ids expected"
 msgstr "Interval d''identificadors de primietives esperat"
@@ -3457,9 +3489,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr " (a la línia {0}, columna {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "La preferència {0} ha estat suprimida perquè ja no s''utilitza."
 
@@ -3520,6 +3549,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "No s''ha trobat la projecció ''{0}'', el favorit ''{1}'' no pot ser "
@@ -3773,6 +3805,9 @@ msgstr "text"
 msgid "areatext"
 msgstr "àrea de text"
 
+msgid " (at line {0}, column {1})"
+msgstr " (a la línia {0}, columna {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3859,12 +3894,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "Paràmetre ''{0}'' requirit."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Cònica conforme de Lambert"
 
@@ -3874,6 +3921,24 @@ msgstr "Lat/lon (Geodetic)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Mercator oblíqua suïssa"
 
@@ -4466,6 +4531,9 @@ msgstr "Espai blanc no vàlid a la clau"
 msgid "Property values start or end with white space"
 msgstr "Els valors comencen o acaben amb un espai en blanc"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Els valors contenen codi HTML"
 
@@ -5178,9 +5246,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -5239,12 +5304,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "La latitud geogràfica a la posició del punter del ratolí."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "La longitud geogràfica a la posició del punter del ratolí."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Orientació del segment que està essent dibuixat"
 
@@ -5274,6 +5333,18 @@ msgstr "Nom d''usuari:"
 msgid "Do not hide status bar"
 msgstr "No amagis la barra d''eines"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "La latitud geogràfica a la posició del punter del ratolí."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "La longitud geogràfica a la posició del punter del ratolí."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -6152,6 +6223,18 @@ msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 "Obri una finestra per fusionar els elements seleccionats a la llista."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Ha estat detectat {0} conflicte."
@@ -6274,6 +6357,9 @@ msgstr "Moure el filtre avall"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filtre amagat:{0} Deshabilitat:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Error al filtre"
 
@@ -6717,6 +6803,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -7081,21 +7170,14 @@ msgstr[1] ""
 "<html>Cap dels objectes seleccionats  està disponible a la <br>capa en "
 "edició ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Descarregar el contingut"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Descarregar del servidor OSM el contingut del conjunt de canvis"
+msgid "Download and show the history of the selected objects"
+msgstr "Descarregar i mostrar l''historial de l''objecte seleccionat"
 
-msgid "Update content"
-msgstr "Actualitzar el contingut"
+msgid "Download objects"
+msgstr "Descarregar objectes"
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download the current version of the selected objects"
 msgstr ""
-"Actualitzar el contingut del conjunt de canvis amb dades del servidor OSM"
-
-msgid "Download and show the history of the selected objects"
-msgstr "Descarregar i mostrar l''historial de l''objecte seleccionat"
 
 msgid "Select in layer"
 msgstr "Seleccionar a la capa"
@@ -7205,6 +7287,19 @@ msgstr "obert"
 msgid "closed"
 msgstr "tancat"
 
+msgid "Download content"
+msgstr "Descarregar el contingut"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Descarregar del servidor OSM el contingut del conjunt de canvis"
+
+msgid "Update content"
+msgstr "Actualitzar el contingut"
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+"Actualitzar el contingut del conjunt de canvis amb dades del servidor OSM"
+
 msgid "Changeset ID: "
 msgstr "ID del conjunt de canvis: "
 
@@ -7582,8 +7677,8 @@ msgstr "Editar el valor de la clau seleccionada per a tots els objectes"
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Anar al wiki OSM per obtindre ajuda (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr ""
@@ -7619,6 +7714,9 @@ msgstr "Copiar totes les claus/valors"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Cercar clau/valor/tipus"
 
@@ -7688,6 +7786,27 @@ msgstr "Estableix el nombre de les etiquetes afegides recentment"
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Activa"
+
+msgid "Hide"
+msgstr "Aguait"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7808,9 +7927,6 @@ msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 "Centrar l''editor de relacions a la relació ''{0}'' a la capa ''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Editor de relació: {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 "
@@ -7852,6 +7968,73 @@ msgstr ""
 "crearà referències circulars i es desaconsella.<br>Anul·lar la relació "
 "''{0}''.</html>"
 
+msgid "Select previous Gap"
+msgstr "Selecciona l''interval previ"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Selecciona el membre anterior de la relació que genera un interval"
+
+msgid "Select next Gap"
+msgstr "Seleccionar l''interval següent"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Selecciona el membre següent de la relació que genera un interval"
+
+msgid "Zoom to Gap"
+msgstr "Amplia a l''interval"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Amplia a l''interval en la seqüència de la via"
+
+msgid "Refers to"
+msgstr "Fa referència a"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
+
+msgid "Download referring relations"
+msgstr "Descarrega les relacions que s''hi refereixen"
+
+msgid "There were {0} conflicts during import."
+msgstr "Hi havia {0} conflictes durant la importació."
+
+msgid "including immediate children of parent relations"
+msgstr "incloent els fills directes de la relació"
+
+msgid "Load parent relations"
+msgstr "Carrega les relacions parents"
+
+msgid "Reload"
+msgstr "Recarrega"
+
+msgid "Loading parent relations"
+msgstr "Carregant les relacions parents"
+
+msgid "Edit the currently selected relation"
+msgstr "Modificar la relació seleccionada"
+
+msgid "Apply Changes"
+msgstr "Aplica els canvis"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Crear una nova relació a la capa ''{0}''"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Modificar la nova relació a la capa ''{0}''"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Modificar la relació #{0} a la capa ''{1}''"
+
+msgid "Load relation"
+msgstr "Carregar la relació"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Afig els objectes seleccionats al conjunt de dades deprés del darrer membre "
+"seleccionat"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -7862,69 +8045,130 @@ msgid ""
 "member"
 msgstr "Afegir els objectes seleccionats abans del primer membre seleccionat"
 
+msgid "Apply the current updates"
+msgstr "Aplicar les actualitzacions"
+
+msgid "Cancel the updates and close the dialog"
+msgstr "Anular les actualitzacions i tancar la finestra"
+
+msgid "Yes, save the changes and close"
+msgstr "Si, guardar els canvis i tancar"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Feu clic per guardar els canvis i tancar este editor de relacions"
+
+msgid "No, discard the changes and close"
+msgstr "No, descartar els canvis i tancar"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Feu cli perdescartar els canvis i tancar este editor de relacions"
+
+msgid "Cancel, continue editing"
+msgstr "Cancel·lar, continuar l''edició"
+
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+"Cliqueu per tornar a l''editor de relacions i reprendre la modificació de la "
+"relació"
+
 msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
+msgstr "<html>La relació ha canviat.<br><br>Voleu guardar elsvostres canvis?"
+
+msgid "Unsaved changes"
+msgstr "Canvis sense guardar"
+
+msgid "Delete the currently edited relation"
+msgstr "Suprimir la relació que s''està editant"
+
+msgid "Relation Editor: Download Members"
+msgstr "Editor de relacions: Descarregar membres"
+
+msgid "Download all incomplete members"
+msgstr "Descarregant els membres incomplets"
+
+msgid "Download Members"
+msgstr "Descarregant els membres"
+
+msgid "Download selected incomplete members"
+msgstr "Descarregar els mmebres incomplets seleccionats"
+
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
-"Afig els objectes seleccionats al conjunt de dades deprés del darrer membre "
+"Modifica la relació a la qual fa referència el membre de la relació "
 "seleccionat"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Suprimir els membres que es refereixen als objectes seleccionats"
+msgid "Relation Editor: Move Down"
+msgstr "Editor de relacions: Moure avall"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr ""
-"Selecciona els membres de la relació que fan referència als objectes de la "
-"selecció"
+msgid "Move the currently selected members down"
+msgstr "Moure els membres seleccionats avall"
+
+msgid "Relation Editor: Move Up"
+msgstr "Editor de relacions: Moure amunt"
+
+msgid "Move the currently selected members up"
+msgstr "Moure els membres seleccionats amunt"
+
+msgid "Apply the updates and close the dialog"
+msgstr "Aplicar les actualitzacions i tancar la finestra"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
-"Selecciona els membres de la relació que fan referència als objectes {0} de "
-"la selecció"
+"Els membres provinents del portarretalls no poden ser afegits perquè no són "
+"presents a la capa actual"
 
-msgid "Select objects for selected relation members"
-msgstr "Trieu objectes pels membres de la relació seleccionats"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Sort the relation members"
-msgstr "Ordenar els membres de la relació"
+msgid "Refresh relation from data layer"
+msgstr ""
 
-msgid "Relation Editor: Sort"
-msgstr "Editor de relacions: Ordenar"
+msgid "Refresh"
+msgstr "Actualitza"
 
-msgid "Sort below"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
-msgstr "Invertir l''orde dels membres de la relació"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
 
-msgid "Reverse"
-msgstr "Invertir"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "Moure els membres seleccionats amunt"
+msgid "No, continue editing"
+msgstr "No, continuar modificant"
 
-msgid "Relation Editor: Move Up"
-msgstr "Editor de relacions: Moure amunt"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr "Moure els membres seleccionats avall"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "Relation Editor: Move Down"
-msgstr "Editor de relacions: Moure avall"
+msgid "Relation Editor: Remove"
+msgstr "Editor de relacions: Suprimir"
 
 msgid "Remove the currently selected members from this relation"
 msgstr "Suprimir d''esta relació els membres seleccionats"
 
-msgid "Relation Editor: Remove"
-msgstr "Editor de relacions: Suprimir"
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Suprimir els membres que es refereixen als objectes seleccionats"
 
-msgid "Delete the currently edited relation"
-msgstr "Suprimir la relació que s''està editant"
+msgid "Reverse the order of the relation members"
+msgstr "Invertir l''orde dels membres de la relació"
+
+msgid "Reverse"
+msgstr "Invertir"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -7941,14 +8185,6 @@ msgstr "Si, crear un conflicte i tancar"
 msgid "Click to create a conflict and close this relation editor"
 msgstr "Cliqueu per a crear un conflicte i tancar este editor de relacions"
 
-msgid "No, continue editing"
-msgstr "No, continuar modificant"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Cliqueu per tornar a l''editor de relacions i reprendre la modificació de la "
-"relació"
-
 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 "
@@ -7965,52 +8201,20 @@ msgstr ""
 "<html>La capa ''{0}'' té un conflicte per l''objecte<br>''{1}''.<br>Si vos "
 "plau resolgueu primer este conflicte i llavors toneu a provar.</html>"
 
-msgid "Apply the current updates"
-msgstr "Aplicar les actualitzacions"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Aplicar les actualitzacions i tancar la finestra"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Anular les actualitzacions i tancar la finestra"
-
-msgid "Yes, save the changes and close"
-msgstr "Si, guardar els canvis i tancar"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Feu clic per guardar els canvis i tancar este editor de relacions"
-
-msgid "No, discard the changes and close"
-msgstr "No, descartar els canvis i tancar"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Feu cli perdescartar els canvis i tancar este editor de relacions"
-
-msgid "Cancel, continue editing"
-msgstr "Cancel·lar, continuar l''edició"
+msgid "Select objects for selected relation members"
+msgstr "Trieu objectes pels membres de la relació seleccionats"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
-msgstr "<html>La relació ha canviat.<br><br>Voleu guardar elsvostres canvis?"
-
-msgid "Unsaved changes"
-msgstr "Canvis sense guardar"
-
-msgid "Add an empty tag"
-msgstr "Afig una etiqueta buida"
-
-msgid "Download all incomplete members"
-msgstr "Descarregant els membres incomplets"
-
-msgid "Download Members"
-msgstr "Descarregant els membres"
-
-msgid "Relation Editor: Download Members"
-msgstr "Editor de relacions: Descarregar membres"
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+"Selecciona els membres de la relació que fan referència als objectes de la "
+"selecció"
 
-msgid "Download selected incomplete members"
-msgstr "Descarregar els mmebres incomplets seleccionats"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Selecciona els membres de la relació que fan referència als objectes {0} de "
+"la selecció"
 
 msgid "Sets a role for the selected members"
 msgstr "Establir un rol per als membres seleccionats"
@@ -8038,74 +8242,17 @@ msgstr "No, no aplicar-ho"
 msgid "Confirm empty role"
 msgstr "Confirmar rol buit"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr ""
-"Modifica la relació a la qual fa referència el membre de la relació "
-"seleccionat"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Els membres provinents del portarretalls no poden ser afegits perquè no són "
-"presents a la capa actual"
-
-msgid "Select previous Gap"
-msgstr "Selecciona l''interval previ"
-
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Selecciona el membre anterior de la relació que genera un interval"
-
-msgid "Select next Gap"
-msgstr "Seleccionar l''interval següent"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Selecciona el membre següent de la relació que genera un interval"
-
-msgid "Zoom to Gap"
-msgstr "Amplia a l''interval"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Amplia a l''interval en la seqüència de la via"
-
-msgid "Refers to"
-msgstr "Fa referència a"
-
-msgid "Download referring relations"
-msgstr "Descarrega les relacions que s''hi refereixen"
-
-msgid "There were {0} conflicts during import."
-msgstr "Hi havia {0} conflictes durant la importació."
-
-msgid "including immediate children of parent relations"
-msgstr "incloent els fills directes de la relació"
-
-msgid "Load parent relations"
-msgstr "Carrega les relacions parents"
-
-msgid "Reload"
-msgstr "Recarrega"
-
-msgid "Loading parent relations"
-msgstr "Carregant les relacions parents"
-
-msgid "Edit the currently selected relation"
-msgstr "Modificar la relació seleccionada"
-
-msgid "Apply Changes"
-msgstr "Aplica els canvis"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Crear una nova relació a la capa ''{0}''"
+msgid "Relation Editor: Sort"
+msgstr "Editor de relacions: Ordenar"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Modificar la nova relació a la capa ''{0}''"
+msgid "Sort the relation members"
+msgstr "Ordenar els membres de la relació"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Modificar la relació #{0} a la capa ''{1}''"
+msgid "Sort below"
+msgstr ""
 
-msgid "Load relation"
-msgstr "Carregar la relació"
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "la via està connectada"
@@ -8543,6 +8690,11 @@ msgstr ""
 "<html>La versió <strong>{0}</strong> ha estat creada a "
 "<strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8669,15 +8821,15 @@ msgid "Upload"
 msgstr "Puja"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Seleccioneu les accions a fer per esta capa si feu clic sobre el botó "
-"situat més a l''esquerra.<br/>Marqueu \"Pujar\" per pujar els canvis al "
-"servidor OSM<br/>Marqueu \"Guardar\" per guardar la capa al fitxer "
-"especificat a l''esquerra.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Afegiu un comentari descrivint els canvis que esteu pujant:"
@@ -8879,9 +9031,6 @@ msgstr ""
 "Ha fallat l''obtenció d''informació de l''usuari de JOSM. L''excepció ha "
 "estat: {0}"
 
-msgid "Download objects"
-msgstr "Descarregar objectes"
-
 msgid "Initializing nodes to download ..."
 msgstr "Inicialitzant nodes a descarregar ..."
 
@@ -9493,8 +9642,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} objecte a suprimir:"
 msgstr[1] "{0} objectes a suprimir:"
 
-msgid "Show Tile Info"
-msgstr "Mostra informació de la tessel·la"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr ""
@@ -9502,17 +9651,23 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr "Auto-ampliació"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Carrega automàticament les tessel·les"
 
-msgid "Load All Tiles"
-msgstr "Carrega totes les tessel·les"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "Carrega totes les tessel·les amb error"
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "Amplia a la resolució nativa"
@@ -9520,26 +9675,17 @@ msgstr "Amplia a la resolució nativa"
 msgid "Change resolution"
 msgstr "Canviar resolució"
 
-msgid "Failed to create tile source"
-msgstr ""
-
-msgid "Show Errors"
-msgstr "Mostra els errors"
-
-msgid "Load Tile"
-msgstr "Carrega tessel·la"
-
 msgid "Increase zoom"
 msgstr "Ampliar"
 
 msgid "Decrease zoom"
 msgstr "Fer més petit"
 
-msgid "Snap to tile size"
-msgstr "Discretitza a la mida de la tessel·la"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Buida la memòria cau de tessel·les"
+msgid "Failed to create tile source"
+msgstr ""
 
 msgid "zoom in to load any tiles"
 msgstr "amplia per carregar cada tessel·la"
@@ -9979,6 +10125,9 @@ msgstr ""
 "Error en analitzar el decalatge.\n"
 "Format esperat: {0}"
 
+msgid "Geotagged Images"
+msgstr "Imatges geolocalitzades"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Extreïent localitzacions GPS a partir de la informació EXIF"
 
@@ -10003,9 +10152,6 @@ msgstr "Error en recuperar fitxers del directori {0}\n"
 msgid "One of the selected files was null"
 msgstr "Un dels fitxers seleccionats era nul"
 
-msgid "Geotagged Images"
-msgstr "Imatges geolocalitzades"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} imatge carregada"
@@ -10398,10 +10544,8 @@ msgstr ""
 "Ha fallat l''anàlisi dels estils de Mappaint de ''{0}''. L''excepció ha "
 "estat: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
+msgid "Failed to locate image ''{0}''"
+msgstr "Ha fallat la localització la imatge ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "L''estil de traçat no és válid, els valors han de ser positius"
@@ -10452,6 +10596,12 @@ msgstr "URL del testimoni d''autenticació"
 msgid "Authorize URL:"
 msgstr "URL d''autorització:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 "Feu clic per reinicialitzar els paràmetres d''OAuth amb els valors "
@@ -10532,13 +10682,6 @@ msgstr "Nom d''usuari: "
 msgid "Password: "
 msgstr "Contrasenya: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Avís:</strong> JOSM es connecta <strong>un únic cop</strong> "
-"utilitzant una connexió segura."
-
 msgid "Granted rights"
 msgstr "Drets atorgats"
 
@@ -10687,6 +10830,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Per favor, seleccioneu un procediment d''autorització: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Obté un testimoni d''autenticació per ''{0}''"
 
@@ -11101,6 +11250,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr "Barra d''eines: {0}"
 
+msgid "add entry"
+msgstr "afegir entrada"
+
+msgid "Remove the selected entry"
+msgstr "Suprimir l''entrada seleccionada"
+
+msgid "Key: {0}"
+msgstr "Clau: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Preferències avançades"
 
@@ -11195,18 +11353,9 @@ msgstr "Escolliu el fitxer del perfil"
 msgid "Change list setting"
 msgstr "Canviar la llista de paràmetres"
 
-msgid "Key: {0}"
-msgstr "Clau: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Canviar la llista de llistats de paràmetres"
 
-msgid "add entry"
-msgstr "afegir entrada"
-
-msgid "Remove the selected entry"
-msgstr "Suprimir l''entrada seleccionada"
-
 msgid "Change list of maps setting"
 msgstr "Canvia la llista de configuracions de mapes"
 
@@ -11922,9 +12071,6 @@ msgstr "copiar els valors de defecte seleccionats"
 msgid "Please select at least one row to copy."
 msgstr "Per favor, seleccioneu com a mínim una fila per copiar"
 
-msgid "reload defaults"
-msgstr "recarregar valors per defecte"
-
 msgid "Menu Name"
 msgstr "Nom del menú"
 
@@ -12237,6 +12383,9 @@ msgstr[0] "La descàrrega del següent connector <strong>ha fallat</strong>:"
 msgstr[1] ""
 "La descàrrega dels següents connectors {0} <strong>ha fallat</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Missatge d''error(sense traduir): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 "Per favor, reinicieu JOSM per tal d''activar els connectors descarregats."
@@ -12920,12 +13069,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr "Energia"
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Religió"
 
@@ -13015,6 +13158,9 @@ msgstr "Utilitzar preconfiguració ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Els elements de tipus {0} són suportats."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -13085,6 +13231,9 @@ msgstr "Cercar element predefinit"
 msgid "Presets"
 msgstr "Predefinicions"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -13138,6 +13287,9 @@ msgstr ""
 "El nombre d''etiquetes predefinides \"{0}-{1}\" no és coherent. El nombre "
 "d''elements ''short_descriptions'' ha de ser el mateix que el de ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Més informació sobre esta funcionalitat"
 
@@ -13234,19 +13386,33 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "fals: la propietat ha estat deshabilitada expressament"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 "cert: la propietat ha estat habilitada expressament<html>Please confirm to "
 "remove <strong>1 object</strong> from <strong>1 relation</strong>.</html>"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "parcial: els objectes seleccionats tenen diferents propietats, no ho canvieu"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "no definit: no aplicar esta propietat als objectes seleccionats"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "Retalla"
 
@@ -13802,6 +13968,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Valor inesperat per a la preferència ''{0}''. És ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "Fitxers del servidor OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Ha hagut un error en guardar.<br>L''error és:<br>{0}</html>"
 
@@ -13818,9 +13987,6 @@ msgstr "Fitxers del servidor OSM comprimits amb gzip"
 msgid "Parsing OSM history data ..."
 msgstr "Processant les dades d''historial..."
 
-msgid "OSM Server Files"
-msgstr "Fitxers del servidor OSM"
-
 msgid "Invalid dataset"
 msgstr "Conjunt de dades invàlid"
 
@@ -14033,9 +14199,6 @@ msgstr "Pujant dades ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Trobat un objecte OSM amb ID zero"
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr "S''estan descarregant les dades..."
 
@@ -14218,24 +14381,29 @@ msgstr ""
 "El control remot ha demanat d''informar de la versió del protocol. Això "
 "permet als llocs web de detectar un JOSM en funcionament."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"La versió ''{0}'' de metadades per la capa d''imatges georeferenciades no "
-"està suportada. S''esperava la versió: 0.1"
+msgid "local file"
+msgstr "fitxer local"
+
+msgid "include"
+msgstr "inclou"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "La capa conté dades no guardades - guardar a un fitxer."
+
+msgid "Layer does not contain unsaved data."
+msgstr "La capa no conté dades sense guardar."
 
 msgid "Data:"
 msgstr "Dades:"
 
-msgid "local file"
-msgstr "fitxer local"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Enllaç a un fitxer de dades OSM al disc local."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Enllaç vers un fitxer GPX del vostre disc local."
+msgid "Include OSM data in the .joz session file."
+msgstr "Incloure dades OSM al fitxer .joz de la sessió."
 
-msgid "include"
-msgstr "inclou"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Inclou dades GPX al fitxer de sessió .joz."
@@ -14246,6 +14414,16 @@ msgstr "Cap associació de fitxer"
 msgid "GPX data will be included in the session file."
 msgstr "Les dades GPX seran incloses al fitxer de sessió-"
 
+msgid "OSM data will be included in the session file."
+msgstr "Les dades OSM seran incloses al fitxer de la sessió."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"La versió ''{0}'' de metadades per la capa d''imatges georeferenciades no "
+"està suportada. S''esperava la versió: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14267,20 +14445,9 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "La capa conté dades no guardades - guardar a un fitxer."
-
-msgid "Layer does not contain unsaved data."
-msgstr "La capa no conté dades sense guardar."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Enllaç a un fitxer de dades OSM al disc local."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Incloure dades OSM al fitxer .joz de la sessió."
-
-msgid "OSM data will be included in the session file."
-msgstr "Les dades OSM seran incloses al fitxer de la sessió."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15155,9 +15322,6 @@ msgstr ""
 "gran.<br>Demaneu una àrea més petita o utilitzeu un fitxer d''exportació "
 "dels que proveeix la comunitat OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Missatge d''error(sense traduir): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15204,6 +15368,9 @@ msgstr "La descàrrega ha estat redirigida vers ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Massa redireccions vers la URL descarregada. Anul·lant."
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "No ha estat possible de trobar una traducció a la llengua {0}. Revertint a "
@@ -15216,9 +15383,6 @@ msgstr ""
 "Error: ha fallat la localització la imatge ''{0}''. Això és un problema greu "
 "de configuració. JOSM s''aturarà."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Ha fallat la localització la imatge ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 "Ha fallat la gestió del fitxer zip ''{0}''.  L''excepció ha estat: {1}"
@@ -15361,6 +15525,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -15694,9 +15861,6 @@ msgstr "Obri el fitxer seleccionat"
 msgid "Open selected file."
 msgstr "Obri el fitxer seleccionat."
 
-msgid "Refresh"
-msgstr "Actualitza"
-
 msgid "Rename File"
 msgstr "Canvia el nom del fitxer"
 
@@ -15790,6 +15954,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -15856,6 +16023,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -15952,13 +16122,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -16081,6 +16254,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -16101,9 +16277,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -16174,6 +16347,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -16207,10 +16389,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -16922,6 +17107,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Crea una graella de vies."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "Crea i manega adreces i edificis a la República Txeca."
@@ -17655,6 +17843,105 @@ msgstr "limitat"
 msgid "Brand"
 msgstr "Marca"
 
+msgid "Cuisine"
+msgstr "Menjar"
+
+msgid "italian"
+msgstr "italià"
+
+msgid "chinese"
+msgstr "xinés"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamburguesa"
+
+msgid "greek"
+msgstr "grec"
+
+msgid "german"
+msgstr "alemany"
+
+msgid "indian"
+msgstr "indi"
+
+msgid "regional"
+msgstr "regional"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turc"
+
+msgid "asian"
+msgstr "asiàtic"
+
+msgid "thai"
+msgstr "tailandés"
+
+msgid "mexican"
+msgstr "mexicà"
+
+msgid "japanese"
+msgstr "japonés"
+
+msgid "french"
+msgstr "francés"
+
+msgid "sandwich"
+msgstr "sandwich"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "fish_and_chips"
+
+msgid "chicken"
+msgstr "pollastre"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "gelats"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Accés a Internet"
 
@@ -18222,7 +18509,10 @@ msgstr "Màx. pes (tones)"
 msgid "Toll"
 msgstr "Peatge"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -18990,26 +19280,30 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Pacificació del trànsit"
 
-msgid "bump"
-msgstr "elevador"
+msgid "Bump"
+msgstr ""
 
-msgid "chicane"
-msgstr "xican"
+msgid "Chicane"
+msgstr ""
 
-msgid "choker"
-msgstr "collaret"
+msgid "Choker"
+msgstr ""
 
-msgid "cushion"
-msgstr "esmorteidor"
+msgid "Cushion"
+msgstr ""
 
-msgid "hump"
-msgstr "gepa"
+msgid "Hump"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "banda rugosa"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "table"
-msgstr "taula"
+msgid "Rumble strip"
+msgstr ""
+
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Lloc de Passants"
@@ -19158,6 +19452,9 @@ msgstr "Muralla"
 msgid "Retaining Wall"
 msgstr "Mur de contenció"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Rasa"
@@ -19329,6 +19626,9 @@ msgstr "riu"
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Línia costanera"
 
@@ -19391,14 +19691,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Penya-segat"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr "Navegació"
 
@@ -20329,66 +20621,6 @@ msgstr "Menjar i Beure"
 msgid "Restaurant"
 msgstr "Restaurant"
 
-msgid "Cuisine"
-msgstr "Menjar"
-
-msgid "italian"
-msgstr "italià"
-
-msgid "chinese"
-msgstr "xinés"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hamburguesa"
-
-msgid "greek"
-msgstr "grec"
-
-msgid "german"
-msgstr "alemany"
-
-msgid "indian"
-msgstr "indi"
-
-msgid "regional"
-msgstr "regional"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turc"
-
-msgid "asian"
-msgstr "asiàtic"
-
-msgid "thai"
-msgstr "tailandés"
-
-msgid "mexican"
-msgstr "mexicà"
-
-msgid "japanese"
-msgstr "japonés"
-
-msgid "french"
-msgstr "francés"
-
-msgid "sandwich"
-msgstr "sandwich"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr "Microcerveseria"
 
@@ -20401,20 +20633,14 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Menjar ràpid"
 
-msgid "fish_and_chips"
-msgstr "fish_and_chips"
-
-msgid "chicken"
-msgstr "pollastre"
-
 msgid "Food Court"
 msgstr "Menjar i Beure"
 
 msgid "Cafe"
 msgstr "Cafè"
 
-msgid "ice_cream"
-msgstr "gelats"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Pub"
@@ -20591,6 +20817,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "Parc aquàtic"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20625,9 +20857,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Pesca"
 
-msgid "Private Swimming Pool"
-msgstr "Piscina"
-
 msgid "Night Club"
 msgstr ""
 
@@ -20670,12 +20899,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
-msgstr "Estudi de Gravació"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "àudio"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "vídeo"
 
@@ -20779,6 +21014,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -20938,6 +21177,125 @@ msgstr "(Utilitza el codi internacional, com +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinari"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Desfibril·lador automàtic"
+
+msgid "Located inside a building?"
+msgstr "És a dins de l''edifici?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Darrera verificació (AAAA-MM-DD)"
+
+msgid "Last check note"
+msgstr "Darrera nota de verificació"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr "Interior"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Boca d''incendis"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "soterrada"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "pilar"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "mur"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "estany"
+
+msgid "Diameter (in mm)"
+msgstr "Diàmetre (en mm)"
+
+msgid "Hydrant Position"
+msgstr "Emplaçament d''hidrant"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "carril"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "aparcament"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "vorera"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "verd"
+
+msgid "Pressure (in bar)"
+msgstr "Pressió (en bar)"
+
+msgid "suction"
+msgstr "succió"
+
+msgid "Count"
+msgstr "Compta"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Telèfon d''emergència (pal SOS)"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -21050,24 +21408,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "Targetes telefòniques"
 
-msgid "Emergency Phone"
-msgstr "Telèfon d''emergència (pal SOS)"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr "Desfibril·lador automàtic"
-
-msgid "Located inside a building?"
-msgstr "És a dins de l''edifici?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Darrera verificació (AAAA-MM-DD)"
-
-msgid "Last check note"
-msgstr "Darrera nota de verificació"
-
 msgid "Clock"
 msgstr "Rellotge"
 
@@ -21230,64 +21573,15 @@ msgctxt "height"
 msgid "full"
 msgstr "alta"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Aguait"
+msgstr ""
 
 msgid "Lock"
 msgstr "Bloca"
 
-msgid "Indoor"
-msgstr "Interior"
-
-msgid "Fire Hydrant"
-msgstr "Boca d''incendis"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "soterrada"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "pilar"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "mur"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "estany"
-
-msgid "Diameter (in mm)"
-msgstr "Diàmetre (en mm)"
-
-msgid "Hydrant Position"
-msgstr "Emplaçament d''hidrant"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "carril"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "aparcament"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "vorera"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "verd"
-
-msgid "Pressure (in bar)"
-msgstr "Pressió (en bar)"
-
-msgid "suction"
-msgstr "succió"
-
-msgid "Count"
-msgstr "Compta"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr ""
@@ -21340,9 +21634,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "Circuit"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Camp de golf"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Mini-Golf"
 
@@ -21567,9 +21914,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "camp_de_golf"
 
@@ -21734,6 +22078,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -21742,6 +22090,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -21854,6 +22234,9 @@ msgstr "Molí de vent"
 msgid "Gasometer"
 msgstr "Gasòmetre"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -22255,6 +22638,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -22264,6 +22655,9 @@ msgstr "Ruïnes"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Energia"
+
 msgid "Power Plant"
 msgstr "Central elèctrica"
 
@@ -22695,11 +23089,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
-msgstr "Armari de distribució"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Torre elèctrica"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -22720,6 +23117,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Torre elèctrica"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -22843,18 +23258,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -22887,6 +23290,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Línia elèctrica"
 
@@ -23144,6 +23550,9 @@ msgstr "Mobles"
 msgid "Kitchen"
 msgstr "Cuines"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Cortina"
 
@@ -23186,12 +23595,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Química"
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -23517,6 +23935,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geografia"
 
@@ -23685,6 +24178,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Penya-segat"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Entrada de la cova"
 
@@ -23885,6 +24386,51 @@ msgstr "Prat"
 msgid "Orchard"
 msgstr "Verger"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Vinya"
 
@@ -24679,9 +25225,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr "{0} és obsolet"
 
@@ -24703,7 +25246,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -24747,6 +25290,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -24762,6 +25314,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -24789,6 +25344,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "nom abreviat del carrer"
 
@@ -24830,8 +25388,8 @@ msgstr "etiqueta de capa amb el signe +"
 msgid "layer should be between -5 and 5"
 msgstr "la capa ha d''estar entre -5 i 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "el nivell ha de ser un nombre amb increments opcionals de .5"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr ""
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -28578,7 +29136,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -28891,6 +29449,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -28906,6 +29467,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Valors mesurats"
 
@@ -30352,6 +30925,12 @@ msgstr "Connector Proj4J"
 msgid "Code"
 msgstr "Codi"
 
+msgid "Can''t parse a time from this string."
+msgstr "No és possible de llegir la hora d''esta cadena de text."
+
+msgid "Invalid value"
+msgstr "Valor Invàlid"
+
 msgid "added"
 msgstr "afegit"
 
@@ -30440,15 +31019,6 @@ msgstr "Capta"
 msgid "Join"
 msgstr "Entra"
 
-msgid "Enable"
-msgstr "Activa"
-
-msgid "Can''t parse a time from this string."
-msgstr "No és possible de llegir la hora d''esta cadena de text."
-
-msgid "Invalid value"
-msgstr "Valor Invàlid"
-
 msgid "moved"
 msgstr "mogut"
 
@@ -32608,6 +33178,9 @@ msgstr "La via on hi ha els nodes seleccionats no pot ser adreçada"
 msgid "Internal error: number of nodes is {0}."
 msgstr "Error intern: el nombre de nodes és {0}"
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Exteure un node"
 
@@ -33281,6 +33854,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Afig noms de la viquipèdia"
 
diff --git a/i18n/po/cs.po b/i18n/po/cs.po
index df8e112..adb829f 100644
--- a/i18n/po/cs.po
+++ b/i18n/po/cs.po
@@ -8,16 +8,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-05 09:59+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-10 09:42+0000\n"
 "Last-Translator: Dalibor Jelínek <launchpad.net at dalibor.cz>\n"
 "Language-Team: Czech <kde-i18n-doc at kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:37+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:38+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: cs\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -405,6 +405,9 @@ msgid ""
 "nodes)"
 msgstr "Nemohu spojit cesty.<br>(Nemohou být spojeny do jedné sady uzlů)"
 
+msgid "Reverse Ways"
+msgstr "Otočit cesty"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Spojit {0} cestu"
@@ -462,6 +465,12 @@ msgstr "Smazat"
 msgid "Delete selected objects."
 msgstr "Smazat označené objekty"
 
+msgid "Delete Layer"
+msgstr "Smazat vrstvu"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Smaže tuto aktivní vrstvu. Nesmaže asociovaný soubor."
+
 msgid "Toggle dialogs panel"
 msgstr "Přepínat panely dialogů"
 
@@ -1271,9 +1280,6 @@ msgstr "Klikněte pro pozdější restartování."
 msgid "Reverse way"
 msgstr "Otočit směr cesty"
 
-msgid "Reverse Ways"
-msgstr "Otočit cesty"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Otočit směr všech zvolených cest"
 
@@ -1640,6 +1646,18 @@ msgstr ""
 "Chystáte se rozpojit neúplné objekty. <br>Tím způsobíte problémy, protože "
 "skutečné objekty nevidíte. <br>Opravdu si přejete objekty rozpojit?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Rozpojení ovlivněné {0} relace: {1}"
+msgstr[1] "Rozpojení ovlivněných {0} relací: {1}"
+msgstr[2] "Rozpojení ovlivněných {0} relací: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Ujistěte se, že relace nebyla rozbita!"
+msgstr[1] "Ujistěte se, že relace nebyly rozbity!"
+msgstr[2] "Ujistěte se, že relace nebyly rozbity!"
+
 msgid "Disconnect Node from Way"
 msgstr "Odpojit uzel od cesty"
 
@@ -2432,6 +2450,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Přidat výběr do relace"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Přidat výběr do relace</strong>: Zkontrolujte každou relaci, "
+"aby se předešlo poškození!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Přidat výběr do {0} relace"
@@ -2481,6 +2506,15 @@ msgstr[2] ""
 msgid "Confirmation"
 msgstr "Potvrzení"
 
+msgid "List of recent relations"
+msgstr "Seznam dřívějších relací"
+
+msgid "Open recent relation"
+msgstr "Otevřít dřívejší relaci"
+
+msgid "Relation Editor: {0}"
+msgstr "Editor relací: {0}"
+
 msgid "Select in relation list"
 msgstr "Vyberte v seznamu relací"
 
@@ -2852,8 +2886,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Očekávám <i>min</i>/<i>max</i> za ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr "Nelze zpracovat časové razítko ''{0}''"
+
+msgid "Expecting {0} after {1}"
+msgstr "Očekávám {0} po {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Očekává se sada identifikátorů (id) základních objektů"
@@ -3500,9 +3537,6 @@ msgstr ""
 "Zkuste povolit síť IPv6, upřednostňujíc IPv6 před IPv4 (funguje pouze při "
 "brzkém spuštění)"
 
-msgid " (at line {0}, column {1})"
-msgstr " (na řádku {0}, sloupec {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Nastavení {0} bylo odstraněno, protože se již nepoužívá."
 
@@ -3561,6 +3595,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "V"
 
+msgid "Update default entries"
+msgstr "Aktualizovat výchozí položky"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr "Projekce ''{0}'' nenalezena, záložku ''{1}'' nelze použít"
 
@@ -3811,6 +3848,9 @@ msgstr "text"
 msgid "areatext"
 msgstr "popisek ploch"
 
+msgid " (at line {0}, column {1})"
+msgstr " (na řádku {0}, sloupec {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "Projekce UTM (''+proj=utm'') požaduje parametr ''+zone=...''."
 
@@ -3890,12 +3930,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr "Dvojitěstereografická"
+msgid "Albers Equal Area"
+msgstr "Albersova projekce"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parametr ''{0}'' je vyžadován."
 
+msgid "standard parallels are opposite"
+msgstr "standardní rovnoběžky jsou protilehlé"
+
+msgid "Cassini-Soldner"
+msgstr "Cassini-Soldner"
+
+msgid "Double Stereographic"
+msgstr "Dvojitěstereografická"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Lambert Azimuthal Equal Area"
+
 msgid "Lambert Conformal Conic"
 msgstr "Lambertovo úhlojevné kuželové zobrazení"
 
@@ -3905,6 +3957,24 @@ msgstr "Šířka/Délka (geodetické)"
 msgid "Mercator"
 msgstr "Mercatorova projekce"
 
+msgid "Oblique Mercator"
+msgstr "Oblique Mercator"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr "Nevhodné  parametry ''{0}'' a ''{1}'' pro metodu dvou bodů."
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr "Nepoužitelná hodnota paramteru ''{0}'': {1}"
+
+msgid "error in initialization"
+msgstr "chyba při inicializaci"
+
+msgid "Polar Stereographic"
+msgstr "Polar Stereographic"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr "Polar Stereographic: Parametr ''{0}'' musí být 90 nebo -90."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Švýcarské obecné (Swiss Oblique) Mercatorovo zobrazení"
 
@@ -4504,6 +4574,9 @@ msgstr "Neplatná mezera v klíči vlastnosti"
 msgid "Property values start or end with white space"
 msgstr "Hodnota začíná nebo končí mezerou"
 
+msgid "Property values contain multiple white spaces"
+msgstr "Hodnoty vlastností obsahují vícero mezer"
+
 msgid "Property values contain HTML entity"
 msgstr "Hodnota obsahuje HTML entitu"
 
@@ -5236,9 +5309,6 @@ msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 "Otevřít záložku Nastavení mapových podkladů v dialogu Nastavení editoru JOSM"
 
-msgid "Search menu items"
-msgstr "Hledat položky menu"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Zvuk"
@@ -5297,12 +5367,6 @@ msgstr "Popředí stavového řádku: aktivní"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Zeměpisná šířka v místě kurzoru myši."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Zeměpisná délka v místě kurzoru myši."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Azimut úseku cesty, která je kreslena."
 
@@ -5331,6 +5395,18 @@ msgstr "Uživatel:"
 msgid "Do not hide status bar"
 msgstr "Neskrývat stavový řádek"
 
+msgid "The northing at the mouse pointer."
+msgstr "Posun na sever na ukazateli myši."
+
+msgid "The easting at the mouse pointer."
+msgstr "Posun na východ na ukazateli myši."
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Zeměpisná šířka v místě kurzoru myši."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Zeměpisná délka v místě kurzoru myši."
+
 msgid "System of measurement changed to {0}"
 msgstr "Systém měr byl změněn na {0}"
 
@@ -6245,6 +6321,18 @@ msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 "Otevřít dialog Sloučení pro všechny vybrané položky z předchozího seznamu."
 
+msgid "Resolve to my versions"
+msgstr "Vyřešit mými verzemi"
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr "Vyřeší všechny nevyřešené konflikty ''mými'' verzemi"
+
+msgid "Resolve to their versions"
+msgstr "Vyřešit jejich verzemi"
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr "Vyřeší všechny nevyřešené konflikty ''jejich'' verzemi"
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Byl nalezen {0} konflikt."
@@ -6371,6 +6459,9 @@ msgstr "Přesunout filtr dolu."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filtr - skrytých:{0} nepřístupných:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Chyba ve filtru <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Chyba ve filtru"
 
@@ -6822,6 +6913,9 @@ msgstr "Nastavení stylu"
 msgid "Customize the style"
 msgstr "Upravit styl"
 
+msgid "Search menu items"
+msgstr "Hledat položky menu"
+
 msgid "Mini map"
 msgstr "Minimapa"
 
@@ -7187,21 +7281,15 @@ msgstr[2] ""
 "<html>Žádný z vybraných objektů není dostupný v současné <br/>vrstvě změn "
 "''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Stáhnout obsah"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Stáhnout obsah sady změn z serveru OSM"
-
-msgid "Update content"
-msgstr "Aktualizovat obsah"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Aktualizovat obsah sady změn z OSM serveru"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Stáhni a zobraz historii vybraných objektů"
 
+msgid "Download objects"
+msgstr "Stáhnout objekty"
+
+msgid "Download the current version of the selected objects"
+msgstr "Stáhnout aktuální verzi zvolených objektů"
+
 msgid "Select in layer"
 msgstr "Vybrat ve vrstvě"
 
@@ -7304,6 +7392,18 @@ msgstr "otevřená"
 msgid "closed"
 msgstr "uzavřený"
 
+msgid "Download content"
+msgstr "Stáhnout obsah"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Stáhnout obsah sady změn z serveru OSM"
+
+msgid "Update content"
+msgstr "Aktualizovat obsah"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Aktualizovat obsah sady změn z OSM serveru"
+
 msgid "Changeset ID: "
 msgstr "id sady změn: "
 
@@ -7665,8 +7765,8 @@ msgstr "Změnit hodnotu zvoleného klíče pro všechny objekty"
 msgid "Edit Tags"
 msgstr "Upravit značky"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Podívat se informace o značce na OSM Wiki (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "Přejít na nápovědu ke znččce na OSM wiki"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Spustit prohlížeč s nápovědou z Wiki k vybranému objektu"
@@ -7701,6 +7801,9 @@ msgstr "Kopírovat všechny klíče/hodnoty"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Zkopírovat klíče a hodnoty všech značek do schránky"
 
+msgid "Copy Tags"
+msgstr "Zkopírovat značky"
+
 msgid "Search Key/Value/Type"
 msgstr "Najít klíč/hodnotu/typ"
 
@@ -7774,6 +7877,27 @@ msgstr "Nastavte počet nově přidaných značek"
 msgid "Remember last used tags after a restart"
 msgstr "Pamatovat si naposledy použité značky po restartu"
 
+msgid "Recent tags with existing key"
+msgstr "Dřívější značky se současným klíčem"
+
+msgid "Enable"
+msgstr "Povolit"
+
+msgid "Hide"
+msgstr "Úkryt"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr "Občerstvit seznam dřívějších značek po aplikaci značky"
+
+msgid "No refresh"
+msgstr "Bez občerstevní"
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr "Občerstvit pouze stav značky (zapnuto / vypnuto)"
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr "Občerstvit stav značky a seznam dříve přidaných značek"
+
 msgid "to apply first suggestion"
 msgstr "aplikovat první návrh"
 
@@ -7892,9 +8016,6 @@ msgstr "Nová relace"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Vystředit Editor relace s relací''{0}''ve vrstvě''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Editor relací: {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 "
@@ -7933,197 +8054,6 @@ msgstr ""
 "odkaz, a proto není taková úprava povolena.<br>Přeskakuji relaci "
 "''{0}''.</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr ""
-"Přidat všechny objekty vybrané v aktuální datové sadě před první člen"
-
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
-msgstr ""
-"Přidat všechny objekty vybrané v aktuální datové sadě před první vybraný člen"
-
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Přidat všechny objekty vybrané v aktuální datové sadě za poslední vybraný "
-"člen"
-
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Odstranit všechny členy odkazující na jeden z vybraných objektů"
-
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr "Vybrat členy relace odkazující na jeden z vybraných objektů"
-
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr "Vybrat členy relace odkazující na {0} aktuálně vybraných objektů"
-
-msgid "Select objects for selected relation members"
-msgstr "Vybrat objekty vybraných členů relace"
-
-msgid "Sort the relation members"
-msgstr "Seřadit členy relace"
-
-msgid "Relation Editor: Sort"
-msgstr "Editor relací: Řazení"
-
-msgid "Sort below"
-msgstr "Setřídit níže"
-
-msgid "Sort the selected relation members and all members below"
-msgstr "Setřídit vybrané členy relace a všechny členy níže"
-
-msgid "Reverse the order of the relation members"
-msgstr "Obrátí pořadí členů relace"
-
-msgid "Reverse"
-msgstr "Obrátit"
-
-msgid "Move the currently selected members up"
-msgstr "Přesunout zvolené členy nahoru"
-
-msgid "Relation Editor: Move Up"
-msgstr "Editor relací: Posun nahoru"
-
-msgid "Move the currently selected members down"
-msgstr "Přesunout zvolené členy dolů"
-
-msgid "Relation Editor: Move Down"
-msgstr "Editor relací: Posun dolů"
-
-msgid "Remove the currently selected members from this relation"
-msgstr "Odstranit vybrané členy z relace"
-
-msgid "Relation Editor: Remove"
-msgstr "Editor relací: Odstranit"
-
-msgid "Delete the currently edited relation"
-msgstr "Smazat editovanou relaci"
-
-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 ""
-"Jeden nebo více členů této nové relace bylo smazáno v době práce s editorem "
-"relací.\n"
-"Byly odstraněny ze seznamu členů relace."
-
-msgid "Yes, create a conflict and close"
-msgstr "Ano, vytvořit konflikt a zavřít"
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr "Klikněte pro vytvoření konfliktu a uzavření editoru relace"
-
-msgid "No, continue editing"
-msgstr "Ne, pokračovat v editaci"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr "Klikněte pro návrat k editaci relace"
-
-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>Tato relace byla změněna mimo editor.<br>Nemůžete aplikovat změny a "
-"pokračovat v editaci.<br><br>Chcete vytvořit konflikt a uzavřít "
-"editor?</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>Vrstva ''{0}'' už má konflikt na objektu <br>''{1}''.<br> Prosím "
-"vyřešte nejprve tento konflikt a potom to zkuste znova.</html>"
-
-msgid "Apply the current updates"
-msgstr "Aplikovat aktuální změny"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Aplikovat změny a zavřít dialog"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Zrušit změny a zavřít dialog"
-
-msgid "Yes, save the changes and close"
-msgstr "Ano, uložit změny a zavřít"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Kliknutím uložte změny a zavřete editor relací"
-
-msgid "No, discard the changes and close"
-msgstr "Ne, zahodit změny a zavřít"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Klikněte pro zahození změn a zavřené editoru relací"
-
-msgid "Cancel, continue editing"
-msgstr "Zrušit, pokračovat v úpravách"
-
-msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
-msgstr "<html>Relace byla změněna.<br><br>Chcete změny uložit?</html>"
-
-msgid "Unsaved changes"
-msgstr "Neuložené změny"
-
-msgid "Add an empty tag"
-msgstr "Přidat prázdnou značku"
-
-msgid "Download all incomplete members"
-msgstr "Stáhnout všechny nekompletní členy"
-
-msgid "Download Members"
-msgstr "Stáhnout prvky"
-
-msgid "Relation Editor: Download Members"
-msgstr "Editor relací: Stáhnout členy"
-
-msgid "Download selected incomplete members"
-msgstr "Stáhnout vybrané nekompletní členy"
-
-msgid "Sets a role for the selected members"
-msgstr "Nastaví roli pro vybrané členy"
-
-msgid "Apply Role"
-msgstr "Aplikovat roli"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "Nastavili jste prázdnou roli pro {0} objekt."
-msgstr[1] "Nastavili jste prázdnou roli pro {0} objekty."
-msgstr[2] "Nastavili jste prázdnou roli pro {0} objektů."
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "Toto odpovídá smazání rolí těchto objektů."
-
-msgid "Do you really want to apply the new role?"
-msgstr "Opravdu chcete nastavit novou roli?"
-
-msgid "Yes, apply it"
-msgstr "Ano, aplikovat"
-
-msgid "No, do not apply"
-msgstr "Ne, neaplikovat"
-
-msgid "Confirm empty role"
-msgstr "Potvrdit prázdnou roli"
-
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Upravit relaci na kterou odkazuje vybraný člen"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Zapamatované členy nelze přidat, protože nejsou součástí aktuální vrstvy"
-
 msgid "Select previous Gap"
 msgstr "Vybrat předchozí mezeru"
 
@@ -8145,6 +8075,9 @@ msgstr "Zvětší pohled na mezeru v sekvenci cest"
 msgid "Refers to"
 msgstr "Odkazuje na"
 
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr "Nelze přidat {0}, protože není částí sady dat"
+
 msgid "Download referring relations"
 msgstr "Stáhnout odkazované relace"
 
@@ -8181,6 +8114,228 @@ msgstr "Upravit relaci #{0} ve vrstvě \"{1}\""
 msgid "Load relation"
 msgstr "Načíst relaci"
 
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Přidat všechny objekty vybrané v aktuální datové sadě za poslední vybraný "
+"člen"
+
+msgid ""
+"Add all objects selected in the current dataset before the first member"
+msgstr ""
+"Přidat všechny objekty vybrané v aktuální datové sadě před první člen"
+
+msgid ""
+"Add all objects selected in the current dataset before the first selected "
+"member"
+msgstr ""
+"Přidat všechny objekty vybrané v aktuální datové sadě před první vybraný člen"
+
+msgid "Apply the current updates"
+msgstr "Aplikovat aktuální změny"
+
+msgid "Cancel the updates and close the dialog"
+msgstr "Zrušit změny a zavřít dialog"
+
+msgid "Yes, save the changes and close"
+msgstr "Ano, uložit změny a zavřít"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Kliknutím uložte změny a zavřete editor relací"
+
+msgid "No, discard the changes and close"
+msgstr "Ne, zahodit změny a zavřít"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Klikněte pro zahození změn a zavřené editoru relací"
+
+msgid "Cancel, continue editing"
+msgstr "Zrušit, pokračovat v úpravách"
+
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr "Klikněte pro návrat k editaci relace"
+
+msgid ""
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
+msgstr "<html>Relace byla změněna.<br><br>Chcete změny uložit?</html>"
+
+msgid "Unsaved changes"
+msgstr "Neuložené změny"
+
+msgid "Delete the currently edited relation"
+msgstr "Smazat editovanou relaci"
+
+msgid "Relation Editor: Download Members"
+msgstr "Editor relací: Stáhnout členy"
+
+msgid "Download all incomplete members"
+msgstr "Stáhnout všechny nekompletní členy"
+
+msgid "Download Members"
+msgstr "Stáhnout prvky"
+
+msgid "Download selected incomplete members"
+msgstr "Stáhnout vybrané nekompletní členy"
+
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Upravit relaci na kterou odkazuje vybraný člen"
+
+msgid "Relation Editor: Move Down"
+msgstr "Editor relací: Posun dolů"
+
+msgid "Move the currently selected members down"
+msgstr "Přesunout zvolené členy dolů"
+
+msgid "Relation Editor: Move Up"
+msgstr "Editor relací: Posun nahoru"
+
+msgid "Move the currently selected members up"
+msgstr "Přesunout zvolené členy nahoru"
+
+msgid "Apply the updates and close the dialog"
+msgstr "Aplikovat změny a zavřít dialog"
+
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Zapamatované členy nelze přidat, protože nejsou součástí aktuální vrstvy"
+
+msgid "Relation Editor: Refresh"
+msgstr "Editor relací: Občerstvit"
+
+msgid "Refresh relation from data layer"
+msgstr "Občerstvit relaci z datové vrstvy"
+
+msgid "Refresh"
+msgstr "Aktualizovat"
+
+msgid "Yes, discard changes and reload"
+msgstr "Ano, zahodit změny a nahrát znovu"
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr "Kliknutím zahodíte změny a nahrajete znovu data z datové vrstvy"
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+"<html>V tomto okně editoru máte neuložené změny.<br><br>Chcete tyto změny "
+"zahodit a nahrát znovu data z vrstvy?</html>"
+
+msgid "Click to close window"
+msgstr "Kliknutím zavřete okno"
+
+msgid "No, continue editing"
+msgstr "Ne, pokračovat v editaci"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+"<html>Relace byla smazána mimo editor.<br><br>Chcete toto okno zavřít?</html>"
+
+msgid "Deleted relation"
+msgstr "Smazaná relace"
+
+msgid "Relation Editor: Remove"
+msgstr "Editor relací: Odstranit"
+
+msgid "Remove the currently selected members from this relation"
+msgstr "Odstranit vybrané členy z relace"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Odstranit všechny členy odkazující na jeden z vybraných objektů"
+
+msgid "Reverse the order of the relation members"
+msgstr "Obrátí pořadí členů relace"
+
+msgid "Reverse"
+msgstr "Obrátit"
+
+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 ""
+"Jeden nebo více členů této nové relace bylo smazáno v době práce s editorem "
+"relací.\n"
+"Byly odstraněny ze seznamu členů relace."
+
+msgid "Yes, create a conflict and close"
+msgstr "Ano, vytvořit konflikt a zavřít"
+
+msgid "Click to create a conflict and close this relation editor"
+msgstr "Klikněte pro vytvoření konfliktu a uzavření editoru relace"
+
+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>Tato relace byla změněna mimo editor.<br>Nemůžete aplikovat změny a "
+"pokračovat v editaci.<br><br>Chcete vytvořit konflikt a uzavřít "
+"editor?</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>Vrstva ''{0}'' už má konflikt na objektu <br>''{1}''.<br> Prosím "
+"vyřešte nejprve tento konflikt a potom to zkuste znova.</html>"
+
+msgid "Select objects for selected relation members"
+msgstr "Vybrat objekty vybraných členů relace"
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr "Vybrat členy relace odkazující na jeden z vybraných objektů"
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr "Vybrat členy relace odkazující na {0} aktuálně vybraných objektů"
+
+msgid "Sets a role for the selected members"
+msgstr "Nastaví roli pro vybrané členy"
+
+msgid "Apply Role"
+msgstr "Aplikovat roli"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "Nastavili jste prázdnou roli pro {0} objekt."
+msgstr[1] "Nastavili jste prázdnou roli pro {0} objekty."
+msgstr[2] "Nastavili jste prázdnou roli pro {0} objektů."
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "Toto odpovídá smazání rolí těchto objektů."
+
+msgid "Do you really want to apply the new role?"
+msgstr "Opravdu chcete nastavit novou roli?"
+
+msgid "Yes, apply it"
+msgstr "Ano, aplikovat"
+
+msgid "No, do not apply"
+msgstr "Ne, neaplikovat"
+
+msgid "Confirm empty role"
+msgstr "Potvrdit prázdnou roli"
+
+msgid "Relation Editor: Sort"
+msgstr "Editor relací: Řazení"
+
+msgid "Sort the relation members"
+msgstr "Seřadit členy relace"
+
+msgid "Sort below"
+msgstr "Setřídit níže"
+
+msgid "Sort the selected relation members and all members below"
+msgstr "Setřídit vybrané členy relace a všechny členy níže"
+
 msgid "way is connected"
 msgstr "cesta je připojena"
 
@@ -8611,6 +8766,12 @@ msgid ""
 msgstr ""
 "<html>Verze <strong>{0}</strong> vytvořená <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "Tato sada změn má {0} komentář"
+msgstr[1] "Tato sada změn má {0} komentáře"
+msgstr[2] "Tato sada změn má {0} komentářů"
+
 msgid "Changeset"
 msgstr "Sada změn"
 
@@ -8737,15 +8898,17 @@ msgid "Upload"
 msgstr "Nahrát na server"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+"Zvolit, které akce provést s touto vrstvou, pokud kliknete na tlačítko vlevo."
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr "Zaškrtněte \"Nahrát\", aby se změny nahrály na server OSM."
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Vyberte akce které chcete použít pro tuto vrstvu po kliknutí na "
-"tlačítko vlevo.<br/>Zatrhněte \"Nahrát na server\", pokud chcete změny "
-"odeslat na OSM server.<br/>Zaškrtněte \"Uložit\", pokud chcete změny uložit "
-"do souboru zadaného vlevo.</html>"
+"Zaškrtněte \"Uložit\", aby se vrstva uložila do souboru určeného vlevo."
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Napište stručný komentář ke změnám, které nahráváte na server:"
@@ -8943,9 +9106,6 @@ msgstr ""
 "Nelze získat uživatelské informace aktuálního uživatele JOSM. Došlo k "
 "výjimce: {0}"
 
-msgid "Download objects"
-msgstr "Stáhnout objekty"
-
 msgid "Initializing nodes to download ..."
 msgstr "Inicializace bodů je stažení ..."
 
@@ -9567,7 +9727,7 @@ msgstr[0] "{0} smazaný objekt:"
 msgstr[1] "{0} smazané objekty:"
 msgstr[2] "{0} smazaných objektů:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr "Zobrazit informace o dlaždici"
 
 msgid "Tile Info"
@@ -9576,17 +9736,23 @@ msgstr "Informace o dlaždici"
 msgid "Metadata "
 msgstr "Metadata "
 
-msgid "Auto Zoom"
+msgid "Load tile"
+msgstr "Načíst dlaždici"
+
+msgid "Auto zoom"
 msgstr "Automatické zvětšení"
 
 msgid "Auto load tiles"
 msgstr "Automaticky načítat dlaždice"
 
-msgid "Load All Tiles"
+msgid "Show errors"
+msgstr "Zobrazovat chyby"
+
+msgid "Load all tiles"
 msgstr "Načíst všechny dlaždice"
 
-msgid "Load All Error Tiles"
-msgstr "Načíst všechny vadné dlaždice"
+msgid "Load all error tiles"
+msgstr "Načíst všechny chybné dlaždice"
 
 msgid "Zoom to native resolution"
 msgstr "Zvětšit do nativního rozlišení"
@@ -9594,26 +9760,17 @@ msgstr "Zvětšit do nativního rozlišení"
 msgid "Change resolution"
 msgstr "Změnit rozlišení"
 
-msgid "Failed to create tile source"
-msgstr "Selhalo vytvoření zdroje dlaždice"
-
-msgid "Show Errors"
-msgstr "Zobrazit chyby"
-
-msgid "Load Tile"
-msgstr "Načíst dlaždici"
-
 msgid "Increase zoom"
 msgstr "Zvětšit přiblížení"
 
 msgid "Decrease zoom"
 msgstr "Zmenšit přiblížení"
 
-msgid "Snap to tile size"
-msgstr "Zvětšit na velikost dlaždice"
+msgid "Flush tile cache"
+msgstr "Vymazat keš dlaždic"
 
-msgid "Flush Tile Cache"
-msgstr "Vyprázdnit keš dlaždic"
+msgid "Failed to create tile source"
+msgstr "Selhalo vytvoření zdroje dlaždice"
 
 msgid "zoom in to load any tiles"
 msgstr "přibližte pro nahrání dlaždic"
@@ -10068,6 +10225,9 @@ msgstr ""
 "Chyba při čtení posunutí.\n"
 "Očekávaný formát: {0}"
 
+msgid "Geotagged Images"
+msgstr "Obrázky s GPS souřadnicemi"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Získávám polohu podle GPS z EXIF"
 
@@ -10092,9 +10252,6 @@ msgstr "Chyba při získávání souborů z adresáře {0}\n"
 msgid "One of the selected files was null"
 msgstr "Jeden z vybraných souborů byl prázdný"
 
-msgid "Geotagged Images"
-msgstr "Obrázky s GPS souřadnicemi"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} obrázek nahrán."
@@ -10491,12 +10648,8 @@ msgstr[2] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Selhalo zpracování stylů kreslení mapy z ''{0}''. Došlo k chybě: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Nalezen zastaralý ''{0}'' v ''{1}'', který bude brzo odstraněn. Použijte "
-"místo toho ''{2}''."
+msgid "Failed to locate image ''{0}''"
+msgstr "Nepodařilo se nalézt obrázek ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr ""
@@ -10548,6 +10701,12 @@ msgstr "URL přístupového tokenu:"
 msgid "Authorize URL:"
 msgstr "Autorizační URL:"
 
+msgid "OSM login URL:"
+msgstr "Přihlašovací URL OSM:"
+
+msgid "OSM logout URL:"
+msgstr "Odhlašovací URL OSM:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Klikněte pro změnu nastavení OAuth na výchozí hodnoty"
 
@@ -10619,13 +10778,6 @@ msgstr "Uživatelské jméno: "
 msgid "Password: "
 msgstr "Heslo: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Upozornění:</strong> JOSM se přihlásí <strong>pouze jednou</strong> "
-"za použití zabezpečeného spojení."
-
 msgid "Granted rights"
 msgstr "Oprávnění"
 
@@ -10766,6 +10918,15 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Prosím vyberte autorizační proceduru: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+"<strong>Varování:</strong> Jelikož nepoužíváte výchozí API OSM, ujistěte se, "
+"že jste nastavili uživatelský klíč a tajný klíč v  <i>Rozšířených "
+"parametrech Advanced OAuth</i>."
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Získání přístupového tokenu pro ''{0}''"
 
@@ -11163,6 +11324,15 @@ msgstr "Zaregistrovaná akce nástrojové lišty {0} přepsaná: {1} bude {2}"
 msgid "Toolbar: {0}"
 msgstr "Nástrojová lišta: {0}"
 
+msgid "add entry"
+msgstr "přidat položku"
+
+msgid "Remove the selected entry"
+msgstr "Odstranit vybranou položku"
+
+msgid "Key: {0}"
+msgstr "Klíč: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Nastavení pro pokročilé"
 
@@ -11255,18 +11425,9 @@ msgstr "Zvolit soubor s profilem"
 msgid "Change list setting"
 msgstr "Změnit nastavení seznamu"
 
-msgid "Key: {0}"
-msgstr "Klíč: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Změnit nastavení seznamu seznamů"
 
-msgid "add entry"
-msgstr "přidat položku"
-
-msgid "Remove the selected entry"
-msgstr "Odstranit vybranou položku"
-
 msgid "Change list of maps setting"
 msgstr "Změnit seznam nastavení mapy"
 
@@ -11965,9 +12126,6 @@ msgstr "zkopírovat zvolené výchozí hodnoty"
 msgid "Please select at least one row to copy."
 msgstr "Vyberte alespoň jeden řádek pro kopírování"
 
-msgid "reload defaults"
-msgstr "aktualizovat výchozí hodnoty"
-
 msgid "Menu Name"
 msgstr "Jméno v menu"
 
@@ -12270,6 +12428,9 @@ msgstr[0] "Stahování následujícího doplňku <strong>selhalo</strong>:"
 msgstr[1] "Stahování následujících {0} doplňků <strong>selhalo</strong>:"
 msgstr[2] "Stahování následujících {0} doplňků <strong>selhalo</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Chybové hlášení (nepřeložené): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Prosím, restartujte JOSM, aby se mohly aktivovat stažené doplňky."
 
@@ -12952,12 +13113,6 @@ msgstr "Číselné hodnoty"
 msgid "Checks for wrong numeric values"
 msgstr "Kontroluje chybné číselné hodnoty"
 
-msgid "Power"
-msgstr "Energie"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Kontroluje chyby v infrastruktuře el. energie"
-
 msgid "Religion"
 msgstr "Náboženství"
 
@@ -13048,6 +13203,9 @@ msgstr "Použít přednastavení \"{0}\""
 msgid "Elements of type {0} are supported."
 msgstr "Objekty typu {0} nejsou podporovány."
 
+msgid "This preset also sets: {0}"
+msgstr "Tato předvolba také nastavuje: {0}"
+
 msgid "Edit also …"
 msgstr "Upravit také..."
 
@@ -13119,6 +13277,9 @@ msgstr "Najít předvolby"
 msgid "Presets"
 msgstr "Předvolby"
 
+msgid "Search for objects by preset..."
+msgstr "Hledat objekty podle předvolby..."
+
 msgid "Search for objects by preset"
 msgstr "Hledat objekty dle předvolby"
 
@@ -13172,6 +13333,9 @@ msgstr ""
 "Poškozená předvolba značení \"{0}-{1}\" - počet položek v "
 "''display_descriptions'' musí být stejný jako ve ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "To odpovídá klíči ''{0}''"
+
 msgid "More information about this feature"
 msgstr "Více informací o této předvolbě"
 
@@ -13265,17 +13429,31 @@ msgstr "Aktuální hodnota není validním ID OSM. Zadejte prosím celé číslo
 msgid "false: the property is explicitly switched off"
 msgstr "nevybráno: vlastnost je explicitně vypnutá"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "nepravda: vlastnost ''{0}'' je explicitně vypnuta"
+
 msgid "true: the property is explicitly switched on"
 msgstr "vybráno: vlastnost je explicitně zapnutá"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "pravda: vlastnost ''{0}'' je explicitně zapnuta"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "částečně vybráno: vlastnost je u vybraných objektů nastavena rozdílně"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr "částečně: různé zvolené objekty mají různé hodnoty ''{0}'', neměnit"
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "nenastaveno: vlastnost není pro vybrané objekty nastavena"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr "nenastaveno: nenastavovat vlastnost ''{0}'' na zvolených objektech"
+
 msgid "Cut"
 msgstr "Vyjmout"
 
@@ -13809,6 +13987,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Neočekávaná hodnota nastavení ''{0}''. Nalezeno ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "OSM soubory"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Při ukládání došlo k chybě.<br>Chyba: <br>{0}</html>"
 
@@ -13824,9 +14005,6 @@ msgstr "OSM soubory komprimované pomocí gzip"
 msgid "Parsing OSM history data ..."
 msgstr "Parsuji data historie OSM ..."
 
-msgid "OSM Server Files"
-msgstr "OSM soubory"
-
 msgid "Invalid dataset"
 msgstr "Nepoužitelná datová sada"
 
@@ -14034,9 +14212,6 @@ msgstr "Nahrávám data na server ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Nalezeno neočekávané id 0 základního OSM objektu"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Soubory OSM serveru komprimované ZIPem"
-
 msgid "Downloading data..."
 msgstr "Stahuji data..."
 
@@ -14218,23 +14393,29 @@ msgstr ""
 "Vzdálené ovládání bylo požádáno o oznámení své verze protokolu. To umožní, "
 "aby weby zjistily, že JOSM je spuštěn."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Verze ''{0}'' metadat vrstvy geoimage není podporována. Očekávána: 0.1"
+msgid "local file"
+msgstr "lokální soubor"
+
+msgid "include"
+msgstr "zahrnout"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Vrstva obsahuje neuložená data. Uložit je teď."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Vrstva neobsahuje neuložená data."
 
 msgid "Data:"
 msgstr "Data:"
 
-msgid "local file"
-msgstr "lokální soubor"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Odkaz na lokální datový soubor OSM."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Odkaz na soubor GPX z vašeho místního disku."
+msgid "Include OSM data in the .joz session file."
+msgstr "Zapsat data OSM do souboru sezení .joz."
 
-msgid "include"
-msgstr "zahrnout"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Odkaz na datový soubor GPX na vašem pevném disku."
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Zahrnout data GPX do souboru sezení .joz."
@@ -14245,6 +14426,15 @@ msgstr "Žádná asociace souboru"
 msgid "GPX data will be included in the session file."
 msgstr "Data GPX budou zahrnuta do souboru sezení."
 
+msgid "OSM data will be included in the session file."
+msgstr "Data OSM budou uložena do souboru sezení."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Verze ''{0}'' metadat vrstvy geoimage není podporována. Očekávána: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14266,20 +14456,10 @@ msgid ""
 msgstr ""
 "Verze metadat \"{0}\" po vrstvu markerů není podporovaná. Očekávaná: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Vrstva obsahuje neuložená data. Uložit je teď."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Vrstva neobsahuje neuložená data."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Odkaz na lokální datový soubor OSM."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Zapsat data OSM do souboru sezení .joz."
-
-msgid "OSM data will be included in the session file."
-msgstr "Data OSM budou uložena do souboru sezení."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
+"Verze''{0}'' metadat pro vrstvu poznámek není podporována. Očekáváno: 0.1"
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15173,9 +15353,6 @@ msgstr ""
 "mnoho prvků.<br>Vyberte menší oblast nebo použijte exportované soubory "
 "poskytované komunitou OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Chybové hlášení (nepřeložené): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15221,6 +15398,9 @@ msgstr "Stahování přesměrováno na ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Detekováno příliš mnoho přesměrování URL. Přerušení akce."
 
+msgid "Fetching content..."
+msgstr "Načítám obsah..."
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Nelze najít překlad do jazyka {0}. Vracím se k {1}."
 
@@ -15231,9 +15411,6 @@ msgstr ""
 "Fatální: neúspěšná lokalizace obrázku ''{0}''. Toto je vážný konfigurační "
 "problém. JOSM přestane pracovat."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Nepodařilo se nalézt obrázek ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Chyba při práci se souborem ZIP ''{0}''. Došlo k výjimce: {1}"
 
@@ -15392,6 +15569,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr "Nemohu smazat soubor {0}"
 
+msgid "Unable to create directory {0}"
+msgstr "Nelze vytvořit adresář {0}"
+
 msgid "ms"
 msgstr "ms"
 
@@ -15721,9 +15901,6 @@ msgstr "Otevřít vybraný soubor"
 msgid "Open selected file."
 msgstr "Otevřít vybraný soubor."
 
-msgid "Refresh"
-msgstr "Aktualizovat"
-
 msgid "Rename File"
 msgstr "Přejmenovat soubor"
 
@@ -15817,6 +15994,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Veřejná doprava (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (německý styl)"
 
@@ -15883,6 +16063,9 @@ msgstr "OSM Inspector: Adresy"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Hranice (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr "SIG Instituto Geográfico Nacional (WMTS)"
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI černobíle 2.5m"
 
@@ -15979,14 +16162,17 @@ msgstr "URBIS 2015 aerial imagery"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW(allonie) PICC numerical imagery"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW(allonie) 2015 aerial imagery"
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW(allonie) 2012-2013 aerial imagery"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW(allonie) 2009-2010 aerial imagery"
 
-msgid "TEC bus lines"
-msgstr "TEC bus lines"
+msgid "TEC bus lines (2014)"
+msgstr "TEC bus lines (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
@@ -16108,6 +16294,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Toulouse - Orthophotoplan 2015"
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -16130,9 +16319,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Sorbian Language)"
 
@@ -16204,6 +16390,15 @@ msgstr "Drone Imagery 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Drone Imagery Canaan(Haiti) November 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr "FÖMI ortophoto 2000"
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr "Interspect Budapest ortophoto 2014"
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr "Five districts of Budapest: III, IV, XIII, XIV, XV"
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
 
@@ -16237,11 +16432,14 @@ msgstr "OSMIE Local Election Areas"
 msgid "OSMIE Dail Election Areas"
 msgstr "OSMIE Dail Election Areas"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr "OSMIE T.ie Land not in Counties"
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italy"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Lombardia - Italy (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Sicily - Italy"
@@ -16958,6 +17156,9 @@ msgstr "Stáhne nová data, když posouváte nebo zvětšujete"
 msgid "Create a grid of ways."
 msgstr "Vytváření pravidelné mřížky cest."
 
+msgid "Customizing of public transport stops."
+msgstr "Uzpůsobení zastávek veřejné dopravy."
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "Vytváření a správa adresních bodů a budov v rámci  České Republiky."
@@ -17709,6 +17910,105 @@ msgstr "omezené"
 msgid "Brand"
 msgstr "Značka"
 
+msgid "Cuisine"
+msgstr "Kuchyně"
+
+msgid "italian"
+msgstr "italská"
+
+msgid "chinese"
+msgstr "čínská"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamburger"
+
+msgid "greek"
+msgstr "řecká"
+
+msgid "german"
+msgstr "německá"
+
+msgid "indian"
+msgstr "indická"
+
+msgid "regional"
+msgstr "místní"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turecká"
+
+msgid "asian"
+msgstr "asijská"
+
+msgid "thai"
+msgstr "thajská"
+
+msgid "mexican"
+msgstr "mexická"
+
+msgid "japanese"
+msgstr "japonská"
+
+msgid "french"
+msgstr "francouzská"
+
+msgid "sandwich"
+msgstr "sendvič"
+
+msgid "coffee_shop"
+msgstr "kavárna"
+
+msgid "sushi"
+msgstr "suši"
+
+msgid "steak_house"
+msgstr "steak_house"
+
+msgid "fish_and_chips"
+msgstr "Ryba a hranolky (UK)"
+
+msgid "chicken"
+msgstr "kuřata"
+
+msgid "american"
+msgstr "americká"
+
+msgid "ice_cream"
+msgstr "zmrzlina"
+
+msgid "international"
+msgstr "mezinárodní"
+
+msgid "seafood"
+msgstr "plody moře"
+
+msgid "spanish"
+msgstr "španělská"
+
+msgid "vietnamese"
+msgstr "vietnamská"
+
+msgid "fish"
+msgstr "rybí"
+
+msgid "noodle"
+msgstr "nudle"
+
+msgid "barbecue"
+msgstr "maso na grilu"
+
+msgid "vegetarian"
+msgstr "vegetariánská"
+
+msgid "korean"
+msgstr "korejská"
+
 msgid "Internet access"
 msgstr "Přístup k Internetu"
 
@@ -18280,8 +18580,11 @@ msgstr "Max. hmotnost (tun)"
 msgid "Toll"
 msgstr "Poplatek"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "Je tato vodní plocha nestálá (sezónně vysychá)?"
+msgid "Intermittent"
+msgstr "Občasný"
+
+msgid "Seasonal"
+msgstr "Sezónní"
 
 msgid "In the tidal range"
 msgstr "V oblasti přílivu"
@@ -19052,26 +19355,30 @@ msgstr "V případě semaforu:"
 msgid "Traffic Calming"
 msgstr "Zpomalovací retardér"
 
-msgid "bump"
-msgstr "boule"
+msgid "Bump"
+msgstr "Krátké vyvýšení"
+
+msgid "Chicane"
+msgstr "Zatáčka"
 
-msgid "chicane"
-msgstr "šikana"
+msgid "Choker"
+msgstr "Zúžení"
 
-msgid "choker"
-msgstr "zúžení"
+msgid "Cushion"
+msgstr "Polštář"
 
-msgid "cushion"
-msgstr "desky (širší rozchod projede)"
+msgid "Hump"
+msgstr "Delší vyvýšení"
 
-msgid "hump"
-msgstr "hrb (2-4m)"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr "Ostrůvek"
 
-msgid "rumble_strip"
-msgstr "varovné pruhy (jen hluk)"
+msgid "Rumble strip"
+msgstr "Rachotící pruh"
 
-msgid "table"
-msgstr "deska (rovná střední část)"
+msgid "Table"
+msgstr "Tabule"
 
 msgid "Passing Place"
 msgstr "Výhybna"
@@ -19222,6 +19529,9 @@ msgstr "Městské hradby"
 msgid "Retaining Wall"
 msgstr "Opěrná zeď"
 
+msgid "Jersey Barrier"
+msgstr "Jersey Barrier"
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Příkop"
@@ -19392,6 +19702,9 @@ msgstr "řeka (river)"
 msgid "Salt Water"
 msgstr "Slaná voda"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "Je tato vodní plocha nestálá (sezónně vysychá)?"
+
 msgid "Coastline"
 msgstr "Linie pobřeží"
 
@@ -19455,16 +19768,6 @@ msgid ""
 msgstr ""
 "Velká vodní plocha, částečně obklopená pevninou, ale se širokým ústím."
 
-msgid "Cliff"
-msgstr "Útes"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Příkrý skalní sráz, výrazně vertikální nebo téměř vertikální (spodní část je "
-"napravo od cesty)."
-
 msgid "Shipping"
 msgstr "Loďstvo"
 
@@ -20395,66 +20698,6 @@ msgstr "Jídlo a pití"
 msgid "Restaurant"
 msgstr "Restaurace"
 
-msgid "Cuisine"
-msgstr "Kuchyně"
-
-msgid "italian"
-msgstr "italská"
-
-msgid "chinese"
-msgstr "čínská"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hamburger"
-
-msgid "greek"
-msgstr "řecká"
-
-msgid "german"
-msgstr "německá"
-
-msgid "indian"
-msgstr "indická"
-
-msgid "regional"
-msgstr "místní"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turecká"
-
-msgid "asian"
-msgstr "asijská"
-
-msgid "thai"
-msgstr "thajská"
-
-msgid "mexican"
-msgstr "mexická"
-
-msgid "japanese"
-msgstr "japonská"
-
-msgid "french"
-msgstr "francouzská"
-
-msgid "sandwich"
-msgstr "sendvič"
-
-msgid "coffee_shop"
-msgstr "kavárna"
-
-msgid "sushi"
-msgstr "suši"
-
-msgid "steak_house"
-msgstr "steak_house"
-
 msgid "Microbrewery"
 msgstr "Malý pivovar"
 
@@ -20467,20 +20710,14 @@ msgstr "Jídlo s sebou"
 msgid "Fast Food"
 msgstr "Rychlé občerstvení"
 
-msgid "fish_and_chips"
-msgstr "Ryba a hranolky (UK)"
-
-msgid "chicken"
-msgstr "kuřata"
-
 msgid "Food Court"
 msgstr "Sdílená jídelna několika restaurací"
 
 msgid "Cafe"
 msgstr "Kavárna"
 
-msgid "ice_cream"
-msgstr "zmrzlina"
+msgid "Ice cream"
+msgstr "Zmrzlina"
 
 msgid "Pub"
 msgstr "Hospoda"
@@ -20657,6 +20894,12 @@ msgstr "Zábavní park"
 msgid "Water Park"
 msgstr "Akvapark"
 
+msgid "Swimming Pool"
+msgstr "Plavecký bazén"
+
+msgid "Used for the water area only."
+msgstr "Používá se pouze pro vodní plochu."
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20691,9 +20934,6 @@ msgstr "Ohniště"
 msgid "Fishing"
 msgstr "Rybaření"
 
-msgid "Private Swimming Pool"
-msgstr "Soukromý bazén"
-
 msgid "Night Club"
 msgstr "Noční klub"
 
@@ -20736,12 +20976,18 @@ msgstr "socha"
 msgid "Artist Name"
 msgstr "Autor díla"
 
-msgid "Recording Studio"
-msgstr "Nahrávací studio"
+msgid "Studio"
+msgstr "Studio"
 
 msgid "audio"
 msgstr "audio"
 
+msgid "radio"
+msgstr "rádio"
+
+msgid "television"
+msgstr "televize"
+
 msgid "video"
 msgstr "video"
 
@@ -20845,6 +21091,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "adventisté sedmého dne"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr "spiritismus"
+
 msgid "Mosque"
 msgstr "Mešita"
 
@@ -21004,6 +21254,125 @@ msgstr "(Použijte mezinárodní zápis, např. +420123456789)"
 msgid "Veterinary"
 msgstr "Veterinář"
 
+msgid "Emergency"
+msgstr "Nouzové"
+
+msgid "Ambulance Station"
+msgstr "Stanice záchranky"
+
+msgid "Automated Defibrillator"
+msgstr "Automatický defibrilátor"
+
+msgid "Located inside a building?"
+msgstr "Umístěný v budově?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Datum poslední kontroly (YYYY-MM-DD)"
+
+msgid "Last check note"
+msgstr "Poznámka k poslední kontrole"
+
+msgid "Fire Extinguisher"
+msgstr "Hasící přístroj"
+
+msgid "Indoor"
+msgstr "V budově"
+
+msgid "Fire Hose"
+msgstr "Požární hadice"
+
+msgid "Fire Hydrant"
+msgstr "Požární hydrant"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "podzemní"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "sloup"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "zeď"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "rybník"
+
+msgid "Diameter (in mm)"
+msgstr "Průměr (v mm)"
+
+msgid "Hydrant Position"
+msgstr "Umístění hydrantu"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "ochranné okolí"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parkovací místo"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "chodník"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "zeleň"
+
+msgid "Pressure (in bar)"
+msgstr "Tlak (v barech)"
+
+msgid "suction"
+msgstr "sání"
+
+msgid "Count"
+msgstr "Počet"
+
+msgid "Water Tank"
+msgstr "Nádrž na vodu"
+
+msgid "Volume (in liters)"
+msgstr "Obsah (v litrech)"
+
+msgid "Assembly Point"
+msgstr "Shromáždiště"
+
+msgid "Emergency Phone"
+msgstr "Nouzový telefon"
+
+msgid "Siren"
+msgstr "Siréna"
+
+msgid "pneumatic"
+msgstr "pneumatická"
+
+msgid "electronic"
+msgstr "elektronická"
+
+msgid "mechanical"
+msgstr "mechanická"
+
+msgid "Purpose"
+msgstr "Účel"
+
+msgid "tornado"
+msgstr "tornádo"
+
+msgid "fire"
+msgstr "požár"
+
+msgid "air_raid"
+msgstr "nálet"
+
+msgid "civil_defense"
+msgstr "civilní ochrana"
+
+msgid "Range (in meters)"
+msgstr "Dosah (metrů)"
+
 msgid "Social Facility"
 msgstr "Sociální zařízení"
 
@@ -21116,24 +21485,9 @@ msgstr "Bankovky"
 msgid "Telephone cards"
 msgstr "Telefonní karty"
 
-msgid "Emergency Phone"
-msgstr "Nouzový telefon"
-
 msgid "Internet Access"
 msgstr "Přístup k Internetu"
 
-msgid "Automated Defibrillator"
-msgstr "Automatický defibrilátor"
-
-msgid "Located inside a building?"
-msgstr "Umístěný v budově?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Datum poslední kontroly (YYYY-MM-DD)"
-
-msgid "Last check note"
-msgstr "Poznámka k poslední kontrole"
-
 msgid "Clock"
 msgstr "Hodiny"
 
@@ -21296,64 +21650,15 @@ msgctxt "height"
 msgid "full"
 msgstr "vysoká"
 
+msgctxt "hunting stand"
 msgid "Hide"
 msgstr "Úkryt"
 
 msgid "Lock"
 msgstr "Uzamykatelný"
 
-msgid "Indoor"
-msgstr "V budově"
-
-msgid "Fire Hydrant"
-msgstr "Požární hydrant"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "podzemní"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "sloup"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "zeď"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "rybník"
-
-msgid "Diameter (in mm)"
-msgstr "Průměr (v mm)"
-
-msgid "Hydrant Position"
-msgstr "Umístění hydrantu"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "ochranné okolí"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parkovací místo"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "chodník"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "zeleň"
-
-msgid "Pressure (in bar)"
-msgstr "Tlak (v barech)"
-
-msgid "suction"
-msgstr "sání"
-
-msgid "Count"
-msgstr "Počet"
+msgid "Water Point"
+msgstr "Zdroj vody"
 
 msgid "Compressed Air"
 msgstr "Stlačený vzduch"
@@ -21406,9 +21711,62 @@ msgstr "Tartan"
 msgid "Racetrack"
 msgstr "Závodní trať"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golfové hřiště"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr "Tee"
+
+msgctxt "golf"
+msgid "Hole"
+msgstr "Jamka"
+
+msgid "Par"
+msgstr "Par"
+
+msgid "Handicap rating"
+msgstr "Handicap"
+
+msgctxt "golf"
+msgid "Pin"
+msgstr "Pin"
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr "Bunker"
+
+msgctxt "golf"
+msgid "Natural"
+msgstr "Přírodní"
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr "Čelní vodní překážka"
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr "Boční vodní překážka"
+
+msgctxt "golf"
+msgid "Green"
+msgstr "Green"
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr "Fairway"
+
+msgctxt "golf"
+msgid "Rough"
+msgstr "Rough"
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr "Odpaliště"
+
 msgid "Miniature Golf"
 msgstr "Minigolf"
 
@@ -21633,9 +21991,6 @@ msgstr "Plážový volejbal"
 msgid "Billiards"
 msgstr "Kulečník"
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golfové hřiště"
 
@@ -21800,6 +22155,10 @@ msgid "gasometer"
 msgstr "plynojem"
 
 msgctxt "building"
+msgid "silo"
+msgstr "silo"
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "kravín"
 
@@ -21808,6 +22167,38 @@ msgid "construction"
 msgstr "ve výstavbě"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "bazilika"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "katedrála"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "kaple"
+
+msgctxt "building"
+msgid "church"
+msgstr "kostel"
+
+msgctxt "building"
+msgid "temple"
+msgstr "chrám"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "mešita"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "synagoga"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr "budova trafostanice"
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Patra"
 
@@ -21920,6 +22311,9 @@ msgstr "Větrný mlýn"
 msgid "Gasometer"
 msgstr "Plynojem"
 
+msgid "Silo"
+msgstr "Silo"
+
 msgid "Storage Tank"
 msgstr "Uskladňovací nádrž"
 
@@ -22321,6 +22715,14 @@ msgstr "muniční"
 msgid "hardened_aircraft_shelter"
 msgstr "zpevněný letecký hangár"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "podzemní"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "nadzemní"
+
 msgid "Historic"
 msgstr "Historický"
 
@@ -22330,6 +22732,9 @@ msgstr "Zřícenina"
 msgid "Range"
 msgstr "Střelnice"
 
+msgid "Power"
+msgstr "Energie"
+
 msgid "Power Plant"
 msgstr "Elektrárna"
 
@@ -22763,11 +23168,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Rozvodná skříň"
+msgid "Power Street Cabinet"
+msgstr "Skříň rozvodu elektřiny"
 
-msgid "Power Tower"
-msgstr "Stožár elektrického vedení"
+msgid "Transformer Tower"
+msgstr "Budova trafostanice"
+
+msgid "Power Portal"
+msgstr "Portál el. vedení"
 
 msgid "Type of construction"
 msgstr "Konstrukce"
@@ -22788,6 +23196,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "červená/bílá"
 
+msgid "Portal design"
+msgstr "Design portálu"
+
+msgctxt "power"
+msgid "portal"
+msgstr "portál"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portál dvoupatrový"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portál třípatrový"
+
+msgid "Power Tower"
+msgstr "Stožár elektrického vedení"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Typ věže"
@@ -22911,18 +23337,6 @@ msgid "guyed_h-frame"
 msgstr "guyed_h-frame"
 
 msgctxt "power"
-msgid "portal"
-msgstr "portál"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "portál dvoupatrový"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "portál třípatrový"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "guyed_v-frame"
 
@@ -22955,6 +23369,9 @@ msgstr "Vlastnosti sloupu:"
 msgid "Transformer Attributes:"
 msgstr "Vlastnosti transformátoru:"
 
+msgid "Insulator"
+msgstr "Izolátor"
+
 msgid "Power Line"
 msgstr "Elektrické vedení"
 
@@ -23212,6 +23629,9 @@ msgstr "Nábytek"
 msgid "Kitchen"
 msgstr "Kuchyňské studio"
 
+msgid "Houseware"
+msgstr "Domácí potřeby"
+
 msgid "Curtain"
 msgstr "Obchod se závěsy"
 
@@ -23254,12 +23674,21 @@ msgstr "Pro tělo"
 msgid "Chemist"
 msgstr "Drogerie"
 
-msgid "Hairdresser/Barber"
-msgstr "Kadeřnictví/Holičství"
+msgid "Cosmetics"
+msgstr "Kosmetika"
+
+msgid "Perfumery"
+msgstr "Parfumerie"
 
 msgid "Beauty"
 msgstr "Kosmetický salón"
 
+msgid "Tobacco"
+msgstr "Tabák"
+
+msgid "Hairdresser/Barber"
+msgstr "Kadeřnictví/Holičství"
+
 msgid "Tattoo"
 msgstr "Tetovací salón"
 
@@ -23585,6 +24014,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Telekomunikační společnost"
 
+msgid "Craft"
+msgstr "Řemeslo"
+
+msgid "Carpenter"
+msgstr "Tesař"
+
+msgid "Shoemaker"
+msgstr "Obuvník"
+
+msgid "Photographer"
+msgstr "Fotograf"
+
+msgid "Metal construction"
+msgstr "Kovové konstrukce"
+
+msgid "Electrician"
+msgstr "Elektrikář"
+
+msgid "Brewery"
+msgstr "Pivovar"
+
+msgid "Plumber"
+msgstr "Instalatér"
+
+msgid "Sawmill"
+msgstr "Pila"
+
+msgid "Gardener"
+msgstr "Zahradník"
+
+msgid "Winery"
+msgstr "Vinařský závod"
+
+msgid "Hvac"
+msgstr "Topení, ventilace, klimatizace"
+
+msgid "Painter"
+msgstr "Natěrač"
+
+msgid "Stonemason"
+msgstr "Kameník"
+
+msgid "Handicraft"
+msgstr "Řemeslná výroba"
+
+msgid "Pottery"
+msgstr "Hrnčíř"
+
+msgid "Key cutter"
+msgstr "Výroba klíčů"
+
+msgid "Caterer"
+msgstr "Dodavatel občerstvení"
+
+msgid "Roofer"
+msgstr "Pokrývač"
+
+msgid "Beekeeper"
+msgstr "Včelař"
+
+msgid "Blacksmith"
+msgstr "Kovář"
+
+msgid "Locksmith"
+msgstr "Zámečník"
+
+msgid "Window construction"
+msgstr "Konstrukce oken"
+
+msgid "Upholsterer"
+msgstr "Čalouník"
+
+msgid "Tiler"
+msgstr "Obkladač"
+
 msgid "Geography"
 msgstr "Geografie"
 
@@ -23754,6 +24258,16 @@ msgstr "Údolí"
 msgid "A low area between hills."
 msgstr "Nízko ležící oblast mezi kopci."
 
+msgid "Cliff"
+msgstr "Útes"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Příkrý skalní sráz, výrazně vertikální nebo téměř vertikální (spodní část je "
+"napravo od cesty)."
+
 msgid "Cave Entrance"
 msgstr "Vstup do jeskyně"
 
@@ -23965,6 +24479,51 @@ msgstr "Louka"
 msgid "Orchard"
 msgstr "Ovocný sad"
 
+msgid "Trees"
+msgstr "Stromy"
+
+msgid "olive_trees"
+msgstr "olivovníky"
+
+msgid "apple_trees"
+msgstr "jabloně"
+
+msgid "oil_palms"
+msgstr "palmy olejné"
+
+msgid "orange_trees"
+msgstr "pomerančovníky"
+
+msgid "almond_trees"
+msgstr "mandloně"
+
+msgid "banana_plants"
+msgstr "banánovníky"
+
+msgid "coconut_palms"
+msgstr "palmy kokosové"
+
+msgid "hazel_plants"
+msgstr "lísky"
+
+msgid "cherry_trees"
+msgstr "třešně"
+
+msgid "persimmon_trees"
+msgstr "tomel (kaki)"
+
+msgid "walnut_trees"
+msgstr "ořešáky"
+
+msgid "plum_trees"
+msgstr "švestky"
+
+msgid "peach_trees"
+msgstr "broskvoně"
+
+msgid "tea_plants"
+msgstr "čajovníky"
+
 msgid "Vineyard"
 msgstr "Vinice"
 
@@ -24763,9 +25322,6 @@ msgstr "{0} a {1} spolu s {2} a konfliktními hodnotami"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Podezřelá kombinace značek: {0} a {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} je zastaralé"
-
 msgid "{0} is deprecated"
 msgstr "{0} je zavržen"
 
@@ -24793,8 +25349,8 @@ msgstr ""
 "Špatné použití značky {0}. Odstraňte {1}, protože je jasné, že název chybí i "
 "bez přidané značky."
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} je zastaralé. Prosím použijte multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr "{0} je zastaralé. Použite, prosím, místo toho multipolygon."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -24842,6 +25398,15 @@ msgstr "neobvyklá klávesová zkratka"
 msgid "{0} is inaccurate"
 msgstr "{0} je nepřesné"
 
+msgid "{0} is deprecated for {1}"
+msgstr "{0} je zastaralá pro {1}"
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr "{0} je zastaralé. Použijte místo toho  prefix klíče {1}: ."
+
+msgid "questionable key (ending with a number): {0}"
+msgstr "pochybný klíč (končící číslem): {0}"
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} na uzlu. Mělo by být použito na cestě."
 
@@ -24857,6 +25422,9 @@ msgstr "{0} na cestě. Mělo by být použito na uzlu."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} na cestě. Mělo by být použito v relaci"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr "{0} spolu s {1} na uzlu. Ostraňte {0}."
+
 msgid "{0} on a node"
 msgstr "{0} na uzlu"
 
@@ -24884,6 +25452,9 @@ msgstr "{0} musí být připojen k cestě"
 msgid "node connects waterway and bridge"
 msgstr "uzel spojuje vodní cestu a most"
 
+msgid "suspicious roundabout direction"
+msgstr "podezřelý směr kruhového objezdu"
+
 msgid "abbreviated street name"
 msgstr "zkrácený název ulice"
 
@@ -24927,8 +25498,8 @@ msgstr "hodnota značky \"layer\" se znamínkem +"
 msgid "layer should be between -5 and 5"
 msgstr "hodnota layer by měla být od -5 do 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "hodnota level by měla být číselná, volitelně s přírůstky po 0.5"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr "{0} by měla mít jen čísla s volitelným přírůstkem o 0.5"
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -28678,8 +29249,8 @@ msgstr "obrázků"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr "Písmo dopravní značky ''{0}'' má špatný formát."
 
-msgid "Could not read font-file from ''{{0}}''."
-msgstr "Nemohu načíst soubor písma z ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
+msgstr ""
 
 msgid "Mapillary"
 msgstr "Mapillary"
@@ -28997,6 +29568,9 @@ msgstr "Přihlášení Mapillary"
 msgid "Login successful, return to JOSM."
 msgstr "Přihlášení úspěšné, návrat do JOSM."
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr "Podporované formáty obrázků (JPG a PNG)"
+
 msgid "Downloading Mapillary images"
 msgstr "Stáhnout obrázky z Mapillary"
 
@@ -29012,6 +29586,18 @@ msgstr "Nahrávání na server dokončeno"
 msgid "Uploading: {0}"
 msgstr "Nahrávám na server: {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Naměřené hodnoty"
 
@@ -30429,6 +31015,12 @@ msgstr "Doplněk Proj4J"
 msgid "Code"
 msgstr "Kód"
 
+msgid "Can''t parse a time from this string."
+msgstr "Z tohoto řetězce nemohu načíst čas"
+
+msgid "Invalid value"
+msgstr "Neplatná hodnota"
+
 msgid "added"
 msgstr "přidáno"
 
@@ -30517,15 +31109,6 @@ msgstr "Zachytit"
 msgid "Join"
 msgstr "Spojit"
 
-msgid "Enable"
-msgstr "Povolit"
-
-msgid "Can''t parse a time from this string."
-msgstr "Z tohoto řetězce nemohu načíst čas"
-
-msgid "Invalid value"
-msgstr "Neplatná hodnota"
-
 msgid "moved"
 msgstr "posunuto"
 
@@ -32667,6 +33250,9 @@ msgstr "Cesta s vybranými body nemůže být vyrovnaná."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Interní chyba: počet bodů je {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr "Zkopíruje všechny značky vybraných objektů do schránky"
+
 msgid "Extract node"
 msgstr "Vyjmout uzel"
 
@@ -33324,6 +33910,12 @@ msgstr[2] "Načítám {0} identifikátorů Wikidata jazyka ''{1}''"
 msgid "Add Wikidata for language ''{0}''"
 msgstr "Přidávám Wikidata pro jazyk ''{0}''"
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] "Přepsat ''{0}'' značku {1} z {2} na novou hodnotu ''{3}''?"
+msgstr[1] "Přepsat ''{0}'' značky {1} z {2} na novou hodnotu ''{3}''?"
+msgstr[2] "Přepsat ''{0}'' značek {1} z {2} na novou hodnotu ''{3}''?"
+
 msgid "Add names from Wikipedia"
 msgstr "Přidat názvy z Wikipedie"
 
@@ -33416,5 +34008,5 @@ msgstr "Vyjet"
 msgid "Drive a race car on this layer"
 msgstr "Řídit závodní speciál na této vrstvě"
 
-#~ msgid "Retirement Home"
-#~ msgstr "Domov důchodců"
+#~ msgid "Could not read font-file from ''{{0}}''."
+#~ msgstr "Nemohu načíst soubor písma z ''{{0}}''."
diff --git a/i18n/po/cy.po b/i18n/po/cy.po
index 39b4ef1..49f3b0d 100644
--- a/i18n/po/cy.po
+++ b/i18n/po/cy.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 05:06+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:05+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: cy\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -387,6 +387,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -442,6 +445,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1173,9 +1182,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1508,6 +1514,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2226,6 +2242,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2267,6 +2288,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2621,7 +2651,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3184,9 +3217,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3245,6 +3275,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3472,6 +3505,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3549,12 +3585,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3564,6 +3612,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4130,6 +4196,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4824,9 +4893,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4885,12 +4951,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4917,6 +4977,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5736,6 +5808,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5852,6 +5936,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6277,6 +6364,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6624,19 +6714,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6738,6 +6822,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7065,7 +7161,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7101,6 +7197,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7168,6 +7267,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7280,9 +7400,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7313,108 +7430,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7433,6 +7525,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7441,48 +7536,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7490,61 +7574,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7932,6 +8080,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8035,10 +8188,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8218,9 +8375,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8733,7 +8887,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8742,31 +8896,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8775,10 +8926,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9198,6 +9349,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9222,9 +9376,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9575,9 +9726,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9622,6 +9771,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9678,11 +9833,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9798,6 +9948,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10158,6 +10314,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10239,18 +10404,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10902,9 +11058,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11176,6 +11329,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11805,12 +11961,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11900,6 +12050,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11970,6 +12123,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12013,6 +12169,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12101,16 +12260,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12590,6 +12763,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12604,9 +12780,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12799,9 +12972,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12970,21 +13140,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12996,6 +13173,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13013,19 +13198,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13708,9 +13882,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13742,6 +13913,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13750,9 +13924,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13886,6 +14057,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14194,9 +14368,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14290,6 +14461,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14356,6 +14530,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14452,13 +14629,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14581,6 +14761,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14601,9 +14784,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14674,6 +14854,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14707,10 +14896,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15406,6 +15598,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16061,25 +16256,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16628,7 +16922,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17382,25 +17679,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17550,6 +17851,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17720,6 +18024,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17782,14 +18089,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18718,66 +19017,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18790,19 +19029,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18980,6 +19213,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19014,9 +19253,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19059,12 +19295,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19168,6 +19410,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19327,6 +19573,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19439,24 +19804,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19619,63 +19969,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19729,9 +20030,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19956,9 +20310,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20123,6 +20474,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20131,6 +20486,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20243,6 +20630,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20644,6 +21034,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20653,6 +21051,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21084,10 +21485,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21109,6 +21513,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21232,18 +21654,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21276,6 +21686,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21533,6 +21946,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21575,12 +21991,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21906,6 +22331,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22074,6 +22574,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22274,6 +22782,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23068,9 +23621,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23092,7 +23642,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23136,6 +23686,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23151,6 +23710,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23178,6 +23740,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23219,7 +23784,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26643,7 +27208,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26956,6 +27521,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26971,6 +27539,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28312,6 +28892,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28398,15 +28984,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30393,6 +30970,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30981,6 +31561,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/da.po b/i18n/po/da.po
index 5eb3f7b..d1345fc 100644
--- a/i18n/po/da.po
+++ b/i18n/po/da.po
@@ -8,16 +8,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2015-12-28 10:07+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-10 15:23+0000\n"
 "Last-Translator: Jørn <joern.map at gmail.com>\n"
 "Language-Team: Dansk <kde-i18n-doc at kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:38+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:38+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: da_DK\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
@@ -407,6 +407,9 @@ msgstr ""
 "Kunne ikke kombinere vejene<br>(De kunne ikke sammenlægges til en enkelt "
 "række punkter)"
 
+msgid "Reverse Ways"
+msgstr "Vend vejretninger"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Kombiner {0} vej"
@@ -464,6 +467,12 @@ msgstr "Slet"
 msgid "Delete selected objects."
 msgstr "Slet valgte objekter."
 
+msgid "Delete Layer"
+msgstr "Slet lag"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Slet det aktive lag. Sletter ikke den tilknyttede fil."
+
 msgid "Toggle dialogs panel"
 msgstr "Vis/skjul dialog panel"
 
@@ -1264,9 +1273,6 @@ msgstr "Klik for at genstarte senere."
 msgid "Reverse way"
 msgstr "Vend vejretning"
 
-msgid "Reverse Ways"
-msgstr "Vend vejretninger"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Vend retningen af alle valgte veje."
 
@@ -1444,7 +1450,7 @@ msgid "Split a way at the selected node."
 msgstr "Opdel en vej ved det markerede punkt"
 
 msgid "Cannot split since another split operation is already in progress"
-msgstr ""
+msgstr "Kan ikke opdele da en anden opdelingshandling allerede er i gang"
 
 msgid ""
 "The current selection cannot be used for splitting - no node is selected."
@@ -1574,25 +1580,25 @@ msgstr ""
 "egen kopi og alle punkter vil blive markeret."
 
 msgid "Existing node"
-msgstr ""
+msgstr "Eksisterende punkt"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Begge punkter"
 
 msgid "New node"
-msgstr ""
+msgstr "Nyt punkt"
 
 msgid "Tags / Memberships"
 msgstr "Tags / Medlemskaber"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Adskil"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "Hvor skal tags for punktet være?"
 
 msgid "Where should the memberships of this node be put?"
-msgstr ""
+msgstr "Hvor skal medlemskaberne for dette punkt være?"
 
 msgid "Unglued Node"
 msgstr "Skilte punkt i to"
@@ -1626,6 +1632,16 @@ msgstr ""
 "Du er ved at adskille ufærdige objekter.<br>Dette vil skabe problemer, da du "
 "ikke ser rigtige objekt.<br>Er du sikker på at du ønsker at adskille?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Adskillelsen påvirkede {0} relation: {1}"
+msgstr[1] "Adskillelsen påvirkede {0} relationer: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Sørg for at relationen ikke er blevet ødelagt!"
+msgstr[1] "Sørg for at relationerne ikke er blevet ødelagt!"
+
 msgid "Disconnect Node from Way"
 msgstr "Frakobl punkt fra vej"
 
@@ -2400,6 +2416,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Tilføj markering til relation"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Tilføj valget til relation</strong>: Kontrollere hver eneste "
+"relation for at undgå skader!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Tilføj markeringen til {0} relation"
@@ -2446,6 +2469,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Bekræftelse"
 
+msgid "List of recent relations"
+msgstr "Liste over seneste relationer"
+
+msgid "Open recent relation"
+msgstr "Åbn seneste relation"
+
+msgid "Relation Editor: {0}"
+msgstr "Relationseditor: {0}"
+
 msgid "Select in relation list"
 msgstr "Marker i relationsliste"
 
@@ -2822,8 +2854,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Forventede <i>min</i>/<i>max</i> efter ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr "Kan ikke fortolke tidsstempel ''{0}''"
+
+msgid "Expecting {0} after {1}"
+msgstr "Forventer {0} efter {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Udvalg af primitiv-ID''er forventet"
@@ -3311,13 +3346,13 @@ msgid "Restoring files"
 msgstr "Gendanner filer"
 
 msgid "Unable to delete backup file {0}"
-msgstr ""
+msgstr "Kan ikke slette backupfil {0}"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "Kan ikke slette PIDfil {0}"
 
 msgid "Unable to delete archived backup file {0}"
-msgstr ""
+msgstr "Kan ikke slette arkiveret backupfil {0}"
 
 msgid "Illegal latitude value ''{0}''"
 msgstr "Ulovlig breddegradsværdi \"{0}\""
@@ -3444,9 +3479,6 @@ msgstr ""
 "Prøv at aktivere IPv6-netværk, foretrækker IPv6 fremfor IPv4 (virker kun ved "
 "tidlig opstart)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (ved linje {0}, kolonne {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 "Indstilling {0} er blevet fjernet eftersom den ikke længere er i brug."
@@ -3506,6 +3538,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "Ø"
 
+msgid "Update default entries"
+msgstr "Opdater standard emne"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "Projektionen \"{0}\" blev ikke fundet, bogmærket \"{1}\" er ikke brugbart"
@@ -3760,6 +3795,9 @@ msgstr "tekst"
 msgid "areatext"
 msgstr "Områdetekst"
 
+msgid " (at line {0}, column {1})"
+msgstr " (ved linje {0}, kolonne {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "UTM projektion (''+proj=utm'') kræver ''+zone=...'' parameter."
 
@@ -3842,12 +3880,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr "Dobbelt stereografisk"
+msgid "Albers Equal Area"
+msgstr "Albers arealtro"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parameterern \"{0}\" er krævet."
 
+msgid "standard parallels are opposite"
+msgstr "standard paralleller er modsatte"
+
+msgid "Cassini-Soldner"
+msgstr "Cassini-Soldner"
+
+msgid "Double Stereographic"
+msgstr "Dobbelt stereografisk"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Lambert Azimuthal arealtro"
+
 msgid "Lambert Conformal Conic"
 msgstr "Lampert konform kejlesnit"
 
@@ -3857,6 +3907,24 @@ msgstr "Bre/læn (Geodætisk)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr "Oblique Mercator"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr "Uegnede parameter ''{0}'' og ''{1}'' for to punktsmetode."
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr "Ugyldig værdi for parameter ''{0}'': {1}"
+
+msgid "error in initialization"
+msgstr "fejl i initialisering"
+
+msgid "Polar Stereographic"
+msgstr "Pol stereografisk"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr "Pol stereografisk: Parameter ''{0}'' skal være 90 eller -90."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Swiss Oblique Mercator"
 
@@ -4454,6 +4522,9 @@ msgstr "Ulovligt blanktegn i egenskabsnøgle"
 msgid "Property values start or end with white space"
 msgstr "Egenskabsværdi begynder eller slutter med blanktegn"
 
+msgid "Property values contain multiple white spaces"
+msgstr "Egenskabsværdi indeholder flere mellemrum"
+
 msgid "Property values contain HTML entity"
 msgstr "Egenskabsværdi indeholder HTML-kodet tegn"
 
@@ -4547,13 +4618,13 @@ msgid "Unknown member type"
 msgstr "Ukendt medlemstype"
 
 msgid "More than one \"from\" way found"
-msgstr "Mere end én \"fra\" vej fundet"
+msgstr "Mere end en \"fra\" vej fundet"
 
 msgid "More than one \"to\" way found"
-msgstr "Mere end én \"til\" vej fundet"
+msgstr "Mere end en \"til\" vej fundet"
 
 msgid "More than one \"via\" node found"
-msgstr "Mere end ét \"via\" punkt fundet"
+msgstr "Mere end et \"via\" punkt fundet"
 
 msgid "Cannot mix node and way for role \"via\""
 msgstr "Kan ikke blande punkt og vej for rollen \"via\""
@@ -4565,7 +4636,7 @@ msgid "No \"to\" way found"
 msgstr "Ingen \"til\" vej fundet"
 
 msgid "\"from\" way equals \"to\" way"
-msgstr ""
+msgstr "\"fra\" vej er lig med \"til\" vej"
 
 msgid "No \"via\" node or way found"
 msgstr "Intet \"via\" punkt eller vej fundet"
@@ -5180,9 +5251,6 @@ msgstr "Indstillinger for billedlag"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Åbn indstillinger for billedlag"
 
-msgid "Search menu items"
-msgstr "Søgemenuemner"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Lyd"
@@ -5241,12 +5309,6 @@ msgstr "Statuslinje forgrund: aktiv"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Den geografiske breddegrad ved musemarkøren."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Den geografiske længdegrad ved musemarkøren."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "(Kompas)retningen af det tegnede linjestykke."
 
@@ -5275,6 +5337,18 @@ msgstr "Bruger:"
 msgid "Do not hide status bar"
 msgstr "Skjul ikke statuslinje"
 
+msgid "The northing at the mouse pointer."
+msgstr "Den nordlig afstand ved musemarkøren."
+
+msgid "The easting at the mouse pointer."
+msgstr "Den østlig afstand ved musemarkøren."
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Den geografiske breddegrad ved musemarkøren."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Den geografiske længdegrad ved musemarkøren."
+
 msgid "System of measurement changed to {0}"
 msgstr "Målesystem ændret til {0}"
 
@@ -6180,6 +6254,18 @@ msgstr ""
 "Åbn en fletnings-dialogboks for alle valgte elementer i den ovenstående "
 "liste."
 
+msgid "Resolve to my versions"
+msgstr "Løs til mine versioner"
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr "Løser alle uløste konflikter til ''min'' version"
+
+msgid "Resolve to their versions"
+msgstr "Løs til deres versioner"
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr "Løser alle uløste konflikter til ''deres'' version"
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Der blev opdaget {0} konflikt"
@@ -6302,6 +6388,9 @@ msgstr "Flyt filter ned."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filter Skjult:{0} Deaktiveret:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Fejl i filter <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Fejl i filter"
 
@@ -6490,7 +6579,7 @@ msgid ""
 msgstr ""
 "\n"
 "\n"
-"Liste med generede stile:\n"
+"Liste over generede stile:\n"
 
 msgid "The 2 selected objects have identical style caches."
 msgstr "De 2 valgte objekter har identiske stilart cacher."
@@ -6625,13 +6714,13 @@ msgid "Adjust gamma value of the layer."
 msgstr "Juster gammaværdien for laget."
 
 msgid "Activate"
-msgstr "Aktivér"
+msgstr "Aktiver"
 
 msgid "Activate the selected layer"
 msgstr "Aktiver de markerede lag"
 
 msgid "Activate layer"
-msgstr "Aktivér lag"
+msgstr "Aktiver lag"
 
 msgid "Merge this layer into another layer"
 msgstr "Flet dette lag ind i et andet lag"
@@ -6753,6 +6842,9 @@ msgstr "Stil indstillinger"
 msgid "Customize the style"
 msgstr "Tilpas stil"
 
+msgid "Search menu items"
+msgstr "Søgemenuemner"
+
 msgid "Mini map"
 msgstr "Mini kort"
 
@@ -7113,21 +7205,15 @@ msgstr[1] ""
 "<html>Ingen af de markerede objekter er tilgængelige i det "
 "nuværende<br>redigeringslag ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Download indhold"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Download indhold af rettesæt fra OSM-serveren"
-
-msgid "Update content"
-msgstr "Opdater indhold"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Opdater indhold af rettesæt fra OSM-serveren"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Download og vis historikken for de valgte objekter"
 
+msgid "Download objects"
+msgstr "Download objekter"
+
+msgid "Download the current version of the selected objects"
+msgstr "Download den aktuelle version af de valgte objekter"
+
 msgid "Select in layer"
 msgstr "Markér i lag"
 
@@ -7231,6 +7317,18 @@ msgstr "åben"
 msgid "closed"
 msgstr "lukket"
 
+msgid "Download content"
+msgstr "Download indhold"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Download indhold af rettesæt fra OSM-serveren"
+
+msgid "Update content"
+msgstr "Opdater indhold"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Opdater indhold af rettesæt fra OSM-serveren"
+
 msgid "Changeset ID: "
 msgstr "Rettesæt ID: "
 
@@ -7596,8 +7694,8 @@ msgstr "Rediger værdien for den valgte nøgle for alle objekter"
 msgid "Edit Tags"
 msgstr "Redigere tags"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Gå til OSM wiki’en for tag-hjælp (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "Gå til OSM wiki for hjælp til tag"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Start browseren med wikihjælp for det valgte objekt"
@@ -7632,6 +7730,9 @@ msgstr "Kopier alle nøgler/værdier"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Kopier nøgle og værdien af alle tags til udklipsholderen"
 
+msgid "Copy Tags"
+msgstr "Kopier tags"
+
 msgid "Search Key/Value/Type"
 msgstr "Søg nøgle/værdi/type"
 
@@ -7701,6 +7802,27 @@ msgstr "Indstil antallet af nyligt tilføjede tags"
 msgid "Remember last used tags after a restart"
 msgstr "Husk seneste brugte tags efter en genstart"
 
+msgid "Recent tags with existing key"
+msgstr "De seneste tags med eksisterende nøgle"
+
+msgid "Enable"
+msgstr "Aktiver"
+
+msgid "Hide"
+msgstr "Skjul"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr "Opdater seneste tags liste efter anvendelse af tag"
+
+msgid "No refresh"
+msgstr "Ingen opdatering"
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr "Opdater kun tag status (aktiveret / deaktiveret)"
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr "Opdater tag status og liste over nyligt tilføjede tags"
+
 msgid "to apply first suggestion"
 msgstr "for at anvende første forslag"
 
@@ -7813,10 +7935,7 @@ msgid "New Relation"
 msgstr "Ny relation"
 
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
-msgstr "Fokusér relationseditoren på relationen \"{0}\" i laget \"{1}\""
-
-msgid "Relation Editor: {0}"
-msgstr "Relationseditor: {0}"
+msgstr "Fokuser relationseditoren på relationen \"{0}\" i laget \"{1}\""
 
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
@@ -7858,6 +7977,73 @@ msgstr ""
 "cirkulære afhængigheder og frarådes derfor.<br>Springer over relation "
 "''{0}''.</html>"
 
+msgid "Select previous Gap"
+msgstr "Vælg forrige hul"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Vælg det forrige relationsmedlem der er årsag til et hul"
+
+msgid "Select next Gap"
+msgstr "Vælg næste hul"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Vælg det næste relationsmedlem der er årsag til et hul"
+
+msgid "Zoom to Gap"
+msgstr "Zoom til mellemrum"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Zoom til mellemrummet i vejsekvensen"
+
+msgid "Refers to"
+msgstr "Refererer til"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr "Kan ikke tilføje {0} da det ikke er en del af datasæt"
+
+msgid "Download referring relations"
+msgstr "Downloader refererende relationer"
+
+msgid "There were {0} conflicts during import."
+msgstr "Der var {0} konflikter under importen."
+
+msgid "including immediate children of parent relations"
+msgstr "Inkluderer umiddelbare børn af forældrerelationer"
+
+msgid "Load parent relations"
+msgstr "Hent forældrerelationer"
+
+msgid "Reload"
+msgstr "Genindlæs"
+
+msgid "Loading parent relations"
+msgstr "Henter forældrerelationer"
+
+msgid "Edit the currently selected relation"
+msgstr "Rediger den nu markerede relation"
+
+msgid "Apply Changes"
+msgstr "Anvend ændringer"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Opret ny relation i lag \"{0}\""
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Rediger ny relation i lag ''{0}''"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Rediger relation #{0} i lag ''{1}''"
+
+msgid "Load relation"
+msgstr "Indlæs relation"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Tilføj alle objekter der er markeret i det aktuelle datasæt før det sidste "
+"markerede medlem"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -7871,68 +8057,133 @@ msgstr ""
 "Tilføj alle objekter der er markeret i det aktuelle datasæt før det første "
 "markerede medlem"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Tilføj alle objekter der er markeret i det aktuelle datasæt før det sidste "
-"markerede medlem"
+msgid "Apply the current updates"
+msgstr "Tilføj de aktuelle opdateringer"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Fjern alle medlemmer der refererer til et af de valgte objekter"
+msgid "Cancel the updates and close the dialog"
+msgstr "Annuller opdateringerne og luk dialogen"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Yes, save the changes and close"
+msgstr "Ja, gem ændringer og luk"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Klik for at gemme ændringer og lukke denne relationseditor"
+
+msgid "No, discard the changes and close"
+msgstr "Nej, smid ændringer væk og luk"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Klik for at smide ændringer væk og lukke denne relationseditor"
+
+msgid "Cancel, continue editing"
+msgstr "Annullér, forsæt redigering"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Vælg relationsmedlemmer der refererer til objekter i den aktuelle markering"
+"Klik for at vende tilbage til relationseditoren og genoptage redigering af "
+"relationer"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 msgstr ""
-"Vælg relationsmedlemmer der refererer til {0} objekter i den aktuelle "
-"markering"
+"<html>Relationen er ændret.<br><br>Ønsker du at gemme dine ændringer?</html>"
 
-msgid "Select objects for selected relation members"
-msgstr "Vælg objekter for valgte relationsmedlemmer"
+msgid "Unsaved changes"
+msgstr "Ej-gemte ændringer"
 
-msgid "Sort the relation members"
-msgstr "Sorterer relationsmedlemmerne"
+msgid "Delete the currently edited relation"
+msgstr "Slet den redigerede relation"
 
-msgid "Relation Editor: Sort"
-msgstr "Relationseditor: Sorterer"
+msgid "Relation Editor: Download Members"
+msgstr "Relationseditor: Download medlemmer"
 
-msgid "Sort below"
-msgstr "Sorterer nedenfor"
+msgid "Download all incomplete members"
+msgstr "Download alle ufuldstændige medlemmer"
 
-msgid "Sort the selected relation members and all members below"
-msgstr "Sorterer de valgte relationsmedlemmer og alle medlemmer nedenfor"
+msgid "Download Members"
+msgstr "Download medlemmer"
 
-msgid "Reverse the order of the relation members"
-msgstr "Vend rækkefølge af relationsmedlemmerne"
+msgid "Download selected incomplete members"
+msgstr "Download markerede ufuldstændige medlemmer"
 
-msgid "Reverse"
-msgstr "Vend"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Rediger den relation det nu markerede relationsmedlem refererer til"
 
-msgid "Move the currently selected members up"
-msgstr "Flyt de nu markerede medlemmer op"
+msgid "Relation Editor: Move Down"
+msgstr "Relationseditor: Flyt ned"
+
+msgid "Move the currently selected members down"
+msgstr "Flyt de nu markerede medlemmer ned"
 
 msgid "Relation Editor: Move Up"
 msgstr "Relationseditor: Flyt op"
 
-msgid "Move the currently selected members down"
-msgstr "Flyt de nu markerede medlemmer ned"
+msgid "Move the currently selected members up"
+msgstr "Flyt de nu markerede medlemmer op"
 
-msgid "Relation Editor: Move Down"
-msgstr "Relationseditor: Flyt ned"
+msgid "Apply the updates and close the dialog"
+msgstr "Tilføj opdateringerne og luk dialogboksen"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Fjern de nu markerede medlemmer fra denne relation"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Medlemmer fra indsætbufferen kan ikke tilføjes da de ikke er inkluderet i "
+"den aktuelle lag"
+
+msgid "Relation Editor: Refresh"
+msgstr "Relationseditor: Opdater"
+
+msgid "Refresh relation from data layer"
+msgstr "Opdater relation fra datalag"
+
+msgid "Refresh"
+msgstr "Opdater"
+
+msgid "Yes, discard changes and reload"
+msgstr "Ja, smid ændringer væk og genindlæs"
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr "Klik for at smide ændringerne væk og genindlæse data fra lag"
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+"<html>Du har ugemte ændringer i dette editor vindue.<br><br>Vil du smide "
+"disse ændringer væk og genindlæse data fra lag?</html>"
+
+msgid "Click to close window"
+msgstr "Klik for at lukke vindue"
+
+msgid "No, continue editing"
+msgstr "Nej, fortsæt redigeringen"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+"<html>Relation er blevet slettet udenfor editor.<br><br>Vil du lukke dette "
+"vindue?</html>"
+
+msgid "Deleted relation"
+msgstr "Slettet relation"
 
 msgid "Relation Editor: Remove"
 msgstr "Relationseditor: Fjern"
 
-msgid "Delete the currently edited relation"
-msgstr "Slet den redigerede relation"
+msgid "Remove the currently selected members from this relation"
+msgstr "Fjern de nu markerede medlemmer fra denne relation"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Fjern alle medlemmer der refererer til et af de valgte objekter"
+
+msgid "Reverse the order of the relation members"
+msgstr "Vend rækkefølge af relationsmedlemmerne"
+
+msgid "Reverse"
+msgstr "Vend"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -7949,14 +8200,6 @@ msgstr "Ja, opret en konflikt og luk"
 msgid "Click to create a conflict and close this relation editor"
 msgstr "Klik for at oprette en konflikt og lukke denne relationseditor"
 
-msgid "No, continue editing"
-msgstr "Nej, fortsæt redigeringen"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Klik for at vende tilbage til relationseditoren og genoptage redigering af "
-"relationer"
-
 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 "
@@ -7973,53 +8216,19 @@ msgstr ""
 "<html>Laget ''{0}'' har allerede en konflikt for objektet<br>''{1}''.<br>Løs "
 "først denne konflikt og prøv så igen</html>"
 
-msgid "Apply the current updates"
-msgstr "Tilføj de aktuelle opdateringer"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Tilføj opdateringerne og luk dialogboksen"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Annuller opdateringerne og luk dialogen"
-
-msgid "Yes, save the changes and close"
-msgstr "Ja, gem ændringer og luk"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Klik for at gemme ændringer og lukke denne relationseditor"
-
-msgid "No, discard the changes and close"
-msgstr "Nej, smid ændringer væk og luk"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Klik for at smide ændringer væk og lukke denne relationseditor"
-
-msgid "Cancel, continue editing"
-msgstr "Annullér, forsæt redigering"
+msgid "Select objects for selected relation members"
+msgstr "Vælg objekter for valgte relationsmedlemmer"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
+"Select relation members which refer to objects in the current selection"
 msgstr ""
-"<html>Relationen er ændret.<br><br>Ønsker du at gemme dine ændringer?</html>"
-
-msgid "Unsaved changes"
-msgstr "Ej-gemte ændringer"
-
-msgid "Add an empty tag"
-msgstr "Tilføj en tom tag"
-
-msgid "Download all incomplete members"
-msgstr "Download alle ufuldstændige medlemmer"
-
-msgid "Download Members"
-msgstr "Download medlemmer"
-
-msgid "Relation Editor: Download Members"
-msgstr "Relationseditor: Download medlemmer"
+"Vælg relationsmedlemmer der refererer til objekter i den aktuelle markering"
 
-msgid "Download selected incomplete members"
-msgstr "Download markerede ufuldstændige medlemmer"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Vælg relationsmedlemmer der refererer til {0} objekter i den aktuelle "
+"markering"
 
 msgid "Sets a role for the selected members"
 msgstr "Giver de markerede medlemmer en rolle"
@@ -8047,72 +8256,17 @@ msgstr "Nej, anvend den ikke"
 msgid "Confirm empty role"
 msgstr "Bekræft tom rolle"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Rediger den relation det nu markerede relationsmedlem refererer til"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Medlemmer fra indsætbufferen kan ikke tilføjes da de ikke er inkluderet i "
-"den aktuelle lag"
-
-msgid "Select previous Gap"
-msgstr "Vælg forrige hul"
-
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Vælg det forrige relationsmedlem der er årsag til et hul"
-
-msgid "Select next Gap"
-msgstr "Vælg næste hul"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Vælg det næste relationsmedlem der er årsag til et hul"
-
-msgid "Zoom to Gap"
-msgstr "Zoom til mellemrum"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Zoom til mellemrummet i vejsekvensen"
-
-msgid "Refers to"
-msgstr "Refererer til"
-
-msgid "Download referring relations"
-msgstr "Downloader refererende relationer"
-
-msgid "There were {0} conflicts during import."
-msgstr "Der var {0} konflikter under importen."
-
-msgid "including immediate children of parent relations"
-msgstr "Inkluderer umiddelbare børn af forældrerelationer"
-
-msgid "Load parent relations"
-msgstr "Hent forældrerelationer"
-
-msgid "Reload"
-msgstr "Genindlæs"
-
-msgid "Loading parent relations"
-msgstr "Henter forældrerelationer"
-
-msgid "Edit the currently selected relation"
-msgstr "Rediger den nu markerede relation"
-
-msgid "Apply Changes"
-msgstr "Anvend ændringer"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Opret ny relation i lag \"{0}\""
+msgid "Relation Editor: Sort"
+msgstr "Relationseditor: Sorterer"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Rediger ny relation i lag ''{0}''"
+msgid "Sort the relation members"
+msgstr "Sorterer relationsmedlemmerne"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Rediger relation #{0} i lag ''{1}''"
+msgid "Sort below"
+msgstr "Sorterer nedenfor"
 
-msgid "Load relation"
-msgstr "Indlæs relation"
+msgid "Sort the selected relation members and all members below"
+msgstr "Sorterer de valgte relationsmedlemmer og alle medlemmer nedenfor"
 
 msgid "way is connected"
 msgstr "vej er forbundet"
@@ -8538,6 +8692,11 @@ msgid ""
 msgstr ""
 "<html>Version <strong>{0}</strong> oprettet den <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "Dette rettesæt har {0} kommentar"
+msgstr[1] "Dette rettesæt har {0} kommentarer"
+
 msgid "Changeset"
 msgstr "Rettesæt"
 
@@ -8662,15 +8821,17 @@ msgid "Upload"
 msgstr "Upload"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
 msgstr ""
-"<html>Vælg hvilke handlinger der skal foretages for dette lag, når du "
-"klikker på knappen længst til venstre.<br/>Markér \"upload\" for at uploade "
-"ændringer til OSM serveren.<br/>Markér \"Gem\" for at gemme laget i filen "
-"der er angivet til venstre.</html>"
+"Vælg hvilke handlinger der skal udføres for dette lag, hvis du klikker på "
+"knappen længst til venstre."
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr "Tjek \"Upload\" for at uploade ændringerne til OSM serveren."
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
+msgstr "Tjek \"Gem\" for at gemme laget til filen angivet til venstre."
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Angiv en kort kommentar for de ændringer du uploader:"
@@ -8868,9 +9029,6 @@ msgid ""
 msgstr ""
 "Kunne ikke hente brugerinfo for den aktuelle JOSM bruger. Handlingen var: {0}"
 
-msgid "Download objects"
-msgstr "Download objekter"
-
 msgid "Initializing nodes to download ..."
 msgstr "Klargør punkter der skal downloades ..."
 
@@ -8931,7 +9089,7 @@ msgid "Open Recent"
 msgstr "Åbn seneste"
 
 msgid "List of recently opened files"
-msgstr "Liste med senest åbnede filer"
+msgstr "Liste over senest åbnede filer"
 
 msgid "Clear"
 msgstr "Ryd"
@@ -9461,7 +9619,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} objekt at slette:"
 msgstr[1] "{0} objekter at slette:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr "Vis info om tern"
 
 msgid "Tile Info"
@@ -9470,17 +9628,23 @@ msgstr "Tern info"
 msgid "Metadata "
 msgstr "Metadata "
 
-msgid "Auto Zoom"
+msgid "Load tile"
+msgstr "Hent tern"
+
+msgid "Auto zoom"
 msgstr "Autozoom"
 
 msgid "Auto load tiles"
 msgstr "Hent tern automatisk"
 
-msgid "Load All Tiles"
+msgid "Show errors"
+msgstr "Vis fejl"
+
+msgid "Load all tiles"
 msgstr "Hent alle tern"
 
-msgid "Load All Error Tiles"
-msgstr "Indlæs alle fejl-tern"
+msgid "Load all error tiles"
+msgstr "Hent alle tern med fejl"
 
 msgid "Zoom to native resolution"
 msgstr "Zoom til oprindelige opløsning"
@@ -9488,27 +9652,18 @@ msgstr "Zoom til oprindelige opløsning"
 msgid "Change resolution"
 msgstr "Skift opløsning"
 
-msgid "Failed to create tile source"
-msgstr "Kunne ikke oprette tern kilde"
-
-msgid "Show Errors"
-msgstr "Vis fejl"
-
-msgid "Load Tile"
-msgstr "Hent tern"
-
 msgid "Increase zoom"
 msgstr "Øg zoom"
 
 msgid "Decrease zoom"
 msgstr "Formindsk zoom"
 
-msgid "Snap to tile size"
-msgstr "Ret ind til ternstørrelse"
-
-msgid "Flush Tile Cache"
+msgid "Flush tile cache"
 msgstr "Tøm tern cache"
 
+msgid "Failed to create tile source"
+msgstr "Kunne ikke oprette tern kilde"
+
 msgid "zoom in to load any tiles"
 msgstr "zoom ind for at indlæse nogle tern"
 
@@ -9955,6 +10110,9 @@ msgstr ""
 "Fejl ved fortolkning af forskydning.\n"
 "Forventet format: {0}"
 
+msgid "Geotagged Images"
+msgstr "Geotaggede billeder"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Trækker GPS-lokaliteter ud fra EXIF"
 
@@ -9979,9 +10137,6 @@ msgstr "Fejl ved hentning af filer fra mappen {0}\n"
 msgid "One of the selected files was null"
 msgstr "En af de markerede filer havde en null-værdi"
 
-msgid "Geotagged Images"
-msgstr "Geotaggede billeder"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} billede hentet."
@@ -10373,12 +10528,8 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Kunne ikke fortolke korttegningsstile fra ''{0}''. Fejlen var: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Fandt forældet ''{0}'' i ''{1}'' som vil blive fjernet snarest. Brug ''{2}'' "
-"i stedet."
+msgid "Failed to locate image ''{0}''"
+msgstr "Kunne ikke finde billedet \"{0}\""
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Ulovligt streg-mønster. Værdierne skal være positive."
@@ -10425,6 +10576,12 @@ msgstr "AdgangsudtryksURL:"
 msgid "Authorize URL:"
 msgstr "Godkendelses-URL:"
 
+msgid "OSM login URL:"
+msgstr "OSM log ind URL:"
+
+msgid "OSM logout URL:"
+msgstr "OSM log ud URL:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 "Klik for at sætte OAuth indstillingerne tilbage til standardværdierne"
@@ -10499,13 +10656,6 @@ msgstr "Brugernavn: "
 msgid "Password: "
 msgstr "Adgangskode: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Advarsel:</strong> JOSM logger ind <strong>en gang</strong> via en "
-"sikker forbindelse."
-
 msgid "Granted rights"
 msgstr "Givne rettigheder"
 
@@ -10643,6 +10793,15 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Vælg en godkendelsesprocedure: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+"<strong>Advarsel:</strong> Da du ikke bruger standard OSM API, skal du sørge "
+"for at sætte en OAuth forbruger nøgle og hemmelighed i <i>Avanceret OAuth "
+"parametre</i>."
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Få et adgangsudtryk for ''{0}''"
 
@@ -11042,6 +11201,15 @@ msgstr "Registreret værktøjslinje handling {0} overskrevet: {1} for {2}"
 msgid "Toolbar: {0}"
 msgstr "Værktøjslinje: {0}"
 
+msgid "add entry"
+msgstr "tilføj punkt"
+
+msgid "Remove the selected entry"
+msgstr "Fjern det valgte punkt"
+
+msgid "Key: {0}"
+msgstr "Nøgle: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Udvidede indstillinger"
 
@@ -11131,18 +11299,9 @@ msgstr "Vælg profil-fil"
 msgid "Change list setting"
 msgstr "Tilpas liste indstilling"
 
-msgid "Key: {0}"
-msgstr "Nøgle: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Ændringsliste over listeindstillinger"
 
-msgid "add entry"
-msgstr "tilføj punkt"
-
-msgid "Remove the selected entry"
-msgstr "Fjern det valgte punkt"
-
 msgid "Change list of maps setting"
 msgstr "Ændringsliste over kortindstillinger"
 
@@ -11833,7 +11992,7 @@ msgid "Add a new {0} entry by entering the URL"
 msgstr "Opret et nyt {0} enme ved at indtaste dens URL"
 
 msgid "Remove entry"
-msgstr "Fjern element"
+msgstr "Fjern emne"
 
 msgid "copy selected defaults"
 msgstr "kopier valgte standarder"
@@ -11841,9 +12000,6 @@ msgstr "kopier valgte standarder"
 msgid "Please select at least one row to copy."
 msgstr "Vælg mindst en række at kopiere."
 
-msgid "reload defaults"
-msgstr "genindlæs standarder"
-
 msgid "Menu Name"
 msgstr "Navn på menu"
 
@@ -12148,6 +12304,9 @@ msgstr[0] "Download af den følgende udvidelse er <strong>fejlet</strong>:"
 msgstr[1] ""
 "Download af de følgende {0} udvidelser er <strong>fejlet</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Fejl meddelelse (ikke oversat): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Genstart JOSM for at aktivere de hentede udvidelser."
 
@@ -12245,7 +12404,7 @@ msgid "Projection configuration is valid."
 msgstr "Projektions configurationen er gyldig."
 
 msgid "Validate"
-msgstr "Validér"
+msgstr "Valider"
 
 msgid "Parameter information..."
 msgstr "Parameter information..."
@@ -12654,13 +12813,13 @@ msgid "Please enter the OSM API URL."
 msgstr "Indtast OSM API URL’en"
 
 msgid "Use Overpass server for object downloads"
-msgstr ""
+msgstr "Brug Overpass server til objekt download"
 
 msgid "Overpass server: "
 msgstr "Overpass server: "
 
 msgid "Overpass server"
-msgstr ""
+msgstr "Overpass server"
 
 msgid "Proxy settings"
 msgstr "Proxy-indstillinger"
@@ -12825,12 +12984,6 @@ msgstr "Numeriske værdier"
 msgid "Checks for wrong numeric values"
 msgstr "Kontrollerer for forkerte numeriske værdier"
 
-msgid "Power"
-msgstr "Strøm"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Kontrollerer for fejl på el-infrastruktur"
-
 msgid "Religion"
 msgstr "Religion"
 
@@ -12920,6 +13073,9 @@ msgstr "Brug prædefinition \"{0}\""
 msgid "Elements of type {0} are supported."
 msgstr "Elementer af typen {0} er understøttet."
 
+msgid "This preset also sets: {0}"
+msgstr "Denne prædefinition sætter også: {0}"
+
 msgid "Edit also …"
 msgstr "Rediger også …"
 
@@ -12991,6 +13147,9 @@ msgstr "Søg i prædefinerede"
 msgid "Presets"
 msgstr "Prædefinerede"
 
+msgid "Search for objects by preset..."
+msgstr "Søg efter objekter via prædefinerede..."
+
 msgid "Search for objects by preset"
 msgstr "Søg efter objekter via prædefinerede"
 
@@ -13044,6 +13203,9 @@ msgstr ""
 "Ødelagte prædefinerede tags \"{0}-{1}\" - antallet af elementer i ''kort "
 "beskrivelse'' skal være den samme som i ''værdier''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "Dette svarer til nøglen ''{0}''"
+
 msgid "More information about this feature"
 msgstr "Mere information om denne funktion"
 
@@ -13139,17 +13301,33 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "falsk: egenskaben er eksplicit slået fra"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "falsk: egenskaben ''{0}'' er eksplicit slået fra"
+
 msgid "true: the property is explicitly switched on"
 msgstr "sand: egenskaben er eksplicit slået til"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "sand: egenskaben ''{0}'' er eksplicit slået til"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
-"opdelt: forskellige valgte objekter har forskellige værdier; skift ikke."
+"delvis: forskellige valgte objekter har forskellige værdier, skift ikke"
+
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+"delvis: forskellige valgte objekter har forskellige værdier for ''{0}'', "
+"skift ikke"
 
 msgid "unset: do not set this property on the selected objects"
 msgstr "uangivet: sæt ikke denne egenskab for de valgte objekter"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr "uangivet: sæt ikke denne egenskab ''{0}'' for de valgte objekter"
+
 msgid "Cut"
 msgstr "Klip"
 
@@ -13680,6 +13858,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Uventet værdi for indstilling ''{0}''. Fik ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "OSM-serverfiler"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 "<html>Der opstod en fejl ved forsøg på at gemme.<br>Fejlen er:<br>{0}</html>"
@@ -13697,9 +13878,6 @@ msgstr "OSM serverfiler gzip komprimeret"
 msgid "Parsing OSM history data ..."
 msgstr "Fortolker OSM historikdata ..."
 
-msgid "OSM Server Files"
-msgstr "OSM-serverfiler"
-
 msgid "Invalid dataset"
 msgstr "Ugyldigt datasæt"
 
@@ -13900,9 +14078,6 @@ msgstr "Uploader data ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Uventet id 0 fundet for osm primitiv"
 
-msgid "OSM Server Files zip compressed"
-msgstr "OSM serverfiler zip-komprimeret"
-
 msgid "Downloading data..."
 msgstr "Downloader data..."
 
@@ -14083,24 +14258,29 @@ msgstr ""
 "Fjernstyring er blevet bedt om at angive dens protokol-version. Dette giver "
 "websteder mulighed for at opdage en aktiv JOSM."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Version ''{0}'' af meta data for geoimage lag er ikke understøttet. "
-"Forventede: 0.1"
+msgid "local file"
+msgstr "lokal fil"
+
+msgid "include"
+msgstr "inkludér"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Laget indeholder ej-gemte data - gem til fil."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Laget indeholder ikke data der ikke er gemt."
 
 msgid "Data:"
 msgstr "Data:"
 
-msgid "local file"
-msgstr "lokal fil"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Link til en OSM-datafil på din egen disk."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Link til en GPX-fil på din lokale disk."
+msgid "Include OSM data in the .joz session file."
+msgstr "Inkludér OSM-data i .joz-sessionsfilen"
 
-msgid "include"
-msgstr "inkludér"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Link til en GPX datafil på din lokale disk."
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Inkluderer GPX data i .joz session fil."
@@ -14111,6 +14291,16 @@ msgstr "Ingen fil-association"
 msgid "GPX data will be included in the session file."
 msgstr "GPX data vil blive inkluderet i session filen."
 
+msgid "OSM data will be included in the session file."
+msgstr "OSM-data vil blive inkluderet i sessionsfilen"
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Version ''{0}'' af meta data for geoimage lag er ikke understøttet. "
+"Forventede: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14133,20 +14323,10 @@ msgid ""
 msgstr ""
 "Version ''{0}'' af metadata for markørlag understøttes ikke. Forventede: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Laget indeholder ej-gemte data - gem til fil."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Laget indeholder ikke data der ikke er gemt."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Link til en OSM-datafil på din egen disk."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Inkludér OSM-data i .joz-sessionsfilen"
-
-msgid "OSM data will be included in the session file."
-msgstr "OSM-data vil blive inkluderet i sessionsfilen"
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
+"Version ''{0}'' af meta data til note lag understøttes ikke. Forventet: 0,1"
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15005,9 +15185,6 @@ msgstr ""
 "stor.<br>Anmod enten om et mindre område eller brug en eksport-fil givet af "
 "OSM-fællesskabet."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Fejl meddelelse (ikke oversat): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15052,6 +15229,9 @@ msgstr "Download omdirigeret til \"{0}\""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Opdagede for mange omdirigeringer til download URL’en. Afbryder."
 
+msgid "Fetching content..."
+msgstr "Henter indhold..."
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "Kan ikke finde nogen oversættelse for sprogvalget {0}. Benytter i stedet {1}."
@@ -15063,9 +15243,6 @@ msgstr ""
 "Fatalt: Kunne ikke finde billede ''{0}''. Dette er et alvorligt "
 "konfigurationsproblem. JOSM vil holde op med at virke."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Kunne ikke finde billedet \"{0}\""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Kunne ikke håndtere zip-fil ''{0}''. Handlingen var: {1}"
 
@@ -15107,7 +15284,7 @@ msgid "reserved"
 msgstr "reserveret"
 
 msgid "Unable to delete old preferences file {0}"
-msgstr ""
+msgstr "Kan ikke slette gammel indstillingsfil {0}"
 
 msgid "Outdated Java version"
 msgstr "Forældet Java version"
@@ -15219,7 +15396,10 @@ msgstr ""
 "Den indeholder ikke noget JOSM objekt, eller passende tekst. </p></html>"
 
 msgid "Unable to delete file {0}"
-msgstr ""
+msgstr "Kan ikke slette fil {0}"
+
+msgid "Unable to create directory {0}"
+msgstr "Kunne ikke oprette mappe {0}"
 
 msgid "ms"
 msgstr "ms"
@@ -15550,9 +15730,6 @@ msgstr "Åbn valgte fil"
 msgid "Open selected file."
 msgstr "Åbn valgte fil."
 
-msgid "Refresh"
-msgstr "Opdater"
-
 msgid "Rename File"
 msgstr "Omdøb fil"
 
@@ -15646,6 +15823,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Public Transport (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (German Style)"
 
@@ -15712,6 +15892,9 @@ msgstr "OSM Inspector: Addresses"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Boundaries (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr "SIG Instituto Geográfico Nacional (WMTS)"
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI black-and-white 2.5m"
 
@@ -15808,14 +15991,17 @@ msgstr "URBIS 2015 aerial imagery"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW(allonie) PICC numerical imagery"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW(allonie) 2015 aerial imagery"
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW(allonie) 2012-2013 aerial imagery"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW(allonie) 2009-2010 aerial imagery"
 
-msgid "TEC bus lines"
-msgstr "TEC bus lines"
+msgid "TEC bus lines (2014)"
+msgstr "TEC bus lines (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
@@ -15937,6 +16123,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Toulouse - Orthophotoplan 2015"
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -15959,9 +16148,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Sorbian Language)"
 
@@ -16033,6 +16219,15 @@ msgstr "Drone Imagery 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Drone Imagery Canaan(Haiti) November 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr "FÖMI ortophoto 2000"
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr "Interspect Budapest ortophoto 2014"
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr "Five districts of Budapest: III, IV, XIII, XIV, XV"
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
 
@@ -16066,11 +16261,14 @@ msgstr "OSMIE Local Election Areas"
 msgid "OSMIE Dail Election Areas"
 msgstr "OSMIE Dail Election Areas"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr "OSMIE T.ie Land not in Counties"
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italy"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Lombardia - Italy (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Sicily - Italy"
@@ -16790,6 +16988,9 @@ msgstr "Downloader nye data når du panorerer/zoomer"
 msgid "Create a grid of ways."
 msgstr "Opret et net af veje."
 
+msgid "Customizing of public transport stops."
+msgstr "Tilpasning af offentlig transport stop."
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -17549,6 +17750,105 @@ msgstr "begrænset"
 msgid "Brand"
 msgstr "Mærke"
 
+msgid "Cuisine"
+msgstr "Køkken"
+
+msgid "italian"
+msgstr "italiensk"
+
+msgid "chinese"
+msgstr "kinesisk"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "burger"
+
+msgid "greek"
+msgstr "græsk"
+
+msgid "german"
+msgstr "tysk"
+
+msgid "indian"
+msgstr "indisk"
+
+msgid "regional"
+msgstr "regional"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "tyrkisk"
+
+msgid "asian"
+msgstr "asiatisk"
+
+msgid "thai"
+msgstr "thai"
+
+msgid "mexican"
+msgstr "mexicansk"
+
+msgid "japanese"
+msgstr "japansk"
+
+msgid "french"
+msgstr "fransk"
+
+msgid "sandwich"
+msgstr "sandwich"
+
+msgid "coffee_shop"
+msgstr "kaffe"
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr "bøfhus"
+
+msgid "fish_and_chips"
+msgstr "fiskefileter"
+
+msgid "chicken"
+msgstr "kylling"
+
+msgid "american"
+msgstr "amerikansk"
+
+msgid "ice_cream"
+msgstr "is"
+
+msgid "international"
+msgstr "international"
+
+msgid "seafood"
+msgstr "fisk og skaldyr"
+
+msgid "spanish"
+msgstr "spansk"
+
+msgid "vietnamese"
+msgstr "vietnamesisk"
+
+msgid "fish"
+msgstr "fisk"
+
+msgid "noodle"
+msgstr "nudel"
+
+msgid "barbecue"
+msgstr "grillmad"
+
+msgid "vegetarian"
+msgstr "vegetar"
+
+msgid "korean"
+msgstr "koreansk"
+
 msgid "Internet access"
 msgstr "Internet-adgang"
 
@@ -18120,8 +18420,11 @@ msgstr "Maks. vægt (ton)"
 msgid "Toll"
 msgstr "Betalingsanlæg"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "Er vandområdet uregelmæssigt (forsvinder sæsonmæssigt)?"
+msgid "Intermittent"
+msgstr "Lejlighedsvis"
+
+msgid "Seasonal"
+msgstr "Sæsonmæssige"
 
 msgid "In the tidal range"
 msgstr "I tidevandsområde"
@@ -18497,7 +18800,7 @@ msgid "Tourist buses"
 msgstr "Turistbusser"
 
 msgid "Max. speed Heavy Goods Vehicles (km/h)"
-msgstr ""
+msgstr "Maks. hastighed lastbiler (km/t)"
 
 msgid "Min. speed (km/h)"
 msgstr "Min. hastighed (km/t)"
@@ -18788,7 +19091,7 @@ msgid "Waypoints"
 msgstr "Waypoints"
 
 msgid "Motorway Junction"
-msgstr "Motorvejskryds"
+msgstr "Motorvejsafkørsel"
 
 msgid "Number"
 msgstr "Nummer"
@@ -18806,7 +19109,7 @@ msgid "Rest Area"
 msgstr "Rasteplads"
 
 msgid "Drinking Water"
-msgstr "Vandpost"
+msgstr "Drikkevand"
 
 msgid "Traffic Signal"
 msgstr "Lysregulering"
@@ -18889,26 +19192,30 @@ msgstr "I tilfælde af trafiksignaler:"
 msgid "Traffic Calming"
 msgstr "Trafikdæmpning"
 
-msgid "bump"
-msgstr "bump"
+msgid "Bump"
+msgstr "Bump"
 
-msgid "chicane"
-msgstr "chikane"
+msgid "Chicane"
+msgstr "Chikane"
 
-msgid "choker"
-msgstr "indsnævring"
+msgid "Choker"
+msgstr "Indsnævring"
 
-msgid "cushion"
-msgstr "pude"
+msgid "Cushion"
+msgstr "Pude"
 
-msgid "hump"
-msgstr "hump"
+msgid "Hump"
+msgstr "Hump"
+
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr "Helleanlæg"
 
-msgid "rumble_strip"
-msgstr "rumlestriber"
+msgid "Rumble strip"
+msgstr "Rumlestriber"
 
-msgid "table"
-msgstr "hævet flade"
+msgid "Table"
+msgstr "Hævet flade"
 
 msgid "Passing Place"
 msgstr "Vigested"
@@ -19059,6 +19366,9 @@ msgstr "Bymur"
 msgid "Retaining Wall"
 msgstr "Støttemur"
 
+msgid "Jersey Barrier"
+msgstr "Jersey barriere"
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Grøft"
@@ -19231,6 +19541,9 @@ msgstr "flod"
 msgid "Salt Water"
 msgstr "Saltvand"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "Er vandområdet uregelmæssigt (forsvinder sæsonmæssigt)?"
+
 msgid "Coastline"
 msgstr "Kystlinje"
 
@@ -19249,7 +19562,7 @@ msgstr ""
 "Vandmættet område, enten permanent eller sæsonmæssigt med vegetation."
 
 msgid "swamp"
-msgstr "Sump"
+msgstr "sump"
 
 msgid "bog"
 msgstr "mose"
@@ -19295,16 +19608,6 @@ msgid ""
 msgstr ""
 "En stor mængde vand delvis omsluttet af jord, men med en bred munding."
 
-msgid "Cliff"
-msgstr "Klippevæg"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"En stejl klippevæg der er betydelig lodret eller næsten lodret (lad den "
-"nedre flade være på højre side af vejen)."
-
 msgid "Shipping"
 msgstr "Vandfart"
 
@@ -20235,66 +20538,6 @@ msgstr "Mad og drikke"
 msgid "Restaurant"
 msgstr "Restaurant"
 
-msgid "Cuisine"
-msgstr "Køkken"
-
-msgid "italian"
-msgstr "italiensk"
-
-msgid "chinese"
-msgstr "kinesisk"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "burger"
-
-msgid "greek"
-msgstr "græsk"
-
-msgid "german"
-msgstr "tysk"
-
-msgid "indian"
-msgstr "indisk"
-
-msgid "regional"
-msgstr "regional"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "tyrkisk"
-
-msgid "asian"
-msgstr "asiatisk"
-
-msgid "thai"
-msgstr "thai"
-
-msgid "mexican"
-msgstr "mexicansk"
-
-msgid "japanese"
-msgstr "japansk"
-
-msgid "french"
-msgstr "fransk"
-
-msgid "sandwich"
-msgstr "sandwich"
-
-msgid "coffee_shop"
-msgstr "kaffe"
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr "bøfhus"
-
 msgid "Microbrewery"
 msgstr "Mikrobryggeri"
 
@@ -20307,20 +20550,14 @@ msgstr "Tag med"
 msgid "Fast Food"
 msgstr "Fastfood"
 
-msgid "fish_and_chips"
-msgstr "fiskefileter"
-
-msgid "chicken"
-msgstr "kylling"
-
 msgid "Food Court"
 msgstr "Spiseområde"
 
 msgid "Cafe"
 msgstr "Café"
 
-msgid "ice_cream"
-msgstr "is"
+msgid "Ice cream"
+msgstr "Flødeis"
 
 msgid "Pub"
 msgstr "Pub"
@@ -20499,6 +20736,12 @@ msgstr "Forlystelsespark"
 msgid "Water Park"
 msgstr "Badeland"
 
+msgid "Swimming Pool"
+msgstr "Svømmebasin"
+
+msgid "Used for the water area only."
+msgstr "Anvendes kun til vandområdet."
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20533,9 +20776,6 @@ msgstr "Bålplads"
 msgid "Fishing"
 msgstr "Fiskeri"
 
-msgid "Private Swimming Pool"
-msgstr "Privat svømmebassin"
-
 msgid "Night Club"
 msgstr "Natklub"
 
@@ -20578,12 +20818,18 @@ msgstr "statue"
 msgid "Artist Name"
 msgstr "Navn på kunstner"
 
-msgid "Recording Studio"
-msgstr "Lydstudie"
+msgid "Studio"
+msgstr "Studie"
 
 msgid "audio"
 msgstr "lyd"
 
+msgid "radio"
+msgstr "radio"
+
+msgid "television"
+msgstr "fjernsyn"
+
 msgid "video"
 msgstr "video"
 
@@ -20687,6 +20933,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "syvende dags adventist"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr "spiritist"
+
 msgid "Mosque"
 msgstr "Moske"
 
@@ -20846,30 +21096,149 @@ msgstr "(Brug landekode, ligesom +12-345-67890)"
 msgid "Veterinary"
 msgstr "Dyrlæge"
 
+msgid "Emergency"
+msgstr "Nødsituation"
+
+msgid "Ambulance Station"
+msgstr "Ambulancestation"
+
+msgid "Automated Defibrillator"
+msgstr "Hjertestarter"
+
+msgid "Located inside a building?"
+msgstr "Placeret inde i en bygning?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Seneste kontrol dato (ÅÅÅÅ-MM-DD)"
+
+msgid "Last check note"
+msgstr "Seneste kontrolnote"
+
+msgid "Fire Extinguisher"
+msgstr "Brandslukker"
+
+msgid "Indoor"
+msgstr "Indendørs"
+
+msgid "Fire Hose"
+msgstr "Brandslange"
+
+msgid "Fire Hydrant"
+msgstr "Brandhane"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "underjordisk"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "søjle"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "mur"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "dam"
+
+msgid "Diameter (in mm)"
+msgstr "Diameter (i mm)"
+
+msgid "Hydrant Position"
+msgstr "Brandhane placering"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "bane"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parkeringsplads"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "fortov"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "grøn"
+
+msgid "Pressure (in bar)"
+msgstr "Tryk (i bar)"
+
+msgid "suction"
+msgstr "sugning"
+
+msgid "Count"
+msgstr "Antal"
+
+msgid "Water Tank"
+msgstr "Vandtank"
+
+msgid "Volume (in liters)"
+msgstr "Rumfang (i liter)"
+
+msgid "Assembly Point"
+msgstr "Samlingspunkt"
+
+msgid "Emergency Phone"
+msgstr "Nødtelefon"
+
+msgid "Siren"
+msgstr "Sirene"
+
+msgid "pneumatic"
+msgstr "trykluft"
+
+msgid "electronic"
+msgstr "elektronisk"
+
+msgid "mechanical"
+msgstr "mekanisk"
+
+msgid "Purpose"
+msgstr "Formål"
+
+msgid "tornado"
+msgstr "tornado"
+
+msgid "fire"
+msgstr "brand"
+
+msgid "air_raid"
+msgstr "luftangreb"
+
+msgid "civil_defense"
+msgstr "civilforsvar"
+
+msgid "Range (in meters)"
+msgstr "Rækkevidde (i meter)"
+
 msgid "Social Facility"
-msgstr ""
+msgstr "Sociale faciliteter"
 
 msgid "Nursing Home"
 msgstr "Plejecenter"
 
 msgid "Group Home"
-msgstr ""
+msgstr "Plejehjem"
 
 msgid "For"
-msgstr ""
+msgstr "For"
 
 msgid "Assisted Living"
-msgstr ""
+msgstr "Plejebolig"
 
 msgid "Outreach"
-msgstr ""
+msgstr "Opsøgende"
 
 msgctxt "social_facility"
 msgid "Shelter"
-msgstr ""
+msgstr "Midlertidig soveplads"
 
 msgid "Food Bank"
-msgstr ""
+msgstr "Mad bank"
 
 msgid "Toilets/Restrooms"
 msgstr "Toiletter"
@@ -20915,10 +21284,10 @@ msgstr "stående"
 
 msgctxt "toilets"
 msgid "Diaper"
-msgstr ""
+msgstr "Bleskift"
 
 msgid "room"
-msgstr ""
+msgstr "rum"
 
 msgid "Post Box"
 msgstr "Postkasse"
@@ -20958,24 +21327,9 @@ msgstr "Sedler"
 msgid "Telephone cards"
 msgstr "Telefonkort"
 
-msgid "Emergency Phone"
-msgstr "Nødtelefon"
-
 msgid "Internet Access"
 msgstr "Internet adgang"
 
-msgid "Automated Defibrillator"
-msgstr "Hjertestarter"
-
-msgid "Located inside a building?"
-msgstr "Placeret inde i en bygning?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Seneste kontrol dato (ÅÅÅÅ-MM-DD)"
-
-msgid "Last check note"
-msgstr "Seneste kontrolnote"
-
 msgid "Clock"
 msgstr "Ur"
 
@@ -21138,64 +21492,15 @@ msgctxt "height"
 msgid "full"
 msgstr "fuld"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Skjul"
+msgstr "Skjult"
 
 msgid "Lock"
 msgstr "Lås"
 
-msgid "Indoor"
-msgstr "Indendørs"
-
-msgid "Fire Hydrant"
-msgstr "Brandhane"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "underjordisk"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "søjle"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "mur"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "dam"
-
-msgid "Diameter (in mm)"
-msgstr "Diameter (i mm)"
-
-msgid "Hydrant Position"
-msgstr "Brandhane placering"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "bane"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parkeringsplads"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "fortov"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "grøn"
-
-msgid "Pressure (in bar)"
-msgstr "Tryk (i bar)"
-
-msgid "suction"
-msgstr "sugning"
-
-msgid "Count"
-msgstr "Antal"
+msgid "Water Point"
+msgstr "Vandpåfyldning"
 
 msgid "Compressed Air"
 msgstr "Komprimeret luft"
@@ -21248,9 +21553,62 @@ msgstr "tartan"
 msgid "Racetrack"
 msgstr "Væddeløbsbane"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golfbane"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr "Tee"
+
+msgctxt "golf"
+msgid "Hole"
+msgstr "Hul"
+
+msgid "Par"
+msgstr "Par"
+
+msgid "Handicap rating"
+msgstr "Handicapfastsættelse"
+
+msgctxt "golf"
+msgid "Pin"
+msgstr "Flag"
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr "Bunker"
+
+msgctxt "golf"
+msgid "Natural"
+msgstr "Naturlig"
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr "Vandhazard"
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr "Parallel vandhazard"
+
+msgctxt "golf"
+msgid "Green"
+msgstr "Green"
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr "Fairway"
+
+msgctxt "golf"
+msgid "Rough"
+msgstr "Rough"
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr "Træningsbane"
+
 msgid "Miniature Golf"
 msgstr "Minigolf"
 
@@ -21475,9 +21833,6 @@ msgstr "Beachvolley"
 msgid "Billiards"
 msgstr "Billard"
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golfbane"
 
@@ -21642,6 +21997,10 @@ msgid "gasometer"
 msgstr "gasbeholder"
 
 msgctxt "building"
+msgid "silo"
+msgstr "silo"
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "kostald"
 
@@ -21650,6 +22009,38 @@ msgid "construction"
 msgstr "under udførelse"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "basilika"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "katedral"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "kapel"
+
+msgctxt "building"
+msgid "church"
+msgstr "kirke"
+
+msgctxt "building"
+msgid "temple"
+msgstr "tempel"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "moske"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "synagoge"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr "transformatortårn"
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Etager"
 
@@ -21762,6 +22153,9 @@ msgstr "Vindmølle (gammeldags)"
 msgid "Gasometer"
 msgstr "Gasbeholder"
 
+msgid "Silo"
+msgstr "Silo"
+
 msgid "Storage Tank"
 msgstr "Lagertank"
 
@@ -22163,6 +22557,14 @@ msgstr "ammunition"
 msgid "hardened_aircraft_shelter"
 msgstr "hårdt fly dække"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "underjordisk"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "overjordisk"
+
 msgid "Historic"
 msgstr "Historisk"
 
@@ -22172,6 +22574,9 @@ msgstr "Ruiner"
 msgid "Range"
 msgstr "Øvelsesområde"
 
+msgid "Power"
+msgstr "Strøm"
+
 msgid "Power Plant"
 msgstr "Kraftværk"
 
@@ -22605,11 +23010,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Fordelerskab"
+msgid "Power Street Cabinet"
+msgstr "Elvejskab"
 
-msgid "Power Tower"
-msgstr "Elmast"
+msgid "Transformer Tower"
+msgstr "Transformatortårn"
+
+msgid "Power Portal"
+msgstr "Elportal"
 
 msgid "Type of construction"
 msgstr "Konstruktionstype"
@@ -22630,6 +23038,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "rød/hvid"
 
+msgid "Portal design"
+msgstr "Portal design"
+
+msgctxt "power"
+msgid "portal"
+msgstr "portal"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portal to niveau"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portal tre niveau"
+
+msgid "Power Tower"
+msgstr "Elmast"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Tårntype"
@@ -22753,18 +23179,6 @@ msgid "guyed_h-frame"
 msgstr "udbarduneret h ramme"
 
 msgctxt "power"
-msgid "portal"
-msgstr "portal"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "portal to niveau"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "portal tre niveau"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "udbarduneret v ramme"
 
@@ -22797,6 +23211,9 @@ msgstr "Pæle attributter:"
 msgid "Transformer Attributes:"
 msgstr "Transformer attributter:"
 
+msgid "Insulator"
+msgstr "Isolator"
+
 msgid "Power Line"
 msgstr "Uisoleret strømkabel"
 
@@ -23054,6 +23471,9 @@ msgstr "Møbelforretning"
 msgid "Kitchen"
 msgstr "Køkken"
 
+msgid "Houseware"
+msgstr "Husholdningsartikler"
+
 msgid "Curtain"
 msgstr "Gardin"
 
@@ -23096,12 +23516,21 @@ msgstr "Til kroppen"
 msgid "Chemist"
 msgstr "Materialist"
 
-msgid "Hairdresser/Barber"
-msgstr "Frisør/Barber"
+msgid "Cosmetics"
+msgstr "Kosmetik"
+
+msgid "Perfumery"
+msgstr "Parfumer"
 
 msgid "Beauty"
 msgstr "Skønhedsklinik"
 
+msgid "Tobacco"
+msgstr "Tobak"
+
+msgid "Hairdresser/Barber"
+msgstr "Frisør/Barber"
+
 msgid "Tattoo"
 msgstr "Tatovør"
 
@@ -23427,6 +23856,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Telekommunikation"
 
+msgid "Craft"
+msgstr "Håndværk"
+
+msgid "Carpenter"
+msgstr "Tømrer"
+
+msgid "Shoemaker"
+msgstr "Skomager"
+
+msgid "Photographer"
+msgstr "Fotograf"
+
+msgid "Metal construction"
+msgstr "Metal bygger"
+
+msgid "Electrician"
+msgstr "Elektriker"
+
+msgid "Brewery"
+msgstr "Bryggeri"
+
+msgid "Plumber"
+msgstr "Blikkenslager"
+
+msgid "Sawmill"
+msgstr "Savværk"
+
+msgid "Gardener"
+msgstr "Gartner"
+
+msgid "Winery"
+msgstr "Vingård"
+
+msgid "Hvac"
+msgstr "Varme, ventilation og aircondition"
+
+msgid "Painter"
+msgstr "Maler"
+
+msgid "Stonemason"
+msgstr "Stenhugger"
+
+msgid "Handicraft"
+msgstr "Kunsthåndværk"
+
+msgid "Pottery"
+msgstr "Keramik"
+
+msgid "Key cutter"
+msgstr "Hælebar"
+
+msgid "Caterer"
+msgstr "Catering"
+
+msgid "Roofer"
+msgstr "Tagdækker"
+
+msgid "Beekeeper"
+msgstr "Biavler"
+
+msgid "Blacksmith"
+msgstr "Grovsmed"
+
+msgid "Locksmith"
+msgstr "Låsesmed"
+
+msgid "Window construction"
+msgstr "Vindue bygger"
+
+msgid "Upholsterer"
+msgstr "Møbelpolstrer"
+
+msgid "Tiler"
+msgstr "Brolægger"
+
 msgid "Geography"
 msgstr "Geografi"
 
@@ -23596,6 +24100,16 @@ msgstr "Dal"
 msgid "A low area between hills."
 msgstr "Lavt område mellem bakkerne."
 
+msgid "Cliff"
+msgstr "Klippevæg"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"En stejl klippevæg der er betydelig lodret eller næsten lodret (lad den "
+"nedre flade være på højre side af vejen)."
+
 msgid "Cave Entrance"
 msgstr "Huleindgang"
 
@@ -23810,6 +24324,51 @@ msgstr "Eng"
 msgid "Orchard"
 msgstr "Frugtplantage"
 
+msgid "Trees"
+msgstr "Træer"
+
+msgid "olive_trees"
+msgstr "oliventræer"
+
+msgid "apple_trees"
+msgstr "æbletræer"
+
+msgid "oil_palms"
+msgstr "oliepalmer"
+
+msgid "orange_trees"
+msgstr "appelsintræer"
+
+msgid "almond_trees"
+msgstr "mandeltræer"
+
+msgid "banana_plants"
+msgstr "bananplanter"
+
+msgid "coconut_palms"
+msgstr "kokospalmer"
+
+msgid "hazel_plants"
+msgstr "hasselplanter"
+
+msgid "cherry_trees"
+msgstr "kirsebærtræer"
+
+msgid "persimmon_trees"
+msgstr "Kakitræer"
+
+msgid "walnut_trees"
+msgstr "valnøddetræer"
+
+msgid "plum_trees"
+msgstr "blommetræer"
+
+msgid "peach_trees"
+msgstr "ferskentræer"
+
+msgid "tea_plants"
+msgstr "teplanter"
+
 msgid "Vineyard"
 msgstr "Vingård"
 
@@ -24315,7 +24874,7 @@ msgid "where enforcement ends"
 msgstr "hvor håndhævelse slutter"
 
 msgid "traffic light or barrier that stops you"
-msgstr "traffiklys eller barriere der stopper dig"
+msgstr "trafiklys eller barriere der stopper dig"
 
 msgid "Routes"
 msgstr "Ruter"
@@ -24608,9 +25167,6 @@ msgstr "{0} og {1} sammen med {2} og modstridende værdier"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Mistænkelig tag kombination: {0} og {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} er forældet"
-
 msgid "{0} is deprecated"
 msgstr "{0} er forældet"
 
@@ -24638,8 +25194,8 @@ msgstr ""
 "Forkert brug af {0} tag. Fjern {1}, fordi det er klart at betegnelsen "
 "mangler selv uden en ekstra tag."
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} er forældet. Brug i stedet en multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr "{0} er forældet. Brug i stedet en multipolygon."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -24685,6 +25241,15 @@ msgstr "ualmindelig kort nøgle"
 msgid "{0} is inaccurate"
 msgstr "{0} er unøjagtig"
 
+msgid "{0} is deprecated for {1}"
+msgstr "{0} er forældet for {1}"
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr "{0} er forældet. Brug {1}: nøgle præfikset i stedet."
+
+msgid "questionable key (ending with a number): {0}"
+msgstr "tvivlsom nøgle (slutter med et tal): {0}"
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} på et punkt. Bør bruges på en vej."
 
@@ -24700,6 +25265,9 @@ msgstr "{0} på en vej. Bør bruges på et punkt."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} på en vej. Bør bruges i en relation"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr "{0} sammen med {1} på et punkt. Fjern {0}."
+
 msgid "{0} on a node"
 msgstr "{0} på et punkt"
 
@@ -24727,6 +25295,9 @@ msgstr "{0} skal være forbundet til en vej"
 msgid "node connects waterway and bridge"
 msgstr "node forbinder vandløb og bro"
 
+msgid "suspicious roundabout direction"
+msgstr "rundkørsel med mistænkelig retning"
+
 msgid "abbreviated street name"
 msgstr "forkortet gadenavn"
 
@@ -24770,8 +25341,8 @@ msgstr "tag på lag med + tegn"
 msgid "layer should be between -5 and 5"
 msgstr "lag bør være mellem -5 og 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "niveau bør være tal med mulighed for .5 intervaller"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr "{0} skal kun have numre med valgfri .5 intervaller"
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -27366,7 +27937,7 @@ msgid "Port:"
 msgstr "Port:"
 
 msgid "refresh the port list"
-msgstr "opdatér port liste"
+msgstr "opdater port liste"
 
 msgid "Configure Device"
 msgstr "Konfigurer enhed"
@@ -28490,8 +29061,8 @@ msgstr "billeder"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr "Trafik skilt font fra ''{0}'' har forkert format."
 
-msgid "Could not read font-file from ''{{0}}''."
-msgstr "Kunne ikke læse font-fil fra ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
+msgstr ""
 
 msgid "Mapillary"
 msgstr "Mapillary"
@@ -28805,6 +29376,9 @@ msgstr "Mapillary login"
 msgid "Login successful, return to JOSM."
 msgstr "Login lykkes, vend tilbage til JOSM."
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr "Understøttede billedformater (JPG og PNG)"
+
 msgid "Downloading Mapillary images"
 msgstr "Downloader Mapillary billeder"
 
@@ -28820,6 +29394,18 @@ msgstr "Upload færdig"
 msgid "Uploading: {0}"
 msgstr "Uploader: {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Målte værdier"
 
@@ -29855,67 +30441,67 @@ msgid "Please load some photos."
 msgstr "Indlæs nogle billeder."
 
 msgid "Edit photo GPS data"
-msgstr ""
+msgstr "Rediger foto GPS-data"
 
 msgid "Edit GPS data of selected photo."
-msgstr ""
+msgstr "Rediger GPS-data for valgt foto."
 
 msgid "Edit Photo GPS Data"
-msgstr ""
+msgstr "Rediger foto GPS-data"
 
 msgid "Please select an image first."
-msgstr ""
+msgstr "Vælg et billede først."
 
 msgid "No image selected"
-msgstr ""
+msgstr "Intet billede valgt"
 
 msgid "(Empty values delete the according fields.)"
-msgstr ""
+msgstr "(Tomme værdier sletter de tilhørende felter.)"
 
 msgid "coordinates"
 msgstr "koordinater"
 
 msgid "Latitude and longitude"
-msgstr ""
+msgstr "Breddegrad og længdegrad"
 
 msgid "Edit Image Coordinates"
-msgstr ""
+msgstr "Rediger billede koordinater"
 
 msgid "Edit coordinates in separate editor"
-msgstr ""
+msgstr "Rediger koordinater i separat editor"
 
 msgid "altitude"
-msgstr ""
+msgstr "højde"
 
 msgid "Altitude:"
-msgstr ""
+msgstr "Højde:"
 
 msgid "speed"
-msgstr ""
+msgstr "hastighed"
 
 msgid "positive number or empty"
-msgstr ""
+msgstr "positivt tal eller tom"
 
 msgid "Speed:"
-msgstr ""
+msgstr "Hastighed:"
 
 msgid "direction"
-msgstr ""
+msgstr "retning"
 
 msgid "range -360.0 .. 360.0, or empty"
-msgstr ""
+msgstr "interval -360,0 .. 360,0, eller tom"
 
 msgid "Direction:"
-msgstr ""
+msgstr "Retning:"
 
 msgid "°"
-msgstr ""
+msgstr "°"
 
 msgid "Undo changes made in this dialog"
-msgstr ""
+msgstr "Fortryd ændringer foretaget i denne dialog"
 
 msgid "Reload GPS data from image file"
-msgstr ""
+msgstr "Genindlæs GPS-data fra billedfil"
 
 msgid "New layer for untagged images"
 msgstr "Nyt lag for utaggede billeder"
@@ -30229,6 +30815,12 @@ msgstr "Proj4J udvidelse"
 msgid "Code"
 msgstr "Kode"
 
+msgid "Can''t parse a time from this string."
+msgstr "Kan ikke udlede en tid fra denne streng."
+
+msgid "Invalid value"
+msgstr "Ugyldig værdi"
+
 msgid "added"
 msgstr "tilføjet"
 
@@ -30317,15 +30909,6 @@ msgstr "Opfang"
 msgid "Join"
 msgstr "Sammenlæg"
 
-msgid "Enable"
-msgstr "Aktiver"
-
-msgid "Can''t parse a time from this string."
-msgstr "Kan ikke udlede en tid fra denne streng."
-
-msgid "Invalid value"
-msgstr "Ugyldig værdi"
-
 msgid "moved"
 msgstr "flyttet"
 
@@ -32461,6 +33044,9 @@ msgstr "Vejen med valgte punkter kan ikke rettes ud."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Intern fejl: Antallet af punkter er {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr "Kopier alle tags fra valgte objekter til udklipsholderen."
+
 msgid "Extract node"
 msgstr "Udtræk punkt"
 
@@ -33110,6 +33696,11 @@ msgstr[1] "Henter {0} Wikidata ID''er for sprog ''{1}''"
 msgid "Add Wikidata for language ''{0}''"
 msgstr "Tilføj Wikidata for sprog ''{0}''"
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] "Overskriv ''{0}'' tag {1} fra {2} med ny værdi ''{3}''?"
+msgstr[1] "Overskriv ''{0}'' tags {1} fra {2} med ny værdi ''{3}''?"
+
 msgid "Add names from Wikipedia"
 msgstr "Tilføj navne fra Wikipedia"
 
@@ -33201,5 +33792,5 @@ msgstr "Kør afsted"
 msgid "Drive a race car on this layer"
 msgstr "Kør en racerbil på dette lag"
 
-#~ msgid "Retirement Home"
-#~ msgstr "Plejehjem/plejebolig"
+#~ msgid "Could not read font-file from ''{{0}}''."
+#~ msgstr "Kunne ikke læse font-fil fra ''{{0}}''."
diff --git a/i18n/po/de.po b/i18n/po/de.po
index 4ba22b5..1836eef 100644
--- a/i18n/po/de.po
+++ b/i18n/po/de.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-05 17:01+0000\n"
-"Last-Translator: Carsten Gerlach <carsten-gerlach at gmx.de>\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-10 18:26+0000\n"
+"Last-Translator: Ettore Atalan <atalanttore at googlemail.com>\n"
 "Language-Team: JOSM\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:42+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:42+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: de\n"
 "X-Poedit-SearchPath-0: .\n"
 "X-Poedit-Basepath: /home/simon/src/josm.all/i18n\n"
@@ -415,6 +415,9 @@ msgstr ""
 "Linien können nicht verbunden werden<br>(Sie können nicht in eine eindeutige "
 "Reihenfolge gebracht werden)"
 
+msgid "Reverse Ways"
+msgstr "Linienrichtung umkehren"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "{0} Linie verbinden"
@@ -472,6 +475,12 @@ msgstr "Entfernen"
 msgid "Delete selected objects."
 msgstr "Ausgewählte Objekte löschen."
 
+msgid "Delete Layer"
+msgstr "Ebene löschen"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Aktive Ebene löschen. Löscht nicht die zugehörige Datei."
+
 msgid "Toggle dialogs panel"
 msgstr "Dialogbedienfeld umschalten"
 
@@ -1302,9 +1311,6 @@ msgstr "Klicken, um später neu zu starten."
 msgid "Reverse way"
 msgstr "Linienrichtung umkehren"
 
-msgid "Reverse Ways"
-msgstr "Linienrichtung umkehren"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Die Richtung aller gewählter Linien umkehren."
 
@@ -1678,6 +1684,17 @@ msgstr ""
 "wahrscheinlich zu Problemen, da das wirkliche Objekt momentan nicht sichtbar "
 "ist.<br>Wollen Sie mit dem Trennen wirklich fortfahren?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Auftrennen veränderte {0} Relation: {1}"
+msgstr[1] "Auftrennen veränderte {0} Relationen: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Stellen Sie sicher, dass die Relation nicht kaputt gemacht wurde!"
+msgstr[1] ""
+"Stellen Sie sicher, dass die Relationen nicht kaputt gemacht wurden!"
+
 msgid "Disconnect Node from Way"
 msgstr "Punkt von Linie trennen"
 
@@ -2479,6 +2496,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Auswahl zur Relation hinzufügen"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Auswahl zur Relation hinzufügen</strong>: Kontrollieren Sie "
+"jede Relation, um Schäden durch kaputte Relationen zu vermeiden!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Auswahl zu {0} Relation hinzufügen"
@@ -2526,6 +2550,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Bestätigung"
 
+msgid "List of recent relations"
+msgstr "Liste der neuesten Relationen"
+
+msgid "Open recent relation"
+msgstr "Öffne neueste Relation"
+
+msgid "Relation Editor: {0}"
+msgstr "Relationseditor: {0}"
+
 msgid "Select in relation list"
 msgstr "In Relationsliste auswählen"
 
@@ -2903,8 +2936,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Angaben <i>min</i>/<i>max</i> werden hinter »timestamp« erwartet"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr "Kann Zeitstempel ''{0}'' nicht parsen"
+
+msgid "Expecting {0} after {1}"
+msgstr "{0} wird nach {1} erwartet"
 
 msgid "Range of primitive ids expected"
 msgstr "Bereich von Objektkennungen erwartet"
@@ -3539,9 +3575,6 @@ msgstr ""
 "Versuche IPv6-Netzwerk zu aktivieren und IPv6 vor IPv4 zu bevorzugen "
 "(funktioniert nur direkt nach dem Programmstart)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (Zeile {0}, Spalte {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 "Einstellung {0} wird nicht länger benutzt und wurde deshalb entfernt."
@@ -3603,6 +3636,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "O"
 
+msgid "Update default entries"
+msgstr "Standardeinträge aktualisieren"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "Projektion ''{0}'' nicht gefunden, Lesezeichen ''{1}'' kann nicht verwendet "
@@ -3873,6 +3909,9 @@ msgstr "Text"
 msgid "areatext"
 msgstr "Flächentext"
 
+msgid " (at line {0}, column {1})"
+msgstr " (Zeile {0}, Spalte {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "UTM-Projektion (''+proj=utm'') erfordert Parameter ''+zone=...''."
 
@@ -3960,12 +3999,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr "Doppelt stereografisch"
+msgid "Albers Equal Area"
+msgstr "Albers-Kegelprojektion"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parameter ''{0}'' erforderlich."
 
+msgid "standard parallels are opposite"
+msgstr "Standardparallelen sind entgegengesetzt"
+
+msgid "Cassini-Soldner"
+msgstr "Cassini-Soldner"
+
+msgid "Double Stereographic"
+msgstr "Doppelt stereografisch"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Lambertsche flächentreue Azimutalprojektion"
+
 msgid "Lambert Conformal Conic"
 msgstr "Lambert-Konforme Kegelprojektion"
 
@@ -3975,6 +4026,24 @@ msgstr "Breitengrad/Längengrad (geodätisch)"
 msgid "Mercator"
 msgstr "Merkator"
 
+msgid "Oblique Mercator"
+msgstr "Schiefachsige Mercator"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr "Ungeeignete Parameter \"{0}\" und \"{1}\" für Zweipunktmethode."
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr "Ungültiger Wert für Parameter \"{0}\": {1}"
+
+msgid "error in initialization"
+msgstr "Fehler bei Initialisierung"
+
+msgid "Polar Stereographic"
+msgstr "Polar-Stereografisch"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr "Polar-Stereografisch: Parameter ''{0}'' muss 90 oder -90 sein."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Schweizer schiefachsige Mercator"
 
@@ -4581,6 +4650,9 @@ msgstr "Ungültiger Leerraum in Eigenschaftsschlüssel"
 msgid "Property values start or end with white space"
 msgstr "Werte beginnen oder enden mit Leerraum"
 
+msgid "Property values contain multiple white spaces"
+msgstr "Eigenschaftswerte enthalten mehrere Leerräume"
+
 msgid "Property values contain HTML entity"
 msgstr "Werte enthalten HTML-Entität"
 
@@ -5323,9 +5395,6 @@ msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 "Klicken Sie, um den Hintergrundbildreiter in den Einstellungen zu öffnen"
 
-msgid "Search menu items"
-msgstr "Menüeinträge suchen"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Audio"
@@ -5384,12 +5453,6 @@ msgstr "Statusleiste-Vordergrund: aktiv"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Die geographische Breite an der Mausposition."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Die geographische Länge an der Mausposition."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Die (Kompass-)Richtung des zu zeichnenden Linienabschnittes."
 
@@ -5418,6 +5481,18 @@ msgstr "Nutzer:"
 msgid "Do not hide status bar"
 msgstr "Statusleiste nicht ausblenden"
 
+msgid "The northing at the mouse pointer."
+msgstr "Der Hochwert an der Mausposition."
+
+msgid "The easting at the mouse pointer."
+msgstr "Der Rechtswert an der Mausposition."
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Die geographische Breite an der Mausposition."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Die geographische Länge an der Mausposition."
+
 msgid "System of measurement changed to {0}"
 msgstr "Einheitendarstellung geändert in {0}"
 
@@ -6334,6 +6409,18 @@ msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 "Dialog-Fenster mit den gewählten Objekten aus der obigen Liste öffnen."
 
+msgid "Resolve to my versions"
+msgstr "Auf meine Versionen auflösen"
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr "Löst alle ungelösten Konflikte auf  ''meine'' Version auf"
+
+msgid "Resolve to their versions"
+msgstr "Auf deren Versionen auflösen"
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr "Löst alle ungelösten Konflikte auf  ''deren'' Version auf"
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "{0} Konflikt wurde entdeckt."
@@ -6461,6 +6548,9 @@ msgstr "Filter nach unten verschieben"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filter: Ausgeblendet:{0} Deaktiviert:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Fehler in Filter <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Fehler im Filter"
 
@@ -6916,6 +7006,9 @@ msgstr "Zeichenstil-Einstellungen"
 msgid "Customize the style"
 msgstr "Stil anpassen"
 
+msgid "Search menu items"
+msgstr "Menüeinträge suchen"
+
 msgid "Mini map"
 msgstr "Minikarte"
 
@@ -7290,21 +7383,15 @@ msgstr[1] ""
 "<html>Keines der ausgewählten Objekte ist in der aktuellen<br />Ebene "
 "''{0}'' verfügbar.</html>"
 
-msgid "Download content"
-msgstr "Inhalt herunterladen"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Den Inhalt des Änderungssatzes vom OSM-Server herunterladen"
-
-msgid "Update content"
-msgstr "Inhalt aktualisieren"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Änderungssatzinhalt vom OSM-Server aktualisieren"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Herunterladen und Anzeigen der Chronik des ausgewählten Objekts"
 
+msgid "Download objects"
+msgstr "Objekte herunterladen"
+
+msgid "Download the current version of the selected objects"
+msgstr "Aktuelle Version der ausgewählten Objekte herunterladen"
+
 msgid "Select in layer"
 msgstr "In Ebene auswählen"
 
@@ -7412,6 +7499,18 @@ msgstr "offen"
 msgid "closed"
 msgstr "geschlossen"
 
+msgid "Download content"
+msgstr "Inhalt herunterladen"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Den Inhalt des Änderungssatzes vom OSM-Server herunterladen"
+
+msgid "Update content"
+msgstr "Inhalt aktualisieren"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Änderungssatzinhalt vom OSM-Server aktualisieren"
+
 msgid "Changeset ID: "
 msgstr "Änderungssatzkennung: "
 
@@ -7783,8 +7882,8 @@ msgstr "Den Wert des Schlüssels für alle Objekte bearbeiten"
 msgid "Edit Tags"
 msgstr "Merkmale bearbeiten"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Zur OSM-Wiki für Hilfe zu Merkmalen gehen (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "Zur OSM-Wiki für Hilfe zu Merkmalen gehen"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Browser mit Wikihilfe zum ausgewählten Objekt starten"
@@ -7822,6 +7921,9 @@ msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 "Den Schlüssel und den Wert aller Schlagwörter in die Zwischenablage kopieren"
 
+msgid "Copy Tags"
+msgstr "Merkmale kopieren"
+
 msgid "Search Key/Value/Type"
 msgstr "Schlüssel/Wert/Typ suchen"
 
@@ -7891,6 +7993,28 @@ msgstr "Anzahl zuletzt ergänzter Merkmale einstellen"
 msgid "Remember last used tags after a restart"
 msgstr "Zuletzt verwendete Schlagwörter nach einem Neustart behalten"
 
+msgid "Recent tags with existing key"
+msgstr "Neueste Merkmale mit existierendem Schlüssel"
+
+msgid "Enable"
+msgstr "Aktivieren"
+
+msgid "Hide"
+msgstr "Verstecken"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+"Aktualisiere Liste der neuesten Merkmale nach der Zuweisung des Merkmals"
+
+msgid "No refresh"
+msgstr "Keine Aktualisierung"
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr "Aktualisiere nur Merkmalstatus (aktiv / inaktiv)"
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr "Aktualisiere Merkmalstatus und Liste der zuletzt ergänzten Merkmale"
+
 msgid "to apply first suggestion"
 msgstr "zum Übernehmen des ersten Vorschlags"
 
@@ -8012,9 +8136,6 @@ msgstr "Neue Relation"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Relationseditor mit Relation ''{0}'' in Ebene ''{1}'' fokusieren"
 
-msgid "Relation Editor: {0}"
-msgstr "Relationseditor: {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 "
@@ -8055,6 +8176,75 @@ msgstr ""
 "erzeugt zirkuläre Verweise und wird deswegen nicht empfohlen.<br>Überspringe "
 "Relation ''{0}''.</html>"
 
+msgid "Select previous Gap"
+msgstr "Vorherige Lücke auswählen"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr ""
+"Vorheriges Relationselement auswählen, was zu einer Lücke führen wird"
+
+msgid "Select next Gap"
+msgstr "Nächste Lücke auswählen"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Nächstes Relationselement auswählen, was zu einer Lücke führen wird"
+
+msgid "Zoom to Gap"
+msgstr "Auf Lücke springen"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Auf Lücke in der Liniensequenz springen"
+
+msgid "Refers to"
+msgstr "Referenziert auf"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
+"{0} kann nicht hinzugefügt werden, weil es nicht Teil des Datensatzes ist"
+
+msgid "Download referring relations"
+msgstr "Verweisende Relationen herunterladen"
+
+msgid "There were {0} conflicts during import."
+msgstr "Es traten {0} Konflikte während des Imports auf."
+
+msgid "including immediate children of parent relations"
+msgstr "Direkte Kinder von Elternrelationen einbeziehen"
+
+msgid "Load parent relations"
+msgstr "Lade Elternrelationen"
+
+msgid "Reload"
+msgstr "Neu laden"
+
+msgid "Loading parent relations"
+msgstr "Elternrelationen wird geladen"
+
+msgid "Edit the currently selected relation"
+msgstr "Die ausgewählte Relation bearbeiten"
+
+msgid "Apply Changes"
+msgstr "Änderungen übernehmen"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Erzeuge neue Relation in Ebene \"{0}\""
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Ändere neue Relation in Ebene \"{0}\""
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Ändere Relation {0} in Ebene \"{1}\""
+
+msgid "Load relation"
+msgstr "Relation laden"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Alle Objekte aus dem aktuell ausgewählten Datensatz nach dem letzten "
+"ausgewählten Mitglied einfügen."
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -8068,72 +8258,142 @@ msgstr ""
 "Alle Objekte aus dem aktuell ausgewählten Datensatz vor dem ersten "
 "ausgewählten Mitglied einfügen."
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Apply the current updates"
+msgstr "Aktuelle Aktualisierung übernehmen"
+
+msgid "Cancel the updates and close the dialog"
+msgstr "Aktualisierungen abbrechen und den Dialog schließen"
+
+msgid "Yes, save the changes and close"
+msgstr "Ja, Änderungen speichern und schließen"
+
+msgid "Click to save the changes and close this relation editor"
 msgstr ""
-"Alle Objekte aus dem aktuell ausgewählten Datensatz nach dem letzten "
-"ausgewählten Mitglied einfügen."
+"Klicken, um die Änderungen zu speichern und den Relationseditor zu schließen"
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "No, discard the changes and close"
+msgstr "Nein, Änderungen verwerfen und schließen"
+
+msgid "Click to discard the changes and close this relation editor"
 msgstr ""
-"Alle Mitglieder entfernen, die sich auf eines der ausgewählten Objekte "
-"beziehen"
+"Klicken, um die Änderungen zu verwerfen und den Relationseditor zu schließen"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Cancel, continue editing"
+msgstr "Abbrechen, Bearbeitung fortsetzen"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Relationsmitglieder auswählen, die sich auf Objekte in der aktuellen Auswahl "
-"beziehen"
+"Klicken, um zum Relationseditor zurückzukehren und das Editieren der "
+"Relation wiederaufzunehmen"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 msgstr ""
-"Relationsmitglieder auswählen, die sich auf {0} Objekte in der aktuellen "
-"Auswahl beziehen"
+"<html>Die Relation wurde geändert.<br><br>Wollen Sie die Änderungen "
+"speichern?</html>"
 
-msgid "Select objects for selected relation members"
-msgstr "Wählen Sie Objekte für die ausgewählten Relationsmitglieder"
+msgid "Unsaved changes"
+msgstr "Ungespeicherte Änderungen"
 
-msgid "Sort the relation members"
-msgstr "Relationselemente sortieren"
+msgid "Delete the currently edited relation"
+msgstr "Diese Relation löschen"
 
-msgid "Relation Editor: Sort"
-msgstr "Relationseditor: Sortieren"
+msgid "Relation Editor: Download Members"
+msgstr "Relations-Editor: Elemente herunterladen"
 
-msgid "Sort below"
-msgstr "Unten sortieren"
+msgid "Download all incomplete members"
+msgstr "Alle unvollständigen Elemente herunterladen"
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download Members"
+msgstr "Elemente herunterladen"
+
+msgid "Download selected incomplete members"
+msgstr "Ausgewählte unvollständige Elemente herunterladen"
+
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
-"Die ausgewählten Relationsmitglieder und alle Mitglieder darunter sortieren"
+"Die zugehörige Relation des ausgewählten Relationselements bearbeiten"
 
-msgid "Reverse the order of the relation members"
-msgstr "Die Reihenfolge der Relationselemente umdrehen"
+msgid "Relation Editor: Move Down"
+msgstr "Relations-Editor: Nach unten verschieben"
 
-msgid "Reverse"
-msgstr "Umkehren"
+msgid "Move the currently selected members down"
+msgstr "Ausgewählte Elemente nach unten schieben"
+
+msgid "Relation Editor: Move Up"
+msgstr "Relations-Editor: Nach oben verschieben"
 
 msgid "Move the currently selected members up"
 msgstr "Ausgewählte Elemente nach oben schieben"
 
-msgid "Relation Editor: Move Up"
-msgstr "Relations-Editor: Nach oben verschieben"
+msgid "Apply the updates and close the dialog"
+msgstr "Aktualisierungen anwenden und den Dialog schließen"
 
-msgid "Move the currently selected members down"
-msgstr "Ausgewählte Elemente nach unten schieben"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Elemente aus der Zwischenablage können nicht gefügt werden, da sie nicht "
+"Teil des aktuellen Layers sind."
 
-msgid "Relation Editor: Move Down"
-msgstr "Relations-Editor: Nach unten verschieben"
+msgid "Relation Editor: Refresh"
+msgstr "Relationseditor: Aktualisieren"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Das ausgewählte Element aus dieser Relation entfernen"
+msgid "Refresh relation from data layer"
+msgstr "Relation aus Datenebene aktualisieren"
+
+msgid "Refresh"
+msgstr "Aktualisieren"
+
+msgid "Yes, discard changes and reload"
+msgstr "Ja, Änderungen verwerfen und neu laden"
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
+"Klicken Sie, um die Änderungen zu verwerfen und die Daten aus der Ebene neu "
+"zu laden"
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+"<html>Sie haben nicht gespeicherte Änderungen in diesem "
+"Editorfenster.<br><br>Möchten Sie diese Änderungen verwerfen und die Daten "
+"aus der Ebene neu laden?</html>"
+
+msgid "Click to close window"
+msgstr "Zum Schließen des Fensters klicken"
+
+msgid "No, continue editing"
+msgstr "Nein, Bearbeitung fortsetzen"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+"<html>Relation wurde außerhalb des Editors gelöscht.<br><br>Möchten Sie "
+"dieses Fenster schließen?</html>"
+
+msgid "Deleted relation"
+msgstr "Gelöschte Relation"
 
 msgid "Relation Editor: Remove"
 msgstr "Relations-Editor: Entfernen"
 
-msgid "Delete the currently edited relation"
-msgstr "Diese Relation löschen"
+msgid "Remove the currently selected members from this relation"
+msgstr "Das ausgewählte Element aus dieser Relation entfernen"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
+"Alle Mitglieder entfernen, die sich auf eines der ausgewählten Objekte "
+"beziehen"
+
+msgid "Reverse the order of the relation members"
+msgstr "Die Reihenfolge der Relationselemente umdrehen"
+
+msgid "Reverse"
+msgstr "Umkehren"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -8152,14 +8412,6 @@ msgstr ""
 "Klicken, um einen Konflikt zu erstellen und den Relationenseditor zu "
 "schließen"
 
-msgid "No, continue editing"
-msgstr "Nein, Bearbeitung fortsetzen"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Klicken, um zum Relationseditor zurückzukehren und das Editieren der "
-"Relation wiederaufzunehmen"
-
 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 "
@@ -8178,56 +8430,20 @@ msgstr ""
 "Objekt<br>''{1}''.<br>Bitte erst den Konflikt lösen und danach wieder "
 "versuchen.</html>"
 
-msgid "Apply the current updates"
-msgstr "Aktuelle Aktualisierung übernehmen"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Aktualisierungen anwenden und den Dialog schließen"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Aktualisierungen abbrechen und den Dialog schließen"
-
-msgid "Yes, save the changes and close"
-msgstr "Ja, Änderungen speichern und schließen"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr ""
-"Klicken, um die Änderungen zu speichern und den Relationseditor zu schließen"
-
-msgid "No, discard the changes and close"
-msgstr "Nein, Änderungen verwerfen und schließen"
+msgid "Select objects for selected relation members"
+msgstr "Wählen Sie Objekte für die ausgewählten Relationsmitglieder"
 
-msgid "Click to discard the changes and close this relation editor"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
-"Klicken, um die Änderungen zu verwerfen und den Relationseditor zu schließen"
-
-msgid "Cancel, continue editing"
-msgstr "Abbrechen, Bearbeitung fortsetzen"
+"Relationsmitglieder auswählen, die sich auf Objekte in der aktuellen Auswahl "
+"beziehen"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
-"<html>Die Relation wurde geändert.<br><br>Wollen Sie die Änderungen "
-"speichern?</html>"
-
-msgid "Unsaved changes"
-msgstr "Ungespeicherte Änderungen"
-
-msgid "Add an empty tag"
-msgstr "Einen leeren Schlüssel hinzufügen"
-
-msgid "Download all incomplete members"
-msgstr "Alle unvollständigen Elemente herunterladen"
-
-msgid "Download Members"
-msgstr "Elemente herunterladen"
-
-msgid "Relation Editor: Download Members"
-msgstr "Relations-Editor: Elemente herunterladen"
-
-msgid "Download selected incomplete members"
-msgstr "Ausgewählte unvollständige Elemente herunterladen"
+"Relationsmitglieder auswählen, die sich auf {0} Objekte in der aktuellen "
+"Auswahl beziehen"
 
 msgid "Sets a role for the selected members"
 msgstr "Definiert eine Rolle für die ausgewählten Elemente"
@@ -8255,74 +8471,18 @@ msgstr "Nicht übernehmen"
 msgid "Confirm empty role"
 msgstr "Leere Rolle bestätigen"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr ""
-"Die zugehörige Relation des ausgewählten Relationselements bearbeiten"
+msgid "Relation Editor: Sort"
+msgstr "Relationseditor: Sortieren"
 
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Elemente aus der Zwischenablage können nicht gefügt werden, da sie nicht "
-"Teil des aktuellen Layers sind."
+msgid "Sort the relation members"
+msgstr "Relationselemente sortieren"
 
-msgid "Select previous Gap"
-msgstr "Vorherige Lücke auswählen"
+msgid "Sort below"
+msgstr "Unten sortieren"
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Sort the selected relation members and all members below"
 msgstr ""
-"Vorheriges Relationselement auswählen, was zu einer Lücke führen wird"
-
-msgid "Select next Gap"
-msgstr "Nächste Lücke auswählen"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Nächstes Relationselement auswählen, was zu einer Lücke führen wird"
-
-msgid "Zoom to Gap"
-msgstr "Auf Lücke springen"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Auf Lücke in der Liniensequenz springen"
-
-msgid "Refers to"
-msgstr "Referenziert auf"
-
-msgid "Download referring relations"
-msgstr "Verweisende Relationen herunterladen"
-
-msgid "There were {0} conflicts during import."
-msgstr "Es traten {0} Konflikte während des Imports auf."
-
-msgid "including immediate children of parent relations"
-msgstr "Direkte Kinder von Elternrelationen einbeziehen"
-
-msgid "Load parent relations"
-msgstr "Lade Elternrelationen"
-
-msgid "Reload"
-msgstr "Neu laden"
-
-msgid "Loading parent relations"
-msgstr "Elternrelationen wird geladen"
-
-msgid "Edit the currently selected relation"
-msgstr "Die ausgewählte Relation bearbeiten"
-
-msgid "Apply Changes"
-msgstr "Änderungen übernehmen"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Erzeuge neue Relation in Ebene \"{0}\""
-
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Ändere neue Relation in Ebene \"{0}\""
-
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Ändere Relation {0} in Ebene \"{1}\""
-
-msgid "Load relation"
-msgstr "Relation laden"
+"Die ausgewählten Relationsmitglieder und alle Mitglieder darunter sortieren"
 
 msgid "way is connected"
 msgstr "Linie ist verbunden"
@@ -8768,6 +8928,11 @@ msgid ""
 msgstr ""
 "<html>Version <strong>{0}</strong> erstellt am <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "Der Änderungssatz enthält {0} Kommentar"
+msgstr[1] "Der Änderungssatz enthält {0} Kommentare"
+
 msgid "Changeset"
 msgstr "Änderungssatz"
 
@@ -8897,16 +9062,20 @@ msgid "Upload"
 msgstr "Hochladen"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+"Wählen Sie aus, welche Aktionen für diese Ebene durchgeführt werden sollen, "
+"wenn Sie die Schaltfläche ganz links klicken."
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+"Haken Sie \"Hochladen\" an, um die Änderungen zum OSM-Server hochzuladen."
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Wählen Sie Aktionen aus, die für diese Ebene angewendet werden sollen, "
-"wenn Sie auf die Schaltfläche ganz links klicken.<br/>Markieren Sie "
-"\"Hochladen\", um Ihre Änderungen zum OSM-Server hochzuladen.<br/>Markieren "
-"Sie \"Speichern\", um die Ebene in der links angegebenen Datei zu "
-"speichern.</html>"
+"Haken Sie \"Speichern\" an, um die Ebene in der auf der linken Seite "
+"angegebenen Datei zu speichern."
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr ""
@@ -9028,7 +9197,7 @@ msgid ""
 "and a valid password."
 msgstr ""
 "Die Anmeldung beim OSM-Server ''{0}'' ist fehlgeschlagen. Bitte geben Sie "
-"einen gültigen Benutzernamen und das richtige Passwort ein."
+"einen gültigen Benutzernamen und ein gültiges Passwort ein."
 
 msgid "Please enter the user name of your account"
 msgstr "Benutzernamen Ihres Zugangs eingeben"
@@ -9061,14 +9230,14 @@ msgid ""
 "Warning: depending on the authentication method the proxy server uses the "
 "password may be transferred unencrypted."
 msgstr ""
-"Achtung: Je nachdem, welche Legitimierungsmethode der Proxy-Server benutzt, "
-"wird das Kennwort möglicherweise unverschlüsselt übertragen."
+"Warnung: Abhängig von der Authentifizierungsmethode, die der Proxy-Server "
+"verwendet, wird das Passwort möglicherweise unverschlüsselt übertragen."
 
 msgid "Authenticate"
 msgstr "Authentisieren"
 
 msgid "Authenticate with the supplied username and password"
-msgstr "Mit dem angegebenen Benutzernamen und Kennwort anmelden"
+msgstr "Mit dem angegebenen Benutzernamen und Passwort authentifizieren"
 
 msgid "Cancel authentication"
 msgstr "Legitimierung abbrechen"
@@ -9111,9 +9280,6 @@ msgstr ""
 "Informationen zum aktuellen JOSM-Nutzer konnten nicht abgerufen werden. "
 "Fehler: {0}"
 
-msgid "Download objects"
-msgstr "Objekte herunterladen"
-
 msgid "Initializing nodes to download ..."
 msgstr "Punkte zum Herunterladen werden initialisiert …"
 
@@ -9318,7 +9484,7 @@ msgstr ""
 
 msgid "Layer ''{0}'' has modifications which are discouraged to be uploaded."
 msgstr ""
-"Ebene ''{0}'' enthält Änderungen, welche nicht hochgeladen werden sollen."
+"Ebene \"{0}\" enthält Änderungen, welche nicht hochgeladen werden sollen."
 
 msgid "Layer ''{0}'' has no modifications to be uploaded."
 msgstr "Ebene \"{0}\" enthält keine Änderungen zum Hochladen."
@@ -9331,7 +9497,7 @@ msgstr ""
 "gespeichert werden sollten."
 
 msgid "Layer ''{0}'' has no modifications to be saved."
-msgstr "Ebene »{0}« enthält keine Änderungen zum Speichern."
+msgstr "Ebene \"{0}\" enthält keine Änderungen zum Speichern."
 
 msgid "Layer Name and File Path"
 msgstr "Ebenenname und Dateipfad"
@@ -9733,7 +9899,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} zu löschendes Objekt:"
 msgstr[1] "{0} zu löschende Objekte:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr "Kachelinformationen anzeigen"
 
 msgid "Tile Info"
@@ -9742,16 +9908,22 @@ msgstr "Kachelinformationen"
 msgid "Metadata "
 msgstr "Metadaten "
 
-msgid "Auto Zoom"
-msgstr "Autom. Vergrößerung"
+msgid "Load tile"
+msgstr "Kachel laden"
+
+msgid "Auto zoom"
+msgstr "Automatischer Zoom"
 
 msgid "Auto load tiles"
 msgstr "Kacheln automatisch laden"
 
-msgid "Load All Tiles"
+msgid "Show errors"
+msgstr "Fehler anzeigen"
+
+msgid "Load all tiles"
 msgstr "Alle Kacheln laden"
 
-msgid "Load All Error Tiles"
+msgid "Load all error tiles"
 msgstr "Alle Fehlerkacheln laden"
 
 msgid "Zoom to native resolution"
@@ -9760,26 +9932,17 @@ msgstr "Auf Vorgabeauflösung zoomen"
 msgid "Change resolution"
 msgstr "Auflösung ändern"
 
-msgid "Failed to create tile source"
-msgstr "Fehler beim Erstellen der Kachelquelle"
-
-msgid "Show Errors"
-msgstr "Fehler anzeigen"
-
-msgid "Load Tile"
-msgstr "Kachel laden"
-
 msgid "Increase zoom"
 msgstr "Zoom erhöhen"
 
 msgid "Decrease zoom"
 msgstr "Zoom reduzieren"
 
-msgid "Snap to tile size"
-msgstr "An Kachelgröße anpassen"
+msgid "Flush tile cache"
+msgstr "Kachel-Cache leeren"
 
-msgid "Flush Tile Cache"
-msgstr "Kachel-Zwischenspeicher leeren"
+msgid "Failed to create tile source"
+msgstr "Fehler beim Erstellen der Kachelquelle"
 
 msgid "zoom in to load any tiles"
 msgstr "Zum Laden von Kacheln hereinzoomen"
@@ -10231,6 +10394,9 @@ msgstr ""
 "Fehler beim Einlesen des Offsets.\n"
 "Erwartetes Format: {0}"
 
+msgid "Geotagged Images"
+msgstr "Georeferenzierte Bilder"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "GPS-Positionen aus EXIF-Daten extrahieren"
 
@@ -10255,9 +10421,6 @@ msgstr "Fehler beim Lesen der Dateien im Verzeichnis {0}\n"
 msgid "One of the selected files was null"
 msgstr "Eine der ausgewählten Dateien war nicht vorhanden."
 
-msgid "Geotagged Images"
-msgstr "Georeferenzierte Bilder"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} Bild geladen."
@@ -10654,12 +10817,8 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Kartenstile in ''{0}'' enthalten Fehler: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Veraltetes ''{0}'' in ''{1}'' entdeckt, welches in Kürze entfernt wird. "
-"Verwenden Sie stattdessen ''{2}''."
+msgid "Failed to locate image ''{0}''"
+msgstr "Fehler beim Laden des Bildes ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Ungültiges Strichelungsmuster - Werte müssen positiv sein"
@@ -10707,6 +10866,12 @@ msgstr "URL der Zugriffskennung:"
 msgid "Authorize URL:"
 msgstr "Legitimierungsadresse:"
 
+msgid "OSM login URL:"
+msgstr "OSM-Anmeldungs-URL:"
+
+msgid "OSM logout URL:"
+msgstr "OSM-Abmeldungs-URL:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 "Klicken Sie, um die OAuth-Einstellungen auf die Standardwerte zurückzusetzen"
@@ -10780,14 +10945,7 @@ msgid "Username: "
 msgstr "Benutzername: "
 
 msgid "Password: "
-msgstr "Kennwort: "
-
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Warnung:</strong> JOSM meldet sich <strong>einmal</strong> mit "
-"gesicherter Verbindung an."
+msgstr "Passwort: "
 
 msgid "Granted rights"
 msgstr "Gewährte Rechte"
@@ -10873,7 +11031,7 @@ msgid ""
 msgstr ""
 "<html>Der automatische Erwerb einer OAuth-Zugriffskennung vom OSM-Server ist "
 "fehlgeschlagen. Die Anmeldung des Nutzers {1} <br>auf {0} schlug "
-"fehl.<br><br>Bitte prüfen Sie Benutzernamen und Kennwort und versuchen es "
+"fehl.<br><br>Bitte prüfen Sie Benutzernamen und Passwort und versuchen es "
 "erneut.</html>"
 
 msgid ""
@@ -10934,6 +11092,15 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Bitte wählen Sie eine Autorisierungsmethode: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+"<strong>Warnung:</strong> Nachdem Sie nicht die Standard-OSM-API nutzen, "
+"vergewissern Sie sich, dass Sie einen OAuth-Benutzer-Schlüssel sowie ein -"
+"Geheimnis in den <i>Erweiterte OAuth-Parameter</i> eingetragen haben."
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Eine Zugriffskennung für ''{0}'' anfordern"
 
@@ -11078,8 +11245,8 @@ msgid ""
 "browser.</html>"
 msgstr ""
 "<html>JOSM hat erfolgreich eine Anfragekennung bezogen. JOSM startet nun "
-"einen externen Browser mit einer Autorisierungs-Seite. Melden Sie sich bitte "
-"dort mit ihrer OSM-Benutzerkennung und Ihrem Kennwort an und folgen Sie den "
+"einen externen Browser mit einer Autorisierungsseite. Melden Sie sich bitte "
+"dort mit ihrer OSM-Benutzerkennung und Ihrem Passwort an und folgen Sie den "
 "Anweisungen, um die Anfragekennung zu autorisieren. Dann kehren Sie zu "
 "diesem Dialog zurück und klicken Sie auf <strong>{0}</strong><br><br>Wenn "
 "sich der Browser nicht automatisch öffnet, können Sie den folgende URL in "
@@ -11350,6 +11517,15 @@ msgstr "Registrierte Werkzeugleistenaktion {0} überschrieben: {1} wird {2}"
 msgid "Toolbar: {0}"
 msgstr "Werkzeugleiste: {0}"
 
+msgid "add entry"
+msgstr "Eintrag hinzufügen"
+
+msgid "Remove the selected entry"
+msgstr "Gewählten Eintrag entfernen"
+
+msgid "Key: {0}"
+msgstr "Schlüssel: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Erweiterte Einstellungen"
 
@@ -11446,18 +11622,9 @@ msgstr "Profildatei auswählen"
 msgid "Change list setting"
 msgstr "Listeneinstellung ändern"
 
-msgid "Key: {0}"
-msgstr "Schlüssel: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Feldeinstellung ändern"
 
-msgid "add entry"
-msgstr "Eintrag hinzufügen"
-
-msgid "Remove the selected entry"
-msgstr "Gewählten Eintrag entfernen"
-
 msgid "Change list of maps setting"
 msgstr "Hashlisteneinstellung andern"
 
@@ -12178,9 +12345,6 @@ msgstr "Gewählte Standardeinträge kopieren"
 msgid "Please select at least one row to copy."
 msgstr "Bitte wählen Sie mindestens eine Zeile, die kopiert werden soll."
 
-msgid "reload defaults"
-msgstr "Standardeinträge neu laden"
-
 msgid "Menu Name"
 msgstr "Menüname"
 
@@ -12497,6 +12661,9 @@ msgstr[1] ""
 "Die folgenden {0} Plugins konnten <strong>nicht</strong> heruntergeladen "
 "werden:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Fehlermeldung (englisch): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 "Bitte starten Sie JOSM neu, um die heruntergeladenen Plugins zu aktivieren."
@@ -13042,11 +13209,11 @@ msgstr "Port:"
 msgid ""
 "Please enter a username and a password if your proxy requires authentication."
 msgstr ""
-"Bitte geben Sie einen Benutzernamen und ein Kennwort an, wenn Ihr Proxy eine "
-"Anmeldung erwartet."
+"Bitte geben Sie einen Benutzernamen und ein Passwort an, wenn Ihr Proxy eine "
+"Authentifizierung erwartet."
 
 msgid "Password:"
-msgstr "Kennwort:"
+msgstr "Passwort:"
 
 msgid "No proxy"
 msgstr "Kein Proxy"
@@ -13194,12 +13361,6 @@ msgstr "Zahlenwerte"
 msgid "Checks for wrong numeric values"
 msgstr "Auf falsche Zahlenwerte überprüfen"
 
-msgid "Power"
-msgstr "Energieversorgung"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Prüft auf Fehler auf Strom-Infrastruktur"
-
 msgid "Religion"
 msgstr "Religion"
 
@@ -13290,6 +13451,9 @@ msgstr "Verwende Vorlage \"{0}\""
 msgid "Elements of type {0} are supported."
 msgstr "Elemente des Typs {0} werden unterstützt."
 
+msgid "This preset also sets: {0}"
+msgstr "Diese Voreinstellung legt auch fest: {0}"
+
 msgid "Edit also …"
 msgstr "Bearbeite auch …"
 
@@ -13364,6 +13528,9 @@ msgstr "Vorlagen suchen"
 msgid "Presets"
 msgstr "Vorlagen"
 
+msgid "Search for objects by preset..."
+msgstr "Nach Objekten durch Voreinstellung suchen..."
+
 msgid "Search for objects by preset"
 msgstr "Suche nach Objekten mittels Vorlage"
 
@@ -13417,6 +13584,9 @@ msgstr ""
 "Defekte Objektvorlage \"{0}-{1}\" - Anzahl der Datenworte in "
 "''short_descriptions'' und in ''values'' müssen gleich sein"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "Dieses Feld verändert den Schlüssel ''{0}''"
+
 msgid "More information about this feature"
 msgstr "Mehr Informationen zu dieser Vorlage"
 
@@ -13511,22 +13681,40 @@ msgstr ""
 "Ganzzahlwert > 0 ein."
 
 msgid "false: the property is explicitly switched off"
-msgstr "falsch: Diese Eigenschaft wurde explizit ausgeschaltet"
+msgstr "falsch: diese Eigenschaft wurde explizit ausgeschaltet"
+
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "falsch: die Eigenschaft ''{0}'' wurde explizit ausgeschaltet"
 
 msgid "true: the property is explicitly switched on"
 msgstr "wahr: diese Eigenschaft wurde explizit eingeschaltet"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "wahr: die Eigenschaft ''{0}'' wurde explizit eingeschaltet"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "teilweise: verschiedene gewählte Objekte haben verschiedene Werte, nicht "
 "ändern"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+"teilweise: verschiedene gewählte Objekte haben verschiedene Werte für "
+"''{0}'', nicht ändern"
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 "nicht festgelegt: diese Eigenschaft bei den gewählten Objekten nicht "
 "festlegen"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+"nicht festgelegt: die Eigenschaft ''{0}'' bei den gewählten Objekten nicht "
+"festlegen"
+
 msgid "Cut"
 msgstr "Ausschneiden"
 
@@ -14091,6 +14279,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Unerwarteter Wert für Einstellung ''{0}'': ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "OSM-Serverdateien"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 "<html>Beim Speichern ist ein Fehler aufgetreten.<br>Der Fehler "
@@ -14109,9 +14300,6 @@ msgstr "OSM-Serverdateien (gzip-komprimiert)"
 msgid "Parsing OSM history data ..."
 msgstr "OSM-Chronikdaten werden eingelesen …"
 
-msgid "OSM Server Files"
-msgstr "OSM-Serverdateien"
-
 msgid "Invalid dataset"
 msgstr "Ungültiger Datensatz"
 
@@ -14327,9 +14515,6 @@ msgstr "Daten werden hochgeladen …"
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Unerwartete Kennung 0 für OSM-Primitive gefunden"
 
-msgid "OSM Server Files zip compressed"
-msgstr "OSM-Serverdateien (zip-komprimiert)"
-
 msgid "Downloading data..."
 msgstr "Daten werden heruntergeladen…"
 
@@ -14522,24 +14707,29 @@ msgstr ""
 "Die Fernsteuerung wurde aufgefordert, seine Protokollversion zu melden. "
 "Damit können Internetseite ein laufendes JOSM erkennen."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Version ''{0}'' der Metadaten für die Bilderebene wird nicht unterstützt. "
-"Erwartet: 0.1"
+msgid "local file"
+msgstr "Lokale Datei"
+
+msgid "include"
+msgstr "Hinzufügen"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Ebene enthält ungespeicherte Daten - In Datei speichern."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Ebene enthält keine ungespeicherten Daten."
 
 msgid "Data:"
 msgstr "Daten:"
 
-msgid "local file"
-msgstr "Lokale Datei"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Verweis zu einer OSM-Datei auf der lokalen Festplatte."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Verweis zu einer GPX-Datei auf der lokalen Festplatte."
+msgid "Include OSM data in the .joz session file."
+msgstr "OSM-Daten im der Sitzungsdatei (.joz) integrieren."
 
-msgid "include"
-msgstr "Hinzufügen"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Verknüpfung zu einer GPX-Datei auf Ihrer Festplatte."
 
 msgid "Include GPX data in the .joz session file."
 msgstr "GPX-Daten im der Sitzungsdatei (.joz) integrieren."
@@ -14550,6 +14740,16 @@ msgstr "Keine Dateiverbindung"
 msgid "GPX data will be included in the session file."
 msgstr "GPX-Daten werden in Sitzungsdatei integriert."
 
+msgid "OSM data will be included in the session file."
+msgstr "OSM-Daten werden in Sitzungsdatei integriert."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Version ''{0}'' der Metadaten für die Bilderebene wird nicht unterstützt. "
+"Erwartet: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14573,20 +14773,11 @@ msgstr ""
 "Version \"{0}\" der Metadaten für die Markierungsebene wird nicht "
 "unterstützt. Erwartet: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Ebene enthält ungespeicherte Daten - In Datei speichern."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Ebene enthält keine ungespeicherten Daten."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Verweis zu einer OSM-Datei auf der lokalen Festplatte."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "OSM-Daten im der Sitzungsdatei (.joz) integrieren."
-
-msgid "OSM data will be included in the session file."
-msgstr "OSM-Daten werden in Sitzungsdatei integriert."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
+"Version ''{0}'' der Metadaten für die Hinweis-Ebene wird nicht unterstützt. "
+"Erwartet: 0.1"
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15469,9 +15660,6 @@ msgstr ""
 "Daten.<br>Versuchen Sie, einen kleineren Bereich herunterzuladen oder nutzen "
 "Sie einen Datenbankexport."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Fehlermeldung (englisch): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15518,6 +15706,9 @@ msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 "Zu viele Weiterleitungen für die URL zum Herunterladen gefunden. Abbruch."
 
+msgid "Fetching content..."
+msgstr "Inhalt abrufen …"
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "Für die Sprache {0} konnte keine Übersetzung gefunden werden. Es wird {1} "
@@ -15530,9 +15721,6 @@ msgstr ""
 "Fehler: Das Bild ''{0}'' konnte nicht geladen werden. Das ist ein "
 "schwerwiegendes Konfigurationsproblem."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Fehler beim Laden des Bildes ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Fehler beim Bearbeiten der Zip-Datei ''{0}''. Fehlermeldung war: {1}"
 
@@ -15692,6 +15880,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr "Datei {0} kann nicht gelöscht werden"
 
+msgid "Unable to create directory {0}"
+msgstr "Verzeichnis {0} kann nicht erstellt werden"
+
 msgid "ms"
 msgstr "ms"
 
@@ -16026,9 +16217,6 @@ msgstr "Die gewählte Datei öffnen"
 msgid "Open selected file."
 msgstr "Gewählte Datei öffnen."
 
-msgid "Refresh"
-msgstr "Aktualisieren"
-
 msgid "Rename File"
 msgstr "Datei umbenennen"
 
@@ -16122,6 +16310,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Öffentlicher Personennahverkehr (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (Deutscher Stil)"
 
@@ -16188,6 +16379,9 @@ msgstr "OSM Inspector: Addresses"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Boundaries (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr "SIG Nationales Geographisches Institut (WMTS)"
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI Schwarzweiß 2.5m"
 
@@ -16284,14 +16478,17 @@ msgstr "URBIS 2015 Luftbilder"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW (Wallonie) PICC-Zahlenbild"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW (Wallonie) 2012 Luftbilder"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW(allonie) 2015 Luftaufnahmen"
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW(allonie) 2012-2013 Luftaufnahmen"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW (Wallonie) 2009 Luftbilder"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW(allonie) 2009-2010 Luftaufnahmen"
 
-msgid "TEC bus lines"
-msgstr "TEC-Buslinien"
+msgid "TEC bus lines (2014)"
+msgstr "TEC-Buslinien (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Karte der Stadtgebiete"
@@ -16413,6 +16610,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Toulouse - Luftbildplan 2015"
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -16435,9 +16635,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Sorbische Sprache)"
 
@@ -16511,6 +16708,15 @@ msgstr "Dronenbilder 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Drohnenbild Canaan (Haiti) November 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr "FÖMI Orthofoto 2000"
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr "Interspect Budapest Orthofoto 2014"
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr "Fünf Bezirke von Budapest: III, IV, XIII, XIV, XV"
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
 
@@ -16544,11 +16750,14 @@ msgstr "OSMIE Kommunalwahlgebiete"
 msgid "OSMIE Dail Election Areas"
 msgstr "OSMIE Dail (Unterhaus) Wahlgebiete"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr "OSMIE Land nicht in Landkreisen"
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italien"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardei - Italien (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Lombardei - Italien (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Sizilien - Italien"
@@ -17269,6 +17478,9 @@ msgstr "Lädt neue Daten herunter, während Sie verschieben/zoomen"
 msgid "Create a grid of ways."
 msgstr "Erzeugt ein Liniengitter."
 
+msgid "Customizing of public transport stops."
+msgstr "Anpassung von Haltestellen des öffentlichen Verkehrs."
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -18040,6 +18252,105 @@ msgstr "limitiert"
 msgid "Brand"
 msgstr "Marke"
 
+msgid "Cuisine"
+msgstr "Küche"
+
+msgid "italian"
+msgstr "italienisch"
+
+msgid "chinese"
+msgstr "chinesisch"
+
+msgid "pizza"
+msgstr "Pizza"
+
+msgid "burger"
+msgstr "Hamburger"
+
+msgid "greek"
+msgstr "griechisch"
+
+msgid "german"
+msgstr "deutsch"
+
+msgid "indian"
+msgstr "indisch"
+
+msgid "regional"
+msgstr "regional"
+
+msgid "kebab"
+msgstr "Döner"
+
+msgid "turkish"
+msgstr "türkisch"
+
+msgid "asian"
+msgstr "asiatisch"
+
+msgid "thai"
+msgstr "thailändisch"
+
+msgid "mexican"
+msgstr "mexikanisch"
+
+msgid "japanese"
+msgstr "japanisch"
+
+msgid "french"
+msgstr "französisch"
+
+msgid "sandwich"
+msgstr "Sandwich"
+
+msgid "coffee_shop"
+msgstr "Kaffeehaus"
+
+msgid "sushi"
+msgstr "Sushi"
+
+msgid "steak_house"
+msgstr "Steakhaus"
+
+msgid "fish_and_chips"
+msgstr "Fish and Chips"
+
+msgid "chicken"
+msgstr "Hähnchen"
+
+msgid "american"
+msgstr "amerikanisch"
+
+msgid "ice_cream"
+msgstr "Speiseeis"
+
+msgid "international"
+msgstr "international"
+
+msgid "seafood"
+msgstr "Meeresfrüchte"
+
+msgid "spanish"
+msgstr "spanisch"
+
+msgid "vietnamese"
+msgstr "vietnamesisch"
+
+msgid "fish"
+msgstr "Fisch"
+
+msgid "noodle"
+msgstr "Nudel"
+
+msgid "barbecue"
+msgstr "Barbecue"
+
+msgid "vegetarian"
+msgstr "vegetarisch"
+
+msgid "korean"
+msgstr "koreanisch"
+
 msgid "Internet access"
 msgstr "Internetzugang"
 
@@ -18611,9 +18922,11 @@ msgstr "Max. Gewicht (Tonnen)"
 msgid "Toll"
 msgstr "Maut"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr ""
-"Tritt die Wasserfläche zeitweise auf (verschwindet je nach Jahreszeit)?"
+msgid "Intermittent"
+msgstr "Episodisch"
+
+msgid "Seasonal"
+msgstr "Saisonal"
 
 msgid "In the tidal range"
 msgstr "Im Gezeitenhub"
@@ -19043,19 +19356,19 @@ msgid "Tracktype"
 msgstr "Typ des Weges"
 
 msgid "grade1"
-msgstr "Grad 1 (Asphalt)"
+msgstr "Grad 1 (Asphalt, Beton, Pflastersteine)"
 
 msgid "grade2"
-msgstr "Grad 2 (Schotter)"
+msgstr "Grad 2 (nur Schotter, verdichtete Materialien)"
 
 msgid "grade3"
-msgstr "Grad 3 (unbefestigt)"
+msgstr "Grad 3 (teils feste, teils weiche Oberfläche)"
 
 msgid "grade4"
-msgstr "Grad 4 (leicht bewachsen)"
+msgstr "Grad 4 (hauptsächlich weiche Oberfläche)"
 
 msgid "grade5"
-msgstr "Grad 5 (stark bewachsen)"
+msgstr "Grad 5 (nur weiche Oberfläche, Gras, Erde)"
 
 msgid "MTB Scale"
 msgstr "MTB-Skala"
@@ -19384,25 +19697,29 @@ msgstr "Bei Ampeln:"
 msgid "Traffic Calming"
 msgstr "Verkehrsberuhigung"
 
-msgid "bump"
-msgstr "Bodenschwelle"
+msgid "Bump"
+msgstr "Bodenwelle (kurz)"
 
-msgid "chicane"
+msgid "Chicane"
 msgstr "Schikane"
 
-msgid "choker"
+msgid "Choker"
 msgstr "Fahrbahnverengung"
 
-msgid "cushion"
+msgid "Cushion"
 msgstr "Bodenwelle (mit Lücken)"
 
-msgid "hump"
+msgid "Hump"
 msgstr "Bodenwelle (lang)"
 
-msgid "rumble_strip"
-msgstr "Rüttelstreifen"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr "Verkehrsinsel"
+
+msgid "Rumble strip"
+msgstr "Holperstreifen"
 
-msgid "table"
+msgid "Table"
 msgstr "Bodenwelle (sehr lang und flach)"
 
 msgid "Passing Place"
@@ -19554,6 +19871,9 @@ msgstr "Stadtmauer"
 msgid "Retaining Wall"
 msgstr "Stützmauer"
 
+msgid "Jersey Barrier"
+msgstr "Betonschutzwand"
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Wassergraben"
@@ -19725,6 +20045,10 @@ msgstr "Fluss"
 msgid "Salt Water"
 msgstr "Salzwasser"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+"Tritt die Wasserfläche zeitweise auf (verschwindet je nach Jahreszeit)?"
+
 msgid "Coastline"
 msgstr "Küstenlinie"
 
@@ -19791,16 +20115,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr "Eine offene Wasserfläche, die größtenteils von Land begrenzt wird."
 
-msgid "Cliff"
-msgstr "Klippe"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Eine nahezu vertikale Felswand (die tiefere Seite liegt auf der rechten "
-"Seite der Linie)."
-
 msgid "Shipping"
 msgstr "Schifffahrt"
 
@@ -20732,66 +21046,6 @@ msgstr "Essen & Trinken"
 msgid "Restaurant"
 msgstr "Restaurant"
 
-msgid "Cuisine"
-msgstr "Küche"
-
-msgid "italian"
-msgstr "italienisch"
-
-msgid "chinese"
-msgstr "chinesisch"
-
-msgid "pizza"
-msgstr "Pizza"
-
-msgid "burger"
-msgstr "Hamburger"
-
-msgid "greek"
-msgstr "griechisch"
-
-msgid "german"
-msgstr "deutsch"
-
-msgid "indian"
-msgstr "indisch"
-
-msgid "regional"
-msgstr "regional"
-
-msgid "kebab"
-msgstr "Döner"
-
-msgid "turkish"
-msgstr "türkisch"
-
-msgid "asian"
-msgstr "asiatisch"
-
-msgid "thai"
-msgstr "thailändisch"
-
-msgid "mexican"
-msgstr "mexikanisch"
-
-msgid "japanese"
-msgstr "japanisch"
-
-msgid "french"
-msgstr "französisch"
-
-msgid "sandwich"
-msgstr "Sandwich"
-
-msgid "coffee_shop"
-msgstr "Kaffeehaus"
-
-msgid "sushi"
-msgstr "Sushi"
-
-msgid "steak_house"
-msgstr "Steakhaus"
-
 msgid "Microbrewery"
 msgstr "Hausbrauerei"
 
@@ -20804,20 +21058,14 @@ msgstr "Zum Mitnehmen"
 msgid "Fast Food"
 msgstr "Imbiss (Fast Food)"
 
-msgid "fish_and_chips"
-msgstr "Fish and Chips"
-
-msgid "chicken"
-msgstr "Hähnchen"
-
 msgid "Food Court"
 msgstr "Food Court"
 
 msgid "Cafe"
 msgstr "Café"
 
-msgid "ice_cream"
-msgstr "Speiseeis"
+msgid "Ice cream"
+msgstr "Eis"
 
 msgid "Pub"
 msgstr "Kneipe"
@@ -20995,6 +21243,12 @@ msgstr "Freizeit-/Themenpark"
 msgid "Water Park"
 msgstr "Schwimmbad"
 
+msgid "Swimming Pool"
+msgstr "Schwimmbecken"
+
+msgid "Used for the water area only."
+msgstr "Nur für den Wasserbereich verwendet."
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -21029,9 +21283,6 @@ msgstr "Feuerstelle"
 msgid "Fishing"
 msgstr "Angeln"
 
-msgid "Private Swimming Pool"
-msgstr "Privates Schwimmbecken"
-
 msgid "Night Club"
 msgstr "Nachtclub"
 
@@ -21074,12 +21325,18 @@ msgstr "Statue"
 msgid "Artist Name"
 msgstr "Künstlername"
 
-msgid "Recording Studio"
-msgstr "Aufnahmestudio"
+msgid "Studio"
+msgstr "Studio"
 
 msgid "audio"
 msgstr "Audio"
 
+msgid "radio"
+msgstr "Radio"
+
+msgid "television"
+msgstr "Fernsehen"
+
 msgid "video"
 msgstr "Video"
 
@@ -21183,6 +21440,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "Siebenten-Tags-Adventisten"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr "Spiritist"
+
 msgid "Mosque"
 msgstr "Moschee"
 
@@ -21342,6 +21603,125 @@ msgstr "(Internationale Nummer verwenden, z.B. +49-123-45678)"
 msgid "Veterinary"
 msgstr "Tierarzt"
 
+msgid "Emergency"
+msgstr "Notfall"
+
+msgid "Ambulance Station"
+msgstr "Rettungswache"
+
+msgid "Automated Defibrillator"
+msgstr "Automatisierter Defibrillator"
+
+msgid "Located inside a building?"
+msgstr "Im Gebäude befindlich?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Letztes Prüfdatum (JJJJ-MM-TT)"
+
+msgid "Last check note"
+msgstr "Letzter Prüfvermerk"
+
+msgid "Fire Extinguisher"
+msgstr "Feuerlöscher"
+
+msgid "Indoor"
+msgstr "Innenraum"
+
+msgid "Fire Hose"
+msgstr "Feuerwehrschlauch"
+
+msgid "Fire Hydrant"
+msgstr "Hydrant"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "Unterflur"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "Überflurhydrant"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "Mauer"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "Teich"
+
+msgid "Diameter (in mm)"
+msgstr "Durchmesser (in mm)"
+
+msgid "Hydrant Position"
+msgstr "Hydrantposition"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "Fahrbahn"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "Parkbucht"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "Fußweg"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "Grünstreifen"
+
+msgid "Pressure (in bar)"
+msgstr "Druck (in Bar)"
+
+msgid "suction"
+msgstr "Saugwirkung"
+
+msgid "Count"
+msgstr "Anzahl"
+
+msgid "Water Tank"
+msgstr "Wassertank"
+
+msgid "Volume (in liters)"
+msgstr "Volumen (in Litern)"
+
+msgid "Assembly Point"
+msgstr "Sammelplatz"
+
+msgid "Emergency Phone"
+msgstr "Notfalltelefon"
+
+msgid "Siren"
+msgstr "Sirene"
+
+msgid "pneumatic"
+msgstr "pneumatisch"
+
+msgid "electronic"
+msgstr "elektronisch"
+
+msgid "mechanical"
+msgstr "mechanisch"
+
+msgid "Purpose"
+msgstr "Zweck"
+
+msgid "tornado"
+msgstr "Tornado"
+
+msgid "fire"
+msgstr "Feuer"
+
+msgid "air_raid"
+msgstr "Luftangriff"
+
+msgid "civil_defense"
+msgstr "Zivilschutz"
+
+msgid "Range (in meters)"
+msgstr "Reichweite (in Metern)"
+
 msgid "Social Facility"
 msgstr "Sozialeinrichtung"
 
@@ -21358,7 +21738,7 @@ msgid "Assisted Living"
 msgstr "Betreutes Wohnen"
 
 msgid "Outreach"
-msgstr ""
+msgstr "Sozialdienst"
 
 msgctxt "social_facility"
 msgid "Shelter"
@@ -21454,24 +21834,9 @@ msgstr "Geldscheine"
 msgid "Telephone cards"
 msgstr "Telefonkarten"
 
-msgid "Emergency Phone"
-msgstr "Notfalltelefon"
-
 msgid "Internet Access"
 msgstr "Internetzugang"
 
-msgid "Automated Defibrillator"
-msgstr "Automatisierter Defibrillator"
-
-msgid "Located inside a building?"
-msgstr "Im Gebäude befindlich?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Letztes Prüfdatum (JJJJ-MM-TT)"
-
-msgid "Last check note"
-msgstr "Letzter Prüfvermerk"
-
 msgid "Clock"
 msgstr "Uhr"
 
@@ -21634,64 +21999,15 @@ msgctxt "height"
 msgid "full"
 msgstr "voll"
 
+msgctxt "hunting stand"
 msgid "Hide"
 msgstr "Versteck"
 
 msgid "Lock"
 msgstr "Schloss"
 
-msgid "Indoor"
-msgstr "Innenraum"
-
-msgid "Fire Hydrant"
-msgstr "Hydrant"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "Unterflur"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "Überflurhydrant"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "Mauer"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "Teich"
-
-msgid "Diameter (in mm)"
-msgstr "Durchmesser (in mm)"
-
-msgid "Hydrant Position"
-msgstr "Hydrantposition"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "Fahrbahn"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "Parkbucht"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "Fußweg"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "Grünstreifen"
-
-msgid "Pressure (in bar)"
-msgstr "Druck (in Bar)"
-
-msgid "suction"
-msgstr "Saugwirkung"
-
-msgid "Count"
-msgstr "Anzahl"
+msgid "Water Point"
+msgstr "Wasseranschluss"
 
 msgid "Compressed Air"
 msgstr "Druckluft"
@@ -21744,9 +22060,62 @@ msgstr "Tartanbelag"
 msgid "Racetrack"
 msgstr "Rennbahn"
 
+msgid "Golf"
+msgstr "Golfplatz"
+
 msgid "Golf Course"
 msgstr "Golfanlage"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr "Abschlag"
+
+msgctxt "golf"
+msgid "Hole"
+msgstr "Loch"
+
+msgid "Par"
+msgstr "Par"
+
+msgid "Handicap rating"
+msgstr "Handicap-Bewertung"
+
+msgctxt "golf"
+msgid "Pin"
+msgstr "Flaggenstock"
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr "Bunker"
+
+msgctxt "golf"
+msgid "Natural"
+msgstr "Natürlich"
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr "Frontales Wasserhindernis"
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr "Seitliches Wasserhindernis"
+
+msgctxt "golf"
+msgid "Green"
+msgstr "Grün"
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr "Fläche"
+
+msgctxt "golf"
+msgid "Rough"
+msgstr "Rough"
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr "Übungsplatz"
+
 msgid "Miniature Golf"
 msgstr "Minigolf"
 
@@ -21971,9 +22340,6 @@ msgstr "Beachvolleyball"
 msgid "Billiards"
 msgstr "Billard"
 
-msgid "Golf"
-msgstr "Golfplatz"
-
 msgid "golf_course"
 msgstr "Golfanlage"
 
@@ -22138,6 +22504,10 @@ msgid "gasometer"
 msgstr "Gasometer"
 
 msgctxt "building"
+msgid "silo"
+msgstr "Silo"
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "Kuhstall"
 
@@ -22146,6 +22516,38 @@ msgid "construction"
 msgstr "Baustelle"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "Basilika"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "Kathedrale"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "Kapelle"
+
+msgctxt "building"
+msgid "church"
+msgstr "Kirche"
+
+msgctxt "building"
+msgid "temple"
+msgstr "Tempel"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "Moschee"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "Synagoge"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr "Transformatorenturm"
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Stockwerke"
 
@@ -22258,6 +22660,9 @@ msgstr "Windmühle"
 msgid "Gasometer"
 msgstr "Gasometer"
 
+msgid "Silo"
+msgstr "Silo"
+
 msgid "Storage Tank"
 msgstr "Speichertank"
 
@@ -22659,6 +23064,14 @@ msgstr "Munition"
 msgid "hardened_aircraft_shelter"
 msgstr "Flugzeugschutzbau"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "unterirdisch"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "überirdisch"
+
 msgid "Historic"
 msgstr "Historisch"
 
@@ -22668,6 +23081,9 @@ msgstr "Ruinen"
 msgid "Range"
 msgstr "Gebiet"
 
+msgid "Power"
+msgstr "Energieversorgung"
+
 msgid "Power Plant"
 msgstr "Kraftwerk"
 
@@ -23101,11 +23517,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Kabelverteilerschrank"
+msgid "Power Street Cabinet"
+msgstr "Stromverteilerkasten"
 
-msgid "Power Tower"
-msgstr "Strommast"
+msgid "Transformer Tower"
+msgstr "Transformatorturm"
+
+msgid "Power Portal"
+msgstr "Abspannportal"
 
 msgid "Type of construction"
 msgstr "Bauart"
@@ -23126,6 +23545,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "rot/weiß"
 
+msgid "Portal design"
+msgstr "Portalbauweise"
+
+msgctxt "power"
+msgid "portal"
+msgstr "Portal"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portal_two-level"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portal_three-level"
+
+msgid "Power Tower"
+msgstr "Strommast"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Art des Strommastes"
@@ -23249,18 +23686,6 @@ msgid "guyed_h-frame"
 msgstr "guyed_h-frame"
 
 msgctxt "power"
-msgid "portal"
-msgstr "Portal"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "portal_two-level"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "portal_three-level"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "guyed_v-frame"
 
@@ -23293,6 +23718,9 @@ msgstr "Mast-Attribute:"
 msgid "Transformer Attributes:"
 msgstr "Transformator-Attribute"
 
+msgid "Insulator"
+msgstr "Isolator"
+
 msgid "Power Line"
 msgstr "Stromleitung"
 
@@ -23550,6 +23978,9 @@ msgstr "Möbel"
 msgid "Kitchen"
 msgstr "Küchenstudio"
 
+msgid "Houseware"
+msgstr "Haushaltswaren"
+
 msgid "Curtain"
 msgstr "Gardinen"
 
@@ -23592,12 +24023,21 @@ msgstr "Für den Körper"
 msgid "Chemist"
 msgstr "Drogerie"
 
-msgid "Hairdresser/Barber"
-msgstr "Friseur"
+msgid "Cosmetics"
+msgstr "Kosmetik"
+
+msgid "Perfumery"
+msgstr "Parfümerie"
 
 msgid "Beauty"
 msgstr "Schönheitssalon"
 
+msgid "Tobacco"
+msgstr "Tabak"
+
+msgid "Hairdresser/Barber"
+msgstr "Friseur"
+
 msgid "Tattoo"
 msgstr "Tätowierstudio"
 
@@ -23620,7 +24060,7 @@ msgid "Department Store"
 msgstr "Warenhaus"
 
 msgid "Mall"
-msgstr "Einkaufszentrum (Mall)"
+msgstr "Einkaufszentrum"
 
 msgid "Florist"
 msgstr "Blumenladen"
@@ -23923,6 +24363,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Telekommunikation"
 
+msgid "Craft"
+msgstr "Handwerk"
+
+msgid "Carpenter"
+msgstr "Zimmermann"
+
+msgid "Shoemaker"
+msgstr "Schuhmacher"
+
+msgid "Photographer"
+msgstr "Fotograf"
+
+msgid "Metal construction"
+msgstr "Metallbauer"
+
+msgid "Electrician"
+msgstr "Elektriker"
+
+msgid "Brewery"
+msgstr "Brauerei"
+
+msgid "Plumber"
+msgstr "Installateur (Sanitär/Heizung/Klimatechnik)"
+
+msgid "Sawmill"
+msgstr "Sägewerk"
+
+msgid "Gardener"
+msgstr "Gärtner"
+
+msgid "Winery"
+msgstr "Weinkellerei"
+
+msgid "Hvac"
+msgstr "Kälteanlagenbauer"
+
+msgid "Painter"
+msgstr "Maler"
+
+msgid "Stonemason"
+msgstr "Steinmetz"
+
+msgid "Handicraft"
+msgstr "Handwerkskunst"
+
+msgid "Pottery"
+msgstr "Töpferei"
+
+msgid "Key cutter"
+msgstr "Schlüsselmacher"
+
+msgid "Caterer"
+msgstr "Catering"
+
+msgid "Roofer"
+msgstr "Dachdecker"
+
+msgid "Beekeeper"
+msgstr "Imker"
+
+msgid "Blacksmith"
+msgstr "Schmied"
+
+msgid "Locksmith"
+msgstr "Schlüsseldienst"
+
+msgid "Window construction"
+msgstr "Fensterbauer"
+
+msgid "Upholsterer"
+msgstr "Polsterer"
+
+msgid "Tiler"
+msgstr "Fliesenleger"
+
 msgid "Geography"
 msgstr "Geografie"
 
@@ -24093,6 +24608,16 @@ msgstr "Tal"
 msgid "A low area between hills."
 msgstr "Ein niedriger gelegenes Gebiet zwischen Bergen."
 
+msgid "Cliff"
+msgstr "Klippe"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Eine nahezu vertikale Felswand (die tiefere Seite liegt auf der rechten "
+"Seite der Linie)."
+
 msgid "Cave Entrance"
 msgstr "Höhleneingang"
 
@@ -24282,7 +24807,7 @@ msgid "Farmland"
 msgstr "Ackerland"
 
 msgid "Crop"
-msgstr "Zuschneiden"
+msgstr "Angebaute Pflanze"
 
 msgctxt "crop"
 msgid "corn"
@@ -24310,6 +24835,51 @@ msgstr "Wiese"
 msgid "Orchard"
 msgstr "Obstgarten"
 
+msgid "Trees"
+msgstr "Bäume"
+
+msgid "olive_trees"
+msgstr "Olivenbäume"
+
+msgid "apple_trees"
+msgstr "Apfelbäume"
+
+msgid "oil_palms"
+msgstr "Ölpalmen"
+
+msgid "orange_trees"
+msgstr "Orangenbäume"
+
+msgid "almond_trees"
+msgstr "Mandelbäume"
+
+msgid "banana_plants"
+msgstr "Bananenpflanzen"
+
+msgid "coconut_palms"
+msgstr "Kokospalmen"
+
+msgid "hazel_plants"
+msgstr "Haselsträucher"
+
+msgid "cherry_trees"
+msgstr "Kirschbäume"
+
+msgid "persimmon_trees"
+msgstr "Dattelpflaumenbäume"
+
+msgid "walnut_trees"
+msgstr "Walnussbäume"
+
+msgid "plum_trees"
+msgstr "Pflaumenbäume"
+
+msgid "peach_trees"
+msgstr "Pfirsichbäume"
+
+msgid "tea_plants"
+msgstr "Teepflanzen"
+
 msgid "Vineyard"
 msgstr "Weinberg"
 
@@ -25109,9 +25679,6 @@ msgstr "{0} und {1} zusammen mit {2} und widersprüchlichen Werten"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Verdächtige Merkmalskombination: {0} und {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} ist veraltet"
-
 msgid "{0} is deprecated"
 msgstr "{0} ist veraltet"
 
@@ -25140,8 +25707,8 @@ msgstr ""
 "Falsche Verwendung von Merkmal {0}. Entfernen Sie {1}, weil klar ist, dass "
 "der Name auch ohne ein zusätzliches Merkmal noch fehlt."
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} ist veraltet. Bitte stattdessen ein Multipolygon verwenden."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr "{0} ist veraltet. Bitte verwenden Sie stattdessen ein Multipolygon."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -25193,6 +25760,16 @@ msgstr "ungewöhnlich kurzer Schlüssel"
 msgid "{0} is inaccurate"
 msgstr "{0} ist ungenau"
 
+msgid "{0} is deprecated for {1}"
+msgstr "{0} ist veraltet für {1}"
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+"{0} ist veraltet. Verwenden Sie stattdessen den Schlüsselpräfix {1}:."
+
+msgid "questionable key (ending with a number): {0}"
+msgstr "fragwürdiger Schlüssel (endet mit einer Zahl): {0}"
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} auf einem Punkt. Sollte auf einer Linie verwendet werden."
 
@@ -25208,6 +25785,9 @@ msgstr "{0} auf einer Linie. Sollte auf einem Punkt verwendet werden."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} auf einer Linie. Sollte in einer Relation verwendet werden"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr "{0} zusammen mit {1} auf einem Punkt. Entferne {0}."
+
 msgid "{0} on a node"
 msgstr "{0} auf einem Punkt"
 
@@ -25235,6 +25815,9 @@ msgstr "{0} muss mit einer Linie verbunden sein"
 msgid "node connects waterway and bridge"
 msgstr "Punkt verbindet Wasserstraße und Brücke"
 
+msgid "suspicious roundabout direction"
+msgstr "verdächtige Kreisverkehrrichtung"
+
 msgid "abbreviated street name"
 msgstr "Abgekürzter Straßenname"
 
@@ -25278,8 +25861,8 @@ msgstr "Ebenenschlüssel mit + Symbol"
 msgid "layer should be between -5 and 5"
 msgstr "Ebene sollte zwischen -5 und 5 liegen"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "Stockwerk sollte numerisch sein (ggf. mit .5 Zwischenschritten)"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr "{0} sollte nur Zahlen mit optionalen 0,5-Schritten aufweisen"
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -29065,8 +29648,8 @@ msgstr "Bilder"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr "Verkehrszeichen-Schriftart ''{0}'' hat ein falsches Format."
 
-msgid "Could not read font-file from ''{{0}}''."
-msgstr "Konnte Schriftart-Datei nicht von ''{{0}}'' lesen."
+msgid "Could not read font-file from ''{0}''."
+msgstr ""
 
 msgid "Mapillary"
 msgstr "Mapillary"
@@ -29383,6 +29966,9 @@ msgstr "Mapillary-Anmeldung"
 msgid "Login successful, return to JOSM."
 msgstr "Anmeldung erfolgreich, zurück zu JOSM."
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr "Unterstützte Bildformate (JPG und PNG)"
+
 msgid "Downloading Mapillary images"
 msgstr "Mapillary-Bilder werden heruntergeladen"
 
@@ -29398,6 +29984,18 @@ msgstr "Hochladen abgeschlossen"
 msgid "Uploading: {0}"
 msgstr "Hachladevorgang: {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Gemessene Werte"
 
@@ -30333,7 +30931,7 @@ msgid "Building JOSM layer"
 msgstr "JOSM-Ebene wird aufgebaut"
 
 msgid "Postprocessing layer"
-msgstr "Ebene nachbearbeiten"
+msgstr "Ebene wird nachbearbeitet"
 
 msgid "Saving to file."
 msgstr "Speichern."
@@ -30832,6 +31430,12 @@ msgstr "Proj4J-Plugin"
 msgid "Code"
 msgstr "Kode"
 
+msgid "Can''t parse a time from this string."
+msgstr "Von dieser Zeichenkette konnte keine Uhrzeit geparst werden."
+
+msgid "Invalid value"
+msgstr "Ungültiger Wert"
+
 msgid "added"
 msgstr "hinzugefügt"
 
@@ -30920,15 +31524,6 @@ msgstr "Erfassen"
 msgid "Join"
 msgstr "Verbinden"
 
-msgid "Enable"
-msgstr "Aktivieren"
-
-msgid "Can''t parse a time from this string."
-msgstr "Von dieser Zeichenkette konnte keine Uhrzeit geparst werden."
-
-msgid "Invalid value"
-msgstr "Ungültiger Wert"
-
 msgid "moved"
 msgstr "verschoben"
 
@@ -31525,7 +32120,7 @@ msgid ""
 "and a valid password."
 msgstr ""
 "Die Anmeldung bei der Separate-Data-Store-API ''{0}'' ist fehlgeschlagen. "
-"Geben Sie bitte einen gültigen Benutzernamen und das richtige Kennwort ein."
+"Geben Sie bitte einen gültigen Benutzernamen und ein gültiges Passwort ein."
 
 msgid "SDS data file"
 msgstr "SDS-Datendatei"
@@ -33110,6 +33705,10 @@ msgstr "Die Linie mit den gewählten Punkten kann nicht begradigt werden."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Interner Fehler: Anzahl der Punkte ist {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+"Alle Merkmale der ausgewählten Objekte in die Zwischenablage kopieren."
+
 msgid "Extract node"
 msgstr "Punkt extrahieren"
 
@@ -33793,6 +34392,12 @@ msgstr[1] "{0} Wikidata-Kennungen für Sprache ''{1}'' werden abgerufen"
 msgid "Add Wikidata for language ''{0}''"
 msgstr "Wikidata für Sprache ''{0}'' hinzufügen"
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] "''{0}'' Merkmal {1} von {2} mit neuem Wert ''{3}'' überschreiben?"
+msgstr[1] ""
+"''{0}'' Merkmale {1} von {2} mit neuem Wert ''{3}'' überschreiben?"
+
 msgid "Add names from Wikipedia"
 msgstr "Namen aus Wikipedia hinzufügen"
 
@@ -33886,5 +34491,5 @@ msgstr "Losfahren"
 msgid "Drive a race car on this layer"
 msgstr "Ein Rennauto auf dieser Ebene fahren"
 
-#~ msgid "Retirement Home"
-#~ msgstr "Altersheim"
+#~ msgid "Could not read font-file from ''{{0}}''."
+#~ msgstr "Konnte Schriftart-Datei nicht von ''{{0}}'' lesen."
diff --git a/i18n/po/de_DE.po b/i18n/po/de_DE.po
index 14297b9..b9fdb96 100644
--- a/i18n/po/de_DE.po
+++ b/i18n/po/de_DE.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 05:09+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:08+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -393,6 +393,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -450,6 +453,12 @@ msgstr "Löschen"
 msgid "Delete selected objects."
 msgstr "Ausgewählte Objekte löschen."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1181,9 +1190,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1516,6 +1522,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2234,6 +2250,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2275,6 +2296,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2629,7 +2659,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3192,9 +3225,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3253,6 +3283,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3480,6 +3513,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3557,12 +3593,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3572,6 +3620,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4138,6 +4204,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4832,9 +4901,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4893,12 +4959,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4925,6 +4985,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5744,6 +5816,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5860,6 +5944,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6285,6 +6372,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6632,19 +6722,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6746,6 +6830,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7073,7 +7169,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7109,6 +7205,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7176,6 +7275,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7288,9 +7408,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7321,108 +7438,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7441,6 +7533,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7449,48 +7544,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7498,61 +7582,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7940,6 +8088,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8043,10 +8196,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8226,9 +8383,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8741,7 +8895,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8750,31 +8904,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8783,10 +8934,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9206,6 +9357,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9230,9 +9384,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9583,9 +9734,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9630,6 +9779,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9686,11 +9841,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9806,6 +9956,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10166,6 +10322,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10247,18 +10412,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10910,9 +11066,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11184,6 +11337,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11813,12 +11969,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11908,6 +12058,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11978,6 +12131,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12021,6 +12177,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12109,16 +12268,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12598,6 +12771,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12612,9 +12788,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12807,9 +12980,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12978,21 +13148,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13004,6 +13181,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13021,19 +13206,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13716,9 +13890,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13750,6 +13921,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13758,9 +13932,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13894,6 +14065,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14205,9 +14379,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14301,6 +14472,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14367,6 +14541,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14463,13 +14640,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14592,6 +14772,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14612,9 +14795,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14685,6 +14865,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14718,10 +14907,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15417,6 +15609,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16072,25 +16267,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16639,7 +16933,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17393,25 +17690,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17561,6 +17862,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17731,6 +18035,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17793,14 +18100,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18729,66 +19028,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18801,19 +19040,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18991,6 +19224,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19025,9 +19264,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19070,12 +19306,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19179,6 +19421,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19338,6 +19584,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19450,24 +19815,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19630,63 +19980,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19740,9 +20041,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19967,9 +20321,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20134,6 +20485,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20142,6 +20497,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20254,6 +20641,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20655,6 +21045,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20664,6 +21062,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21095,10 +21496,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21120,6 +21524,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21243,18 +21665,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21287,6 +21697,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21544,6 +21957,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21586,12 +22002,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21917,6 +22342,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22085,6 +22585,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22285,6 +22793,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23079,9 +23632,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23103,7 +23653,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23147,6 +23697,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23162,6 +23721,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23189,6 +23751,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23230,7 +23795,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26658,7 +27223,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26971,6 +27536,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26986,6 +27554,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28327,6 +28907,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28413,15 +28999,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30408,6 +30985,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30996,6 +31576,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/el.po b/i18n/po/el.po
index 40fd273..071067e 100644
--- a/i18n/po/el.po
+++ b/i18n/po/el.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2015-10-14 13:30+0000\n"
-"Last-Translator: aitolos <Unknown>\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-01-25 09:17+0000\n"
+"Last-Translator: Aggelos Arnaoutis <angelosarn at hotmail.com>\n"
 "Language-Team: Greek <el at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:43+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:44+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: el\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -399,6 +399,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr "Αντιστροφή Διαδρομών"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Συνδιασμός {0} διαδρομής"
@@ -456,6 +459,12 @@ msgstr "Διαγραφή"
 msgid "Delete selected objects."
 msgstr "Διαγραφή επιλεγμένων αντικειμένων."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1266,9 +1275,6 @@ msgstr "Πατήστε για επανεκκίνηση αργότερα."
 msgid "Reverse way"
 msgstr "Αντιστροφή διαδρομής"
 
-msgid "Reverse Ways"
-msgstr "Αντιστροφή Διαδρομών"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Αντιστροφή κατεύθυνσης όλων των επιλεγμένων διαδρομών."
 
@@ -1630,6 +1636,16 @@ msgstr ""
 "δημιουργήσει προβλήματα επειδή δεν βλέπετε το πραγματικό "
 "αντικείμενο.<br>Θέλετε πράγματι να κάνετε αποκόλληση?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Αποσύνδεση Κόμβου από Διαδρομή"
 
@@ -2380,6 +2396,11 @@ msgstr "Προσθήκη όλων των επιλεγμένων αντικειμ
 msgid "Add selection to relation"
 msgstr "Προσθήκη της επιλογής σε σχέση"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Προσθήκη της επιλογής σε {0}  σχέση"
@@ -2423,6 +2444,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr "Επιλογή στη λίστα συσχετίσεων"
 
@@ -2780,7 +2810,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3369,9 +3402,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr " (στη γραμμή {0}, στήλη {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 "Η ρύθμιση προτιμήσεων {0} έχει αφαιρεθεί μιας και δεν χρησιμοποιείται πια."
@@ -3431,6 +3461,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "Α"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3658,6 +3691,9 @@ msgstr "κείμενο"
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr " (στη γραμμή {0}, στήλη {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3735,12 +3771,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3750,6 +3798,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "Μερκατορικός"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Swiss Oblique Mercator"
 
@@ -4328,6 +4394,9 @@ msgstr "Μη έγκυρο λευκό κενό στο κλειδί ιδιότητ
 msgid "Property values start or end with white space"
 msgstr "Οι τιμές της ιδιότητας αρχίζουν ή τελειώνουν με κενό"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Οι τιμές της ιδιότητας περιέχουν HTML στοιχεία"
 
@@ -5042,9 +5111,6 @@ msgstr "Προτιμήσεις  υπόβαθρο εικόνων"
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Ήχος"
@@ -5103,12 +5169,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Το γεωγραφικό πλάτος στο σημείο του ποντικιού."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Το γεωγραφικό μήκος στο σημείο του ποντικιού."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Η κατεύθυνση (πυξίδα) του τομέα γραμμής που σχεδιάζεται."
 
@@ -5135,6 +5195,18 @@ msgstr "Χρήστης:"
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Το γεωγραφικό πλάτος στο σημείο του ποντικιού."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Το γεωγραφικό μήκος στο σημείο του ποντικιού."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5971,6 +6043,18 @@ msgstr ""
 "Άνοιγμα διαλόγου συγχώνευσης για όλα τα επιλεγμένα αντικείμενα στην παραπάνω "
 "λίστα."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Εντοπίστηκε {0} διένεξη"
@@ -6090,6 +6174,9 @@ msgstr "Μετακίνηση φίλτρου κάτω."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Φίλτρα Κρυφά:{0} Απενεργοποιημένα:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Σφάλμα στο φίλτρο"
 
@@ -6518,6 +6605,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6878,21 +6968,15 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
+msgid "Download and show the history of the selected objects"
+msgstr "Λήψη και προβολή ιστορικού των επιλεγμένων αντικειμένων"
 
-msgid "Download the changeset content from the OSM server"
-msgstr "Λήψη περιεχομένου ομάδας αλλαγών από τον διακομιστή OSM"
+msgid "Download objects"
+msgstr "Λήψη αντικειμένων"
 
-msgid "Update content"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
-msgstr "Ενημέρωση περιεχομένου ομάδας αλλαγών από τον διακομιστή OSM"
-
-msgid "Download and show the history of the selected objects"
-msgstr "Λήψη και προβολή ιστορικού των επιλεγμένων αντικειμένων"
-
 msgid "Select in layer"
 msgstr ""
 
@@ -6992,6 +7076,18 @@ msgstr "ανοικτό"
 msgid "closed"
 msgstr "κλειστό"
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Λήψη περιεχομένου ομάδας αλλαγών από τον διακομιστή OSM"
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Ενημέρωση περιεχομένου ομάδας αλλαγών από τον διακομιστή OSM"
+
 msgid "Changeset ID: "
 msgstr "Αναγνωριστικό ομάδας Αλλαγών: "
 
@@ -7324,7 +7420,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr "Επεξεργασία Ετικετών"
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7360,6 +7456,9 @@ msgstr "Αντιγραφή όλων των Τιμών/Κλειδιών"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7427,6 +7526,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Ενεργοποίηση"
+
+msgid "Hide"
+msgstr "Κρυψώνα"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7539,9 +7659,6 @@ msgstr "Νέα Σχέση"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7572,110 +7689,85 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-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"
+msgid "Select previous Gap"
 msgstr ""
-"Προσθήκη όλων των επιλεγμένων αντικειμένων πριν το πρώτο επιλεγμένο μέλος"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
-"Προσθήκη όλων των επιλεγμένων αντικειμένων μετά το τελευταίο επιλεγμένο μέλος"
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select next Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Sort the relation members"
-msgstr "Ταξινόμηση των μελών της σχέσης"
-
-msgid "Relation Editor: Sort"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort below"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
-msgstr "Αντιστροφή της σειράς των μελών της σχέσης"
-
-msgid "Reverse"
-msgstr "Αντιστροφή"
-
-msgid "Move the currently selected members up"
-msgstr "Μετακίνηση των επιλεγμένων μελών πάνω"
+msgid "There were {0} conflicts during import."
+msgstr "Υπήρξαν {0} συγκρούσεις κατά την εισαγωγή."
 
-msgid "Relation Editor: Move Up"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr "Μετακίνηση των επιλεγμένων μελών κάτω"
-
-msgid "Relation Editor: Move Down"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Αφαίρεση των ήδη επιλεγμένων μελών από αυτή τη σχέση"
+msgid "Reload"
+msgstr "Επαναφόρτωση"
 
-msgid "Relation Editor: Remove"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Edit the currently selected relation"
 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 ""
+msgid "Apply Changes"
+msgstr "Εφαρμογή αλλαγών"
 
-msgid "Yes, create a conflict and close"
-msgstr ""
+msgid "Create new relation in layer ''{0}''"
+msgstr "Δημιουργία νέας σχέσης στο επίπεδο ''{0}''"
 
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Επεξεργασία νέας σχέσης στο επίπεδο ''{0}''"
 
-msgid "No, continue editing"
-msgstr ""
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Επεξεργασία σχέσης #{0} στο επίπεδο ''{1}''"
 
-msgid "Click to return to the relation editor and to resume relation editing"
+msgid "Load relation"
 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>"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 msgstr ""
+"Προσθήκη όλων των επιλεγμένων αντικειμένων μετά το τελευταίο επιλεγμένο μέλος"
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"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 "Apply the current updates"
 msgstr "Εφαρμογή των τρεχουσών ενημερώσεων"
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7694,6 +7786,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr "Ακύρωση, συνέχιση επεξεργασίας"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7704,7 +7799,10 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr "Μη αποθηκευμένες αλλαγές"
 
-msgid "Add an empty tag"
+msgid "Delete the currently edited relation"
+msgstr ""
+
+msgid "Relation Editor: Download Members"
 msgstr ""
 
 msgid "Download all incomplete members"
@@ -7713,103 +7811,153 @@ msgstr "Κατέβασε όλα τα ημιτελή μέλη"
 msgid "Download Members"
 msgstr "Λήψη μελών"
 
-msgid "Relation Editor: Download Members"
-msgstr ""
-
 msgid "Download selected incomplete members"
 msgstr "Κατέβασε τα επιλεγμένα ημιτελή μέλη"
 
-msgid "Sets a role for the selected members"
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Relation Editor: Move Down"
 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] ""
+msgid "Move the currently selected members down"
+msgstr "Μετακίνηση των επιλεγμένων μελών κάτω"
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Move the currently selected members up"
+msgstr "Μετακίνηση των επιλεγμένων μελών πάνω"
+
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
+"Τα μέλη από το πρόχειρο δεν μπορούν να προστεθούν επειδή δεν περιλαμβάνονται "
+"στο τρέχων επίπεδο"
 
-msgid "No, do not apply"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Refresh"
+msgstr "Ανανέωση"
+
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
 msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
-"Τα μέλη από το πρόχειρο δεν μπορούν να προστεθούν επειδή δεν περιλαμβάνονται "
-"στο τρέχων επίπεδο"
 
-msgid "Select previous Gap"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "Select next Gap"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Remove the currently selected members from this relation"
+msgstr "Αφαίρεση των ήδη επιλεγμένων μελών από αυτή τη σχέση"
+
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Refers to"
+msgid "Reverse the order of the relation members"
+msgstr "Αντιστροφή της σειράς των μελών της σχέσης"
+
+msgid "Reverse"
+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 ""
 
-msgid "Download referring relations"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "Υπήρξαν {0} συγκρούσεις κατά την εισαγωγή."
+msgid "Click to create a conflict and close this relation editor"
+msgstr ""
 
-msgid "including immediate children of parent relations"
+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 ""
 
-msgid "Load parent relations"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
 msgstr ""
 
-msgid "Reload"
-msgstr "Επαναφόρτωση"
+msgid "Select objects for selected relation members"
+msgstr ""
 
-msgid "Loading parent relations"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
 
-msgid "Apply Changes"
-msgstr "Εφαρμογή αλλαγών"
+msgid "Sets a role for the selected members"
+msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Δημιουργία νέας σχέσης στο επίπεδο ''{0}''"
+msgid "Apply Role"
+msgstr ""
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Επεξεργασία νέας σχέσης στο επίπεδο ''{0}''"
+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] ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Επεξεργασία σχέσης #{0} στο επίπεδο ''{1}''"
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
 
-msgid "Load relation"
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr "Ταξινόμηση των μελών της σχέσης"
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -8206,6 +8354,11 @@ msgstr ""
 "<html>Έκδοση <strong>{0}</strong> δημιουργήθηκε στις "
 "<strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8317,10 +8470,14 @@ msgid "Upload"
 msgstr "Αποστολή"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8502,9 +8659,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr "Λήψη αντικειμένων"
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -9055,7 +9209,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} αντικείμενο προς διαγραφή:"
 msgstr[1] "{0} αντικείμενα προς διαγραφή:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -9064,32 +9218,29 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr "Αυτόματη Εστίαση"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Αυτόματη φόρτωση πλακιδίων"
 
-msgid "Load All Tiles"
-msgstr "Φόρτωση όλων των πλακιδίων"
-
-msgid "Load All Error Tiles"
+msgid "Show errors"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Change resolution"
-msgstr "Αλλαγή ανάλυσης"
-
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
-msgstr "Φόρτωση πλακιδίου"
+msgid "Change resolution"
+msgstr "Αλλαγή ανάλυσης"
 
 msgid "Increase zoom"
 msgstr "Άυξηση ζουμ"
@@ -9097,10 +9248,10 @@ msgstr "Άυξηση ζουμ"
 msgid "Decrease zoom"
 msgstr "Μείωση ζουμ"
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9520,6 +9671,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Εξαγωγή τοποθεσιών GPS από EXIF"
 
@@ -9544,9 +9698,6 @@ msgstr "Σφάλμα κατά την λήψη αρχείων από τον κα
 msgid "One of the selected files was null"
 msgstr "Ένα από τα επιλεγμένα αρχεία ήταν κενό"
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9904,9 +10055,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9951,6 +10100,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -10007,11 +10162,6 @@ msgstr "Όνομα Χρήστη: "
 msgid "Password: "
 msgstr "Κωδικός: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -10127,6 +10277,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10488,6 +10644,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr "προσθήκη καταχώρισης"
+
+msgid "Remove the selected entry"
+msgstr "Αφαίρεση της επιλεγμένης καταχώρησης"
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "Προχωρημένες προτιμήσεις"
 
@@ -10569,18 +10734,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr "προσθήκη καταχώρισης"
-
-msgid "Remove the selected entry"
-msgstr "Αφαίρεση της επιλεγμένης καταχώρησης"
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -11245,9 +11401,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr "Όνομα μενού"
 
@@ -11524,6 +11677,9 @@ msgid_plural ""
 msgstr[0] "Η λήψη του παρακάτω πρόσθετου <strong>απέτυχε</strong>:"
 msgstr[1] "Η λήψη των παρακάτω {0} πρόσθετων <strong>απέτυχε</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 "Παρακαλώ επανεκκινήστε τον JOSM για να ενεργοποιηθούν τα ληφθέντα πρόσθετα"
@@ -12167,12 +12323,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr "Ενέργεια"
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Θρησκεία"
 
@@ -12263,6 +12413,9 @@ msgstr "Χρήση προεπιλογής \"{0}\""
 msgid "Elements of type {0} are supported."
 msgstr "Υποστηρίζονται στοιχεία τύπου {0}."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12333,6 +12486,9 @@ msgstr ""
 msgid "Presets"
 msgstr "Προεπιλογές"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12376,6 +12532,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Περισότερες πληροφορίες για αυτό το χαρακτηριστικό"
 
@@ -12464,16 +12623,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12957,6 +13130,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "Αρχεία Διακομιστή OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12971,9 +13147,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr "Αρχεία Διακομιστή OSM"
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -13168,9 +13341,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13346,21 +13516,28 @@ msgstr ""
 "Ζητήθηκε από τον Τηλεχειρισμό να αναφέρει την έκδοση πρωτοκόλλου του. Αυτό "
 "επιτρέπει σε ιστοσελίδες να εντοπίζουν έναν εκτελούμενο JOSM."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13372,6 +13549,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13389,19 +13574,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -14103,9 +14277,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -14137,6 +14308,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -14145,9 +14319,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -14281,7 +14452,10 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
-msgid "ms"
+msgid "Unable to create directory {0}"
+msgstr ""
+
+msgid "ms"
 msgstr ""
 
 msgid "s"
@@ -14592,9 +14766,6 @@ msgstr "Άνοιγμα επιλεγμένου αρχείου"
 msgid "Open selected file."
 msgstr "Άνοιγμα επιλεγμένου αρχείου."
 
-msgid "Refresh"
-msgstr "Ανανέωση"
-
 msgid "Rename File"
 msgstr "Μετονομασία Αρχείου"
 
@@ -14688,6 +14859,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Δημόσια συγκοινωνία (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Ορειβασία & ποδήλατο"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (γερμανικό στιλ)"
 
@@ -14754,6 +14928,9 @@ msgstr "Επιθεωρητής OSM: Διευθύνσεις"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "Επιθεωρητής OSM: Σύνορα (ΕΕ)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14850,13 +15027,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14979,6 +15159,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14999,9 +15182,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr "Ορειβασία & ποδήλατο"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -15072,6 +15252,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -15105,10 +15294,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15804,6 +15996,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16462,6 +16657,105 @@ msgstr "περιορισμένο"
 msgid "Brand"
 msgstr "Μάρκα"
 
+msgid "Cuisine"
+msgstr "Κουζίνα"
+
+msgid "italian"
+msgstr "ιταλική"
+
+msgid "chinese"
+msgstr "κινέζικη"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "μπιφτέκι"
+
+msgid "greek"
+msgstr "ελληνική"
+
+msgid "german"
+msgstr "γερμανική"
+
+msgid "indian"
+msgstr "ινδική"
+
+msgid "regional"
+msgstr "τοπική"
+
+msgid "kebab"
+msgstr "κεμπάπ"
+
+msgid "turkish"
+msgstr "τουρκική"
+
+msgid "asian"
+msgstr "ασιατική"
+
+msgid "thai"
+msgstr "ταϊλανδέζικη"
+
+msgid "mexican"
+msgstr "μεξικάνικη"
+
+msgid "japanese"
+msgstr "ιαπωνική"
+
+msgid "french"
+msgstr "Γαλλική"
+
+msgid "sandwich"
+msgstr "σάντουιτς"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "σούσι"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr "κοτόπουλο"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Πρόσβαση στο διαδίκτυο"
 
@@ -17029,7 +17323,10 @@ msgstr "Μεγ. βάρος (τόνοι)"
 msgid "Toll"
 msgstr "Διόδια"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17783,25 +18080,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
 msgstr ""
 
-msgid "chicane"
+msgid "Choker"
 msgstr ""
 
-msgid "choker"
+msgid "Cushion"
 msgstr ""
 
-msgid "cushion"
+msgid "Hump"
 msgstr ""
 
-msgid "hump"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17951,6 +18252,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -18121,6 +18425,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Ακτογραμμή"
 
@@ -18183,14 +18490,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Γκρεμός"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18976,10 +19275,10 @@ msgid "Reference (track number)"
 msgstr ""
 
 msgid "Bus Station"
-msgstr "Σταθμός Λεωφορείων"
+msgstr "Σταθμός λεωφορείων"
 
 msgid "Bus Stop"
-msgstr "Στάση Λεωφορείου"
+msgstr "Στάση λεωφορείου"
 
 msgid "Tactile Paving"
 msgstr ""
@@ -19119,66 +19418,6 @@ msgstr "Φαγητό+Ποτά"
 msgid "Restaurant"
 msgstr "Εστιατόριο"
 
-msgid "Cuisine"
-msgstr "Κουζίνα"
-
-msgid "italian"
-msgstr "ιταλική"
-
-msgid "chinese"
-msgstr "κινέζικη"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "μπιφτέκι"
-
-msgid "greek"
-msgstr "ελληνική"
-
-msgid "german"
-msgstr "γερμανική"
-
-msgid "indian"
-msgstr "ινδική"
-
-msgid "regional"
-msgstr "τοπική"
-
-msgid "kebab"
-msgstr "κεμπάπ"
-
-msgid "turkish"
-msgstr "τουρκική"
-
-msgid "asian"
-msgstr "ασιατική"
-
-msgid "thai"
-msgstr "ταϊλανδέζικη"
-
-msgid "mexican"
-msgstr "μεξικάνικη"
-
-msgid "japanese"
-msgstr "ιαπωνική"
-
-msgid "french"
-msgstr "Γαλλική"
-
-msgid "sandwich"
-msgstr "σάντουιτς"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "σούσι"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -19191,19 +19430,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Fast Food"
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr "κοτόπουλο"
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "Καφέ"
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19381,6 +19614,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Σάουνα"
 
@@ -19415,9 +19654,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Ψάρεμα"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19460,12 +19696,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr "ήχος"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "βίντεο"
 
@@ -19569,6 +19811,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19726,7 +19972,126 @@ msgid "(Use international code, like +12-345-67890)"
 msgstr "(Χρησιμοποιήστε διεθνή κωδικό, όπως +12-345-67890)"
 
 msgid "Veterinary"
-msgstr "Κτηνιατρίο"
+msgstr "Κτηνιατρείο"
+
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "υπόγειο"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "πράσινο"
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Τηλέφωνο εκτάκτου ανάγκης"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
 
 msgid "Social Facility"
 msgstr ""
@@ -19840,24 +20205,9 @@ msgstr "Χαρτονομίσματα"
 msgid "Telephone cards"
 msgstr "Τηλεκάρτες"
 
-msgid "Emergency Phone"
-msgstr "Τηλέφωνο εκτάκτου ανάγκης"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr "Ρολόι"
 
@@ -20020,63 +20370,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Κρυψώνα"
+msgstr ""
 
 msgid "Lock"
 msgstr "Κλειδαριά"
 
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "υπόγειο"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "πράσινο"
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
-msgstr ""
-
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -20130,9 +20431,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "Πίστα"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Μίνι Golf"
 
@@ -20357,9 +20711,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr ""
 
@@ -20524,6 +20875,10 @@ msgid "gasometer"
 msgstr "Μετρητής αερίου"
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20532,6 +20887,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Stufen"
 
@@ -20644,6 +21031,9 @@ msgstr "Ανεμόμυλος"
 msgid "Gasometer"
 msgstr "Μετρητής αερίου"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -21045,6 +21435,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -21054,6 +21452,9 @@ msgstr "Ερείπια"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Ενέργεια"
+
 msgid "Power Plant"
 msgstr "Εργοστάσιο ηλεκτρισμού"
 
@@ -21485,11 +21886,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
-msgstr "Κιβώτιο Διανομής Καλωδίων"
+msgid "Power Street Cabinet"
+msgstr ""
+
+msgid "Transformer Tower"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Πυλώνας Ρεύματος"
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21510,6 +21914,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Πυλώνας Ρεύματος"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21633,18 +22055,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21677,6 +22087,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Αγωγός Μεταφοράς Ρεύματος"
 
@@ -21934,6 +22347,9 @@ msgstr "Έπιπλα"
 msgid "Kitchen"
 msgstr "Κουζίνα"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Κουρτίνες"
 
@@ -21976,12 +22392,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Χημείο"
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -22307,6 +22732,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Γεωγραφία"
 
@@ -22475,6 +22975,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Γκρεμός"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Είσοδος σπηλαίου"
 
@@ -22675,6 +23183,51 @@ msgstr "Λειβάδι"
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Αμπελώνας"
 
@@ -23469,9 +24022,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr "{0} είναι παρωχημένο"
 
@@ -23493,7 +24043,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23537,6 +24087,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23552,6 +24111,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23579,6 +24141,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23620,7 +24185,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -27073,7 +27638,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27386,6 +27951,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27401,6 +27969,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Μετρημένες τιμές"
 
@@ -28744,6 +29324,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr "Μη έγκυρη τιμή"
+
 msgid "added"
 msgstr "προστέθηκε"
 
@@ -28832,15 +29418,6 @@ msgstr ""
 msgid "Join"
 msgstr "Σύνδεση"
 
-msgid "Enable"
-msgstr "Ενεργοποίηση"
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr "Μη έγκυρη τιμή"
-
 msgid "moved"
 msgstr ""
 
@@ -30867,6 +31444,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Εξαγωγή κόμβου"
 
@@ -31466,6 +32046,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/en_AU.po b/i18n/po/en_AU.po
index 4396ff2..9909669 100644
--- a/i18n/po/en_AU.po
+++ b/i18n/po/en_AU.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-06-08 12:52+0000\n"
 "Last-Translator: Mark Pulley <mrpulley at lizzy.com.au>\n"
 "Language-Team: English (Australia) <en_AU at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:07+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:07+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -401,6 +401,9 @@ msgstr ""
 "Could not combine ways<br>(They could not be merged into a single string of "
 "nodes)"
 
+msgid "Reverse Ways"
+msgstr "Reverse Ways"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Combine {0} way"
@@ -458,6 +461,12 @@ msgstr "Delete"
 msgid "Delete selected objects."
 msgstr "Delete selected objects."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Toggle dialogues panel"
 
@@ -1256,9 +1265,6 @@ msgstr "Click to restart later."
 msgid "Reverse way"
 msgstr "Reverse way"
 
-msgid "Reverse Ways"
-msgstr "Reverse Ways"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Reverse the direction of all selected ways."
 
@@ -1620,6 +1626,16 @@ msgstr ""
 "You are about to unglue incomplete objects.<br>This will cause problems "
 "because you don''t see the real object.<br>Do you really want to unglue?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Disconnect Node from Way"
 
@@ -2390,6 +2406,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Add selection to relation"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Add selection to {0} relation"
@@ -2435,6 +2456,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Confirmation"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Relation Editor: {0}"
+
 msgid "Select in relation list"
 msgstr "Select in relation list"
 
@@ -2805,8 +2835,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr "Range of primitive ids expected"
@@ -3422,9 +3455,6 @@ msgstr ""
 "Try enabling IPv6 network, preferring IPv6 over IPv4 (only works on early "
 "startup)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (at line {0}, column {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Preference setting {0} has been removed since it is no longer used."
 
@@ -3483,6 +3513,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 
@@ -3729,6 +3762,9 @@ msgstr "text"
 msgid "areatext"
 msgstr "areatext"
 
+msgid " (at line {0}, column {1})"
+msgstr " (at line {0}, column {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3808,12 +3844,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parameter ''{0}'' required."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Lambert Conformal Conic"
 
@@ -3823,6 +3871,24 @@ msgstr "Lat/lon (Geodetic)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Swiss Oblique Mercator"
 
@@ -4416,6 +4482,9 @@ msgstr "Invalid white space in property key"
 msgid "Property values start or end with white space"
 msgstr "Property values start or end with white space"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Property values contain HTML entity"
 
@@ -5137,9 +5206,6 @@ msgstr "Imagery preferences"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Click to open the imagery tab in the preferences"
 
-msgid "Search menu items"
-msgstr "Search menu items"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -5198,12 +5264,6 @@ msgstr "Status bar foreground: active"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "The geographic latitude at the mouse pointer."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "The geographic longitude at the mouse pointer."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "The (compass) heading of the line segment being drawn."
 
@@ -5232,6 +5292,18 @@ msgstr "User:"
 msgid "Do not hide status bar"
 msgstr "Do not hide status bar"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "The geographic latitude at the mouse pointer."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "The geographic longitude at the mouse pointer."
+
 msgid "System of measurement changed to {0}"
 msgstr "System of measurement changed to {0}"
 
@@ -6117,6 +6189,18 @@ msgstr "Resolve"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "Open a merge dialogue of all selected items in the list above."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "There was {0} conflict detected."
@@ -6239,6 +6323,9 @@ msgstr "Move filter down."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filter Hidden:{0} Disabled:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Error in filter"
 
@@ -6677,6 +6764,9 @@ msgstr "Style settings"
 msgid "Customize the style"
 msgstr "Customize the style"
 
+msgid "Search menu items"
+msgstr "Search menu items"
+
 msgid "Mini map"
 msgstr ""
 
@@ -7035,21 +7125,15 @@ msgstr[1] ""
 "<html>None of the selected objects is available in the current<br>edit layer "
 "''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Download content"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Download the changeset content from the OSM server"
-
-msgid "Update content"
-msgstr "Update content"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Update the changeset content from the OSM server"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Download and show the history of the selected objects"
 
+msgid "Download objects"
+msgstr "Download objects"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "Select in layer"
 
@@ -7155,6 +7239,18 @@ msgstr "open"
 msgid "closed"
 msgstr "closed"
 
+msgid "Download content"
+msgstr "Download content"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Download the changeset content from the OSM server"
+
+msgid "Update content"
+msgstr "Update content"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Update the changeset content from the OSM server"
+
 msgid "Changeset ID: "
 msgstr "Changeset ID: "
 
@@ -7518,8 +7614,8 @@ msgstr "Edit the value of the selected key for all objects"
 msgid "Edit Tags"
 msgstr "Edit Tags"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Launch browser with wiki help for selected object"
@@ -7554,6 +7650,9 @@ msgstr "Copy all Keys/Values"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Copy the key and value of all the tags to clipboard"
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Search Key/Value/Type"
 
@@ -7623,6 +7722,27 @@ msgstr "Set number of recently added tags"
 msgid "Remember last used tags after a restart"
 msgstr "Remember last used tags after a restart"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr "Hide"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "to apply first suggestion"
 
@@ -7737,9 +7857,6 @@ msgstr "New Relation"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Relation Editor: {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 "
@@ -7779,124 +7896,88 @@ msgstr ""
 "circular references and is therefore discouraged.<br>Skipping relation "
 "''{0}''.</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
+msgstr "Select previous Gap"
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
-msgstr ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Select the previous relation member which gives rise to a gap"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
+msgstr "Select next Gap"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Select the next relation member which gives rise to a gap"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
+msgstr "Zoom to Gap"
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
+msgstr "Zoom to the gap in the way sequence"
 
-msgid "Select objects for selected relation members"
-msgstr "Select objects for selected relation members"
+msgid "Refers to"
+msgstr "Refers to"
 
-msgid "Sort the relation members"
-msgstr "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
 
-msgid "Relation Editor: Sort"
-msgstr "Relation Editor: Sort"
+msgid "Download referring relations"
+msgstr "Download referring relations"
 
-msgid "Sort below"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "There were {0} conflicts during import."
 
-msgid "Sort the selected relation members and all members below"
-msgstr ""
+msgid "including immediate children of parent relations"
+msgstr "including immediate children of parent relations"
 
-msgid "Reverse the order of the relation members"
-msgstr "Reverse the order of the relation members"
+msgid "Load parent relations"
+msgstr "Load parent relations"
 
-msgid "Reverse"
-msgstr "Reverse"
+msgid "Reload"
+msgstr "Reload"
 
-msgid "Move the currently selected members up"
-msgstr "Move the currently selected members up"
+msgid "Loading parent relations"
+msgstr "Loading parent relations"
 
-msgid "Relation Editor: Move Up"
-msgstr "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
+msgstr "Edit the currently selected relation"
 
-msgid "Move the currently selected members down"
-msgstr "Move the currently selected members down"
+msgid "Apply Changes"
+msgstr "Apply Changes"
 
-msgid "Relation Editor: Move Down"
-msgstr "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
+msgstr "Create new relation in layer ''{0}''"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Edit new relation in layer ''{0}''"
 
-msgid "Relation Editor: Remove"
-msgstr "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Edit relation #{0} in layer ''{1}''"
 
-msgid "Delete the currently edited relation"
-msgstr "Delete the currently edited relation"
+msgid "Load relation"
+msgstr "Load relation"
 
 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."
+"Add all objects selected in the current dataset after the last selected "
+"member"
 msgstr ""
-"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."
-
-msgid "Yes, create a conflict and close"
-msgstr "Yes, create a conflict and close"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 
-msgid "Click to create a conflict and close this relation editor"
-msgstr "Click to create a conflict and close this relation editor"
-
-msgid "No, continue editing"
-msgstr "No, continue editing"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Click to return to the relation editor and to resume relation editing"
-
-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>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>"
+msgid ""
+"Add all objects selected in the current dataset before the first member"
+msgstr ""
+"Add all objects selected in the current dataset before the first member"
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 
 msgid "Apply the current updates"
 msgstr "Apply the current updates"
 
-msgid "Apply the updates and close the dialog"
-msgstr "Apply the updates and close the dialogue"
-
 msgid "Cancel the updates and close the dialog"
 msgstr "Cancel the updates and close the dialogue"
 
@@ -7915,6 +7996,10 @@ msgstr "Click to discard the changes and close this relation editor"
 msgid "Cancel, continue editing"
 msgstr "Cancel, continue editing"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+"Click to return to the relation editor and to resume relation editing"
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7925,8 +8010,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr "Unsaved changes"
 
-msgid "Add an empty tag"
-msgstr "Add an empty tag"
+msgid "Delete the currently edited relation"
+msgstr "Delete the currently edited relation"
+
+msgid "Relation Editor: Download Members"
+msgstr "Relation Editor: Download Members"
 
 msgid "Download all incomplete members"
 msgstr "Download all incomplete members"
@@ -7934,40 +8022,26 @@ msgstr "Download all incomplete members"
 msgid "Download Members"
 msgstr "Download Members"
 
-msgid "Relation Editor: Download Members"
-msgstr "Relation Editor: Download Members"
-
 msgid "Download selected incomplete members"
 msgstr "Download selected incomplete members"
 
-msgid "Sets a role for the selected members"
-msgstr "Sets a role for the selected members"
-
-msgid "Apply Role"
-msgstr "Apply Role"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "You are setting an empty role on {0} object."
-msgstr[1] "You are setting an empty role on {0} objects."
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Edit the relation the currently selected relation member refers to"
 
-msgid "Do you really want to apply the new role?"
-msgstr "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
+msgstr "Relation Editor: Move Down"
 
-msgid "Yes, apply it"
-msgstr "Yes, apply it"
+msgid "Move the currently selected members down"
+msgstr "Move the currently selected members down"
 
-msgid "No, do not apply"
-msgstr "No, do not apply"
+msgid "Relation Editor: Move Up"
+msgstr "Relation Editor: Move Up"
 
-msgid "Confirm empty role"
-msgstr "Confirm empty role"
+msgid "Move the currently selected members up"
+msgstr "Move the currently selected members up"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
+msgstr "Apply the updates and close the dialogue"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
@@ -7976,62 +8050,136 @@ msgstr ""
 "Members from paste buffer cannot be added because they are not included in "
 "current layer"
 
-msgid "Select previous Gap"
-msgstr "Select previous Gap"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
+msgstr ""
 
-msgid "Select next Gap"
-msgstr "Select next Gap"
+msgid "Refresh"
+msgstr "Refresh"
 
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
+msgstr ""
 
-msgid "Zoom to Gap"
-msgstr "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
-msgstr "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
 
-msgid "Refers to"
-msgstr "Refers to"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Download referring relations"
-msgstr "Download referring relations"
+msgid "No, continue editing"
+msgstr "No, continue editing"
 
-msgid "There were {0} conflicts during import."
-msgstr "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "including immediate children of parent relations"
-msgstr "including immediate children of parent relations"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "Load parent relations"
-msgstr "Load parent relations"
+msgid "Relation Editor: Remove"
+msgstr "Relation Editor: Remove"
 
-msgid "Reload"
-msgstr "Reload"
+msgid "Remove the currently selected members from this relation"
+msgstr "Remove the currently selected members from this relation"
 
-msgid "Loading parent relations"
-msgstr "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Remove all members referring to one of the selected objects"
 
-msgid "Edit the currently selected relation"
-msgstr "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
+msgstr "Reverse the order of the relation members"
 
-msgid "Apply Changes"
-msgstr "Apply Changes"
+msgid "Reverse"
+msgstr "Reverse"
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Create new relation in layer ''{0}''"
+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 ""
+"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."
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
+msgstr "Yes, create a conflict and close"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
+msgstr "Click to create a conflict and close this relation editor"
 
-msgid "Load relation"
-msgstr "Load relation"
+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>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>"
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+
+msgid "Select objects for selected relation members"
+msgstr "Select objects for selected relation members"
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+"Select relation members which refer to objects in the current selection"
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Select relation members which refer to {0} objects in the current selection"
+
+msgid "Sets a role for the selected members"
+msgstr "Sets a role for the selected members"
+
+msgid "Apply Role"
+msgstr "Apply Role"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "You are setting an empty role on {0} object."
+msgstr[1] "You are setting an empty role on {0} objects."
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "This is equal to deleting the roles of these objects."
+
+msgid "Do you really want to apply the new role?"
+msgstr "Do you really want to apply the new role?"
+
+msgid "Yes, apply it"
+msgstr "Yes, apply it"
+
+msgid "No, do not apply"
+msgstr "No, do not apply"
+
+msgid "Confirm empty role"
+msgstr "Confirm empty role"
+
+msgid "Relation Editor: Sort"
+msgstr "Relation Editor: Sort"
+
+msgid "Sort the relation members"
+msgstr "Sort the relation members"
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "way is connected"
@@ -8453,6 +8601,11 @@ msgid ""
 msgstr ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "Changeset"
 
@@ -8577,15 +8730,15 @@ msgid "Upload"
 msgstr "Upload"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Provide a brief comment for the changes you are uploading:"
@@ -8782,9 +8935,6 @@ msgid ""
 msgstr ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 
-msgid "Download objects"
-msgstr "Download objects"
-
 msgid "Initializing nodes to download ..."
 msgstr "Initialising nodes to download ..."
 
@@ -9371,8 +9521,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} object to delete:"
 msgstr[1] "{0} objects to delete:"
 
-msgid "Show Tile Info"
-msgstr "Show Tile Info"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr "Tile Info"
@@ -9380,17 +9530,23 @@ msgstr "Tile Info"
 msgid "Metadata "
 msgstr "Metadata "
 
-msgid "Auto Zoom"
-msgstr "Auto Zoom"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Auto load tiles"
 
-msgid "Load All Tiles"
-msgstr "Load All Tiles"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "Load All Error Tiles"
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "Zoom to native resolution"
@@ -9398,26 +9554,17 @@ msgstr "Zoom to native resolution"
 msgid "Change resolution"
 msgstr "Change resolution"
 
-msgid "Failed to create tile source"
-msgstr ""
-
-msgid "Show Errors"
-msgstr "Show Errors"
-
-msgid "Load Tile"
-msgstr "Load Tile"
-
 msgid "Increase zoom"
 msgstr "Increase zoom"
 
 msgid "Decrease zoom"
 msgstr "Decrease zoom"
 
-msgid "Snap to tile size"
-msgstr "Snap to tile size"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Flush Tile Cache"
+msgid "Failed to create tile source"
+msgstr ""
 
 msgid "zoom in to load any tiles"
 msgstr "zoom in to load any tiles"
@@ -9853,6 +10000,9 @@ msgstr ""
 "Error while parsing offset.\n"
 "Expected format: {0}"
 
+msgid "Geotagged Images"
+msgstr "Geotagged Images"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Extracting GPS locations from EXIF"
 
@@ -9877,9 +10027,6 @@ msgstr "Error while getting files from directory {0}\n"
 msgid "One of the selected files was null"
 msgstr "One of the selected files was null"
 
-msgid "Geotagged Images"
-msgstr "Geotagged Images"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} image loaded."
@@ -10268,12 +10415,8 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Illegal dash pattern, values must be positive"
@@ -10320,6 +10463,12 @@ msgstr "Access Token URL:"
 msgid "Authorize URL:"
 msgstr "Authorise URL:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Click to reset the OAuth settings to default values"
 
@@ -10393,13 +10542,6 @@ msgstr "Username: "
 msgid "Password: "
 msgstr "Password: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-
 msgid "Granted rights"
 msgstr "Granted rights"
 
@@ -10537,6 +10679,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Please select an authorisation procedure: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Get an Access Token for ''{0}''"
 
@@ -10933,6 +11081,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "Advanced Preferences"
 
@@ -11014,18 +11171,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -11705,9 +11853,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr "Please select at least one row to copy."
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr "Menu Name"
 
@@ -11987,6 +12132,9 @@ msgstr[0] "Downloading the following plug-in has <strong>failed</strong>:"
 msgstr[1] ""
 "Downloading the following {0} plug-ins has <strong>failed</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Error message(untranslated): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Please restart JOSM to activate the downloaded plug-ins."
 
@@ -12643,12 +12791,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Religion"
 
@@ -12738,6 +12880,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr "Elements of type {0} are supported."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12808,6 +12953,9 @@ msgstr ""
 msgid "Presets"
 msgstr "Presets"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12851,6 +12999,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "More information about this feature"
 
@@ -12946,17 +13097,31 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "false: the property is explicitly switched off"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "true: the property is explicitly switched on"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "partial: different selected objects have different values, do not change"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "unset: do not set this property on the selected objects"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -13460,6 +13625,9 @@ msgstr "Failed to sign a HTTP connection with an OAuth Authentication header"
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "OSM Server Files"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>An error occurred while saving.<br>Error is: <br>{0}</html>"
 
@@ -13476,9 +13644,6 @@ msgstr "OSM Server Files gzip compressed"
 msgid "Parsing OSM history data ..."
 msgstr "Parsing OSM history data ..."
 
-msgid "OSM Server Files"
-msgstr "OSM Server Files"
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -13678,9 +13843,6 @@ msgstr "Uploading data ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Unexpected id 0 for osm primitive found"
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13853,21 +14015,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13879,6 +14048,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13896,19 +14073,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -14659,9 +14825,6 @@ msgstr ""
 "large.<br>Either request a smaller area or use an export file provided by "
 "the OSM community."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Error message(untranslated): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -14701,6 +14864,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Unable to find translation for the locale {0}. Reverting to {1}."
 
@@ -14711,9 +14877,6 @@ msgstr ""
 "Fatal: failed to locate image ''{0}''. This is a serious configuration "
 "problem. JOSM will stop working."
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -14849,6 +15012,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -15169,9 +15335,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr "Refresh"
-
 msgid "Rename File"
 msgstr ""
 
@@ -15265,6 +15428,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -15331,6 +15497,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -15427,13 +15596,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -15556,6 +15728,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -15576,9 +15751,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -15649,6 +15821,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -15682,10 +15863,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -16383,6 +16567,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Create a grid of ways."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -17066,6 +17253,105 @@ msgstr "limited"
 msgid "Brand"
 msgstr ""
 
+msgid "Cuisine"
+msgstr "Cuisine"
+
+msgid "italian"
+msgstr "italian"
+
+msgid "chinese"
+msgstr "chinese"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "burger"
+
+msgid "greek"
+msgstr "greek"
+
+msgid "german"
+msgstr "german"
+
+msgid "indian"
+msgstr "indian"
+
+msgid "regional"
+msgstr "regional"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turkish"
+
+msgid "asian"
+msgstr "asian"
+
+msgid "thai"
+msgstr "thai"
+
+msgid "mexican"
+msgstr "mexican"
+
+msgid "japanese"
+msgstr "japanese"
+
+msgid "french"
+msgstr "french"
+
+msgid "sandwich"
+msgstr "sandwich"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "fish_and_chips"
+
+msgid "chicken"
+msgstr "chicken"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr ""
 
@@ -17633,7 +17919,10 @@ msgstr "Max. weight (tonnes)"
 msgid "Toll"
 msgstr "Toll"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -18387,26 +18676,30 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Traffic Calming"
 
-msgid "bump"
-msgstr "bump"
+msgid "Bump"
+msgstr ""
 
-msgid "chicane"
-msgstr "chicane"
+msgid "Chicane"
+msgstr ""
 
-msgid "choker"
-msgstr "choker"
+msgid "Choker"
+msgstr ""
 
-msgid "cushion"
-msgstr "cushion"
+msgid "Cushion"
+msgstr ""
 
-msgid "hump"
-msgstr "hump"
+msgid "Hump"
+msgstr ""
 
-msgid "rumble_strip"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "table"
-msgstr "table"
+msgid "Rumble strip"
+msgstr ""
+
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Passing Place"
@@ -18555,6 +18848,9 @@ msgstr "City Wall"
 msgid "Retaining Wall"
 msgstr "Retaining Wall"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -18725,6 +19021,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Coastline"
 
@@ -18787,14 +19086,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Cliff"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -19723,66 +20014,6 @@ msgstr "Food+Drinks"
 msgid "Restaurant"
 msgstr "Restaurant"
 
-msgid "Cuisine"
-msgstr "Cuisine"
-
-msgid "italian"
-msgstr "italian"
-
-msgid "chinese"
-msgstr "chinese"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "burger"
-
-msgid "greek"
-msgstr "greek"
-
-msgid "german"
-msgstr "german"
-
-msgid "indian"
-msgstr "indian"
-
-msgid "regional"
-msgstr "regional"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turkish"
-
-msgid "asian"
-msgstr "asian"
-
-msgid "thai"
-msgstr "thai"
-
-msgid "mexican"
-msgstr "mexican"
-
-msgid "japanese"
-msgstr "japanese"
-
-msgid "french"
-msgstr "french"
-
-msgid "sandwich"
-msgstr "sandwich"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -19795,19 +20026,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Fast Food"
 
-msgid "fish_and_chips"
-msgstr "fish_and_chips"
-
-msgid "chicken"
-msgstr "chicken"
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "Cafe"
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19985,6 +20210,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "Water Park"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -20019,9 +20250,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Fishing"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -20064,12 +20292,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -20173,6 +20407,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -20332,6 +20570,125 @@ msgstr "(Use international code, like +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinary"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Fire Hydrant"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Emergency Phone"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -20444,24 +20801,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "Telephone cards"
 
-msgid "Emergency Phone"
-msgstr "Emergency Phone"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -20624,63 +20966,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Hide"
-
-msgid "Lock"
-msgstr "Lock"
-
-msgid "Indoor"
 msgstr ""
 
-msgid "Fire Hydrant"
-msgstr "Fire Hydrant"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
-msgstr ""
+msgid "Lock"
+msgstr "Lock"
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -20734,9 +21027,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "Racetrack"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golf Course"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Miniature Golf"
 
@@ -20961,9 +21307,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golf_course"
 
@@ -21128,6 +21471,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -21136,6 +21483,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -21248,6 +21627,9 @@ msgstr "Windmill"
 msgid "Gasometer"
 msgstr "Gasometer"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -21649,6 +22031,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -21658,6 +22048,9 @@ msgstr "Ruins"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -22089,11 +22482,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
-msgstr "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -22114,6 +22510,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Power Tower"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -22237,18 +22651,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -22281,6 +22683,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Power Line"
 
@@ -22538,6 +22943,9 @@ msgstr "Furniture"
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -22580,12 +22988,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Chemist"
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -22911,6 +23328,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geography"
 
@@ -23079,6 +23571,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Cliff"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Cave Entrance"
 
@@ -23279,6 +23779,51 @@ msgstr "Meadow"
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Vineyard"
 
@@ -24073,9 +24618,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -24097,7 +24639,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -24141,6 +24683,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -24156,6 +24707,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -24183,6 +24737,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -24224,7 +24781,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -27712,7 +28269,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -28025,6 +28582,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -28040,6 +28600,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Measured values"
 
@@ -29388,6 +29960,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -29474,15 +30052,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -31474,6 +32043,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -32074,6 +32646,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/en_CA.po b/i18n/po/en_CA.po
index 7a9835a..8c30f3c 100644
--- a/i18n/po/en_CA.po
+++ b/i18n/po/en_CA.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 05:09+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:08+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -390,6 +390,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -447,6 +450,12 @@ msgstr "Delete"
 msgid "Delete selected objects."
 msgstr "Delete selected objects."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1178,9 +1187,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1513,6 +1519,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2231,6 +2247,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2272,6 +2293,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2626,7 +2656,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3189,9 +3222,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3250,6 +3280,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3477,6 +3510,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3554,12 +3590,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3569,6 +3617,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4135,6 +4201,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4829,9 +4898,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4890,12 +4956,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4922,6 +4982,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5741,6 +5813,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5857,6 +5941,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6282,6 +6369,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6629,19 +6719,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6743,6 +6827,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7070,7 +7166,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7106,6 +7202,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7173,6 +7272,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7285,9 +7405,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7318,108 +7435,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7438,6 +7530,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7446,48 +7541,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7495,61 +7579,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7937,6 +8085,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8040,10 +8193,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8223,9 +8380,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8738,7 +8892,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8747,31 +8901,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8780,10 +8931,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9203,6 +9354,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9227,9 +9381,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9580,9 +9731,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9627,6 +9776,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9683,11 +9838,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9803,6 +9953,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10163,6 +10319,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10244,18 +10409,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10907,9 +11063,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11181,6 +11334,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11810,12 +11966,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11905,6 +12055,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11975,6 +12128,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12018,6 +12174,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12106,16 +12265,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12595,6 +12768,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12609,9 +12785,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12804,9 +12977,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12975,21 +13145,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13001,6 +13178,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13018,19 +13203,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13713,9 +13887,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13747,6 +13918,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13755,9 +13929,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13891,6 +14062,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14199,9 +14373,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14295,6 +14466,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14361,6 +14535,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14457,13 +14634,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14586,6 +14766,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14606,9 +14789,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14679,6 +14859,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14712,10 +14901,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15411,6 +15603,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16066,25 +16261,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16633,7 +16927,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17387,25 +17684,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17555,6 +17856,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17725,6 +18029,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17787,14 +18094,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18723,66 +19022,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18795,19 +19034,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18985,6 +19218,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19019,9 +19258,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19064,12 +19300,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19173,6 +19415,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19332,6 +19578,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19444,24 +19809,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19624,63 +19974,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19734,9 +20035,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19961,9 +20315,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20128,6 +20479,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20136,6 +20491,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20248,6 +20635,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20649,6 +21039,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20658,6 +21056,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21089,10 +21490,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21114,6 +21518,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21237,18 +21659,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21281,6 +21691,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21538,6 +21951,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21580,12 +21996,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21911,6 +22336,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22079,6 +22579,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22279,6 +22787,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23073,9 +23626,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23097,7 +23647,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23141,6 +23691,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23156,6 +23715,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23183,6 +23745,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23224,7 +23789,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26648,7 +27213,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26961,6 +27526,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26976,6 +27544,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28317,6 +28897,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28403,15 +28989,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30398,6 +30975,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30986,6 +31566,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/en_GB.po b/i18n/po/en_GB.po
index f8e9352..e1d9d30 100644
--- a/i18n/po/en_GB.po
+++ b/i18n/po/en_GB.po
@@ -10,16 +10,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: JOSM\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2015-11-30 15:31+0000\n"
-"Last-Translator: Andi Chandler <Unknown>\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-10 12:27+0000\n"
+"Last-Translator: Dee-earlsoft <Unknown>\n"
 "Language-Team: German <josm-dev at openstreetmap.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:07+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:06+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: de\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -404,6 +404,9 @@ msgstr ""
 "Could not combine ways<br>(They could not be merged into a single string of "
 "nodes)"
 
+msgid "Reverse Ways"
+msgstr "Reverse Ways"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Combine {0} way"
@@ -461,6 +464,12 @@ msgstr "Delete"
 msgid "Delete selected objects."
 msgstr "Delete selected objects."
 
+msgid "Delete Layer"
+msgstr "Delete Layer"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Delete the active layer. Does not delete the associated file."
+
 msgid "Toggle dialogs panel"
 msgstr "Toggle dialogues panel"
 
@@ -1259,9 +1268,6 @@ msgstr "Click to restart later."
 msgid "Reverse way"
 msgstr "Reverse way"
 
-msgid "Reverse Ways"
-msgstr "Reverse Ways"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Reverse the direction of all selected ways."
 
@@ -1439,7 +1445,7 @@ msgid "Split a way at the selected node."
 msgstr "Split a way at the selected node."
 
 msgid "Cannot split since another split operation is already in progress"
-msgstr ""
+msgstr "Cannot split since another split operation is already in progress"
 
 msgid ""
 "The current selection cannot be used for splitting - no node is selected."
@@ -1571,25 +1577,25 @@ msgstr ""
 "own copy and all nodes will be selected."
 
 msgid "Existing node"
-msgstr ""
+msgstr "Existing node"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Both nodes"
 
 msgid "New node"
-msgstr ""
+msgstr "New node"
 
 msgid "Tags / Memberships"
 msgstr "Tags / Memberships"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Unglue"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "Where should the tags of the node be put?"
 
 msgid "Where should the memberships of this node be put?"
-msgstr ""
+msgstr "Where should the memberships of this node be put?"
 
 msgid "Unglued Node"
 msgstr "Unglued Node"
@@ -1623,6 +1629,16 @@ msgstr ""
 "You are about to unglue incomplete objects.<br>This will cause problems "
 "because you don''t see the real object.<br>Do you really want to unglue?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Unglueing affected {0} relation: {1}"
+msgstr[1] "Unglueing affected {0} relations: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Ensure that the relation has not been broken!"
+msgstr[1] "Ensure that the relations have not been broken!"
+
 msgid "Disconnect Node from Way"
 msgstr "Disconnect Node from Way"
 
@@ -2395,6 +2411,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Add selection to relation"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Add selection to {0} relation"
@@ -2440,6 +2463,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Confirmation"
 
+msgid "List of recent relations"
+msgstr "List of recent relations"
+
+msgid "Open recent relation"
+msgstr "Open recent relation"
+
+msgid "Relation Editor: {0}"
+msgstr "Relation Editor: {0}"
+
 msgid "Select in relation list"
 msgstr "Select in relation list"
 
@@ -2810,8 +2842,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr "Cannot parse timestamp ''{0}''"
+
+msgid "Expecting {0} after {1}"
+msgstr "Expecting {0} after {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Range of primitive ids expected"
@@ -3295,13 +3330,13 @@ msgid "Restoring files"
 msgstr "Restoring files"
 
 msgid "Unable to delete backup file {0}"
-msgstr ""
+msgstr "Unable to delete backup file {0}"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "Unable to delete PID file {0}"
 
 msgid "Unable to delete archived backup file {0}"
-msgstr ""
+msgstr "Unable to delete archived backup file {0}"
 
 msgid "Illegal latitude value ''{0}''"
 msgstr "Illegal latitude value ''{0}''"
@@ -3427,9 +3462,6 @@ msgstr ""
 "Try enabling IPv6 network, prefering IPv6 over IPv4 (only works on early "
 "startup)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (at line {0}, column {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Preference setting {0} has been removed since it is no longer used."
 
@@ -3488,6 +3520,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr "Update default entries"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 
@@ -3738,6 +3773,9 @@ msgstr "text"
 msgid "areatext"
 msgstr "areatext"
 
+msgid " (at line {0}, column {1})"
+msgstr " (at line {0}, column {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 
@@ -3817,12 +3855,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr ""
+msgid "Albers Equal Area"
+msgstr "Albers Equal Area"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parameter ''{0}'' required."
 
+msgid "standard parallels are opposite"
+msgstr "standard parallels are opposite"
+
+msgid "Cassini-Soldner"
+msgstr "Cassini-Soldner"
+
+msgid "Double Stereographic"
+msgstr "Double Stereographic"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Lambert Azimuthal Equal Area"
+
 msgid "Lambert Conformal Conic"
 msgstr "Lambert Conformal Conic"
 
@@ -3832,6 +3882,24 @@ msgstr "Lat/lon (Geodetic)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr "Oblique Mercator"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr "Illegal value for parameter ''{0}'': {1}"
+
+msgid "error in initialization"
+msgstr "error in initialisation"
+
+msgid "Polar Stereographic"
+msgstr "Polar Stereographic"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Swiss Oblique Mercator"
 
@@ -4425,6 +4493,9 @@ msgstr "Invalid white space in property key"
 msgid "Property values start or end with white space"
 msgstr "Property values start or end with white space"
 
+msgid "Property values contain multiple white spaces"
+msgstr "Property values contain multiple white spaces"
+
 msgid "Property values contain HTML entity"
 msgstr "Property values contain HTML entity"
 
@@ -4535,7 +4606,7 @@ msgid "No \"to\" way found"
 msgstr "No \"to\" way found"
 
 msgid "\"from\" way equals \"to\" way"
-msgstr ""
+msgstr "\"from\" way equals \"to\" way"
 
 msgid "No \"via\" node or way found"
 msgstr "No \"via\" node or way found"
@@ -5147,9 +5218,6 @@ msgstr "Imagery preferences"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Click to open the imagery tab in the preferences"
 
-msgid "Search menu items"
-msgstr "Search menu items"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Audio"
@@ -5208,12 +5276,6 @@ msgstr "Status bar foreground: active"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "The geographic latitude at the mouse pointer."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "The geographic longitude at the mouse pointer."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "The (compass) heading of the line segment being drawn."
 
@@ -5242,6 +5304,18 @@ msgstr "User:"
 msgid "Do not hide status bar"
 msgstr "Do not hide status bar"
 
+msgid "The northing at the mouse pointer."
+msgstr "The northing at the mouse pointer."
+
+msgid "The easting at the mouse pointer."
+msgstr "The easting at the mouse pointer."
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "The geographic latitude at the mouse pointer."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "The geographic longitude at the mouse pointer."
+
 msgid "System of measurement changed to {0}"
 msgstr "System of measurement changed to {0}"
 
@@ -6131,6 +6205,18 @@ msgstr "Resolve"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "Open a merge dialogue of all selected items in the list above."
 
+msgid "Resolve to my versions"
+msgstr "Resolve to my versions"
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr "Resolves all unresolved conflicts to ''my'' version"
+
+msgid "Resolve to their versions"
+msgstr "Resolve to their versions"
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr "Resolves all unresolved conflicts to ''their'' version"
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "There was {0} conflict detected."
@@ -6253,6 +6339,9 @@ msgstr "Move filter down."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filter Hidden:{0} Disabled:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Error in filter <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Error in filter"
 
@@ -6702,6 +6791,9 @@ msgstr "Style settings"
 msgid "Customize the style"
 msgstr "Customise the style"
 
+msgid "Search menu items"
+msgstr "Search menu items"
+
 msgid "Mini map"
 msgstr "Mini map"
 
@@ -7062,21 +7154,15 @@ msgstr[1] ""
 "<html>None of the selected objects is available in the current<br>edit layer "
 "''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Download content"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Download the changeset content from the OSM server"
-
-msgid "Update content"
-msgstr "Update content"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Update the changeset content from the OSM server"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Download and show the history of the selected objects"
 
+msgid "Download objects"
+msgstr "Download objects"
+
+msgid "Download the current version of the selected objects"
+msgstr "Download the current version of the selected objects"
+
 msgid "Select in layer"
 msgstr "Select in layer"
 
@@ -7182,6 +7268,18 @@ msgstr "open"
 msgid "closed"
 msgstr "closed"
 
+msgid "Download content"
+msgstr "Download content"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Download the changeset content from the OSM server"
+
+msgid "Update content"
+msgstr "Update content"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Update the changeset content from the OSM server"
+
 msgid "Changeset ID: "
 msgstr "Changeset ID: "
 
@@ -7545,8 +7643,8 @@ msgstr "Edit the value of the selected key for all objects"
 msgid "Edit Tags"
 msgstr "Edit Tags"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "Go to OSM wiki for tag help"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Launch browser with wiki help for selected object"
@@ -7581,6 +7679,9 @@ msgstr "Copy all Keys/Values"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Copy the key and value of all the tags to clipboard"
 
+msgid "Copy Tags"
+msgstr "Copy Tags"
+
 msgid "Search Key/Value/Type"
 msgstr "Search Key/Value/Type"
 
@@ -7650,6 +7751,27 @@ msgstr "Set number of recently added tags"
 msgid "Remember last used tags after a restart"
 msgstr "Remember last used tags after a restart"
 
+msgid "Recent tags with existing key"
+msgstr "Recent tags with existing key"
+
+msgid "Enable"
+msgstr "Enable"
+
+msgid "Hide"
+msgstr "Hide"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr "Refresh recent tags list after applying tag"
+
+msgid "No refresh"
+msgstr "No refresh"
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr "Refresh tag status only (enabled / disabled)"
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr "Refresh tag status and list of recently added tags"
+
 msgid "to apply first suggestion"
 msgstr "to apply first suggestion"
 
@@ -7764,9 +7886,6 @@ msgstr "New Relation"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Relation Editor: {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 "
@@ -7807,6 +7926,73 @@ msgstr ""
 "circular references and is therefore discouraged.<br>Skipping relation "
 "''{0}''.</html>"
 
+msgid "Select previous Gap"
+msgstr "Select previous Gap"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Select the previous relation member which gives rise to a gap"
+
+msgid "Select next Gap"
+msgstr "Select next Gap"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Select the next relation member which gives rise to a gap"
+
+msgid "Zoom to Gap"
+msgstr "Zoom to Gap"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Zoom to the gap in the way sequence"
+
+msgid "Refers to"
+msgstr "Refers to"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr "Cannot add {0} since it is not part of dataset"
+
+msgid "Download referring relations"
+msgstr "Download referring relations"
+
+msgid "There were {0} conflicts during import."
+msgstr "There were {0} conflicts during import."
+
+msgid "including immediate children of parent relations"
+msgstr "including immediate children of parent relations"
+
+msgid "Load parent relations"
+msgstr "Load parent relations"
+
+msgid "Reload"
+msgstr "Reload"
+
+msgid "Loading parent relations"
+msgstr "Loading parent relations"
+
+msgid "Edit the currently selected relation"
+msgstr "Edit the currently selected relation"
+
+msgid "Apply Changes"
+msgstr "Apply Changes"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Create new relation in layer ''{0}''"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Edit new relation in layer ''{0}''"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Edit relation #{0} in layer ''{1}''"
+
+msgid "Load relation"
+msgstr "Load relation"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -7819,67 +8005,133 @@ msgstr ""
 "Add all objects selected in the current dataset before the first selected "
 "member"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Apply the current updates"
+msgstr "Apply the current updates"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Remove all members referring to one of the selected objects"
+msgid "Cancel the updates and close the dialog"
+msgstr "Cancel the updates and close the dialogue"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Yes, save the changes and close"
+msgstr "Yes, save the changes and close"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Click to save the changes and close this relation editor"
+
+msgid "No, discard the changes and close"
+msgstr "No, discard the changes and close"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Click to discard the changes and close this relation editor"
+
+msgid "Cancel, continue editing"
+msgstr "Cancel, continue editing"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Select relation members which refer to objects in the current selection"
+"Click to return to the relation editor and to resume relation editing"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 msgstr ""
-"Select relation members which refer to {0} objects in the current selection"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 
-msgid "Select objects for selected relation members"
-msgstr "Select objects for selected relation members"
+msgid "Unsaved changes"
+msgstr "Unsaved changes"
 
-msgid "Sort the relation members"
-msgstr "Sort the relation members"
+msgid "Delete the currently edited relation"
+msgstr "Delete the currently edited relation"
 
-msgid "Relation Editor: Sort"
-msgstr "Relation Editor: Sort"
+msgid "Relation Editor: Download Members"
+msgstr "Relation Editor: Download Members"
 
-msgid "Sort below"
-msgstr "Sort below"
+msgid "Download all incomplete members"
+msgstr "Download all incomplete members"
 
-msgid "Sort the selected relation members and all members below"
-msgstr "Sort the selected relation members and all members below"
+msgid "Download Members"
+msgstr "Download Members"
 
-msgid "Reverse the order of the relation members"
-msgstr "Reverse the order of the relation members"
+msgid "Download selected incomplete members"
+msgstr "Download selected incomplete members"
 
-msgid "Reverse"
-msgstr "Reverse"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Edit the relation the currently selected relation member refers to"
 
-msgid "Move the currently selected members up"
-msgstr "Move the currently selected members up"
+msgid "Relation Editor: Move Down"
+msgstr "Relation Editor: Move Down"
+
+msgid "Move the currently selected members down"
+msgstr "Move the currently selected members down"
 
 msgid "Relation Editor: Move Up"
 msgstr "Relation Editor: Move Up"
 
-msgid "Move the currently selected members down"
-msgstr "Move the currently selected members down"
+msgid "Move the currently selected members up"
+msgstr "Move the currently selected members up"
 
-msgid "Relation Editor: Move Down"
-msgstr "Relation Editor: Move Down"
+msgid "Apply the updates and close the dialog"
+msgstr "Apply the updates and close the dialogue"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Remove the currently selected members from this relation"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+
+msgid "Relation Editor: Refresh"
+msgstr "Relation Editor: Refresh"
+
+msgid "Refresh relation from data layer"
+msgstr "Refresh relation from data layer"
+
+msgid "Refresh"
+msgstr "Refresh"
+
+msgid "Yes, discard changes and reload"
+msgstr "Yes, discard changes and reload"
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr "Click to discard the changes and reload data from layer"
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+
+msgid "Click to close window"
+msgstr "Click to close window"
+
+msgid "No, continue editing"
+msgstr "No, continue editing"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+
+msgid "Deleted relation"
+msgstr "Deleted relation"
 
 msgid "Relation Editor: Remove"
 msgstr "Relation Editor: Remove"
 
-msgid "Delete the currently edited relation"
-msgstr "Delete the currently edited relation"
+msgid "Remove the currently selected members from this relation"
+msgstr "Remove the currently selected members from this relation"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Remove all members referring to one of the selected objects"
+
+msgid "Reverse the order of the relation members"
+msgstr "Reverse the order of the relation members"
+
+msgid "Reverse"
+msgstr "Reverse"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -7896,13 +8148,6 @@ msgstr "Yes, create a conflict and close"
 msgid "Click to create a conflict and close this relation editor"
 msgstr "Click to create a conflict and close this relation editor"
 
-msgid "No, continue editing"
-msgstr "No, continue editing"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Click to return to the relation editor and to resume relation editing"
-
 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 "
@@ -7919,54 +8164,18 @@ msgstr ""
 "<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
 "resolve this conflict first, then try again.</html>"
 
-msgid "Apply the current updates"
-msgstr "Apply the current updates"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Apply the updates and close the dialogue"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Cancel the updates and close the dialogue"
-
-msgid "Yes, save the changes and close"
-msgstr "Yes, save the changes and close"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Click to save the changes and close this relation editor"
-
-msgid "No, discard the changes and close"
-msgstr "No, discard the changes and close"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Click to discard the changes and close this relation editor"
-
-msgid "Cancel, continue editing"
-msgstr "Cancel, continue editing"
+msgid "Select objects for selected relation members"
+msgstr "Select objects for selected relation members"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
+"Select relation members which refer to objects in the current selection"
 msgstr ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
-
-msgid "Unsaved changes"
-msgstr "Unsaved changes"
-
-msgid "Add an empty tag"
-msgstr "Add an empty tag"
-
-msgid "Download all incomplete members"
-msgstr "Download all incomplete members"
-
-msgid "Download Members"
-msgstr "Download Members"
-
-msgid "Relation Editor: Download Members"
-msgstr "Relation Editor: Download Members"
+"Select relation members which refer to objects in the current selection"
 
-msgid "Download selected incomplete members"
-msgstr "Download selected incomplete members"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Select relation members which refer to {0} objects in the current selection"
 
 msgid "Sets a role for the selected members"
 msgstr "Sets a role for the selected members"
@@ -7994,72 +8203,17 @@ msgstr "No, do not apply"
 msgid "Confirm empty role"
 msgstr "Confirm empty role"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Edit the relation the currently selected relation member refers to"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-
-msgid "Select previous Gap"
-msgstr "Select previous Gap"
-
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Select the previous relation member which gives rise to a gap"
-
-msgid "Select next Gap"
-msgstr "Select next Gap"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Select the next relation member which gives rise to a gap"
-
-msgid "Zoom to Gap"
-msgstr "Zoom to Gap"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Zoom to the gap in the way sequence"
-
-msgid "Refers to"
-msgstr "Refers to"
-
-msgid "Download referring relations"
-msgstr "Download referring relations"
-
-msgid "There were {0} conflicts during import."
-msgstr "There were {0} conflicts during import."
-
-msgid "including immediate children of parent relations"
-msgstr "including immediate children of parent relations"
-
-msgid "Load parent relations"
-msgstr "Load parent relations"
-
-msgid "Reload"
-msgstr "Reload"
-
-msgid "Loading parent relations"
-msgstr "Loading parent relations"
-
-msgid "Edit the currently selected relation"
-msgstr "Edit the currently selected relation"
-
-msgid "Apply Changes"
-msgstr "Apply Changes"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Create new relation in layer ''{0}''"
+msgid "Relation Editor: Sort"
+msgstr "Relation Editor: Sort"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Edit new relation in layer ''{0}''"
+msgid "Sort the relation members"
+msgstr "Sort the relation members"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Edit relation #{0} in layer ''{1}''"
+msgid "Sort below"
+msgstr "Sort below"
 
-msgid "Load relation"
-msgstr "Load relation"
+msgid "Sort the selected relation members and all members below"
+msgstr "Sort the selected relation members and all members below"
 
 msgid "way is connected"
 msgstr "way is connected"
@@ -8481,6 +8635,11 @@ msgid ""
 msgstr ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "This changeset has {0} comment"
+msgstr[1] "This changeset has {0} comments"
+
 msgid "Changeset"
 msgstr "Changeset"
 
@@ -8605,15 +8764,17 @@ msgid "Upload"
 msgstr "Upload"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
 msgstr ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr "Check \"Upload\" to upload the changes to the OSM server."
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
+msgstr "Check \"Save\" to save the layer to the file specified on the left."
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Provide a brief comment for the changes you are uploading:"
@@ -8810,9 +8971,6 @@ msgid ""
 msgstr ""
 "Failed to retrieve user info for the current JOSM user. Exception was: {0}"
 
-msgid "Download objects"
-msgstr "Download objects"
-
 msgid "Initializing nodes to download ..."
 msgstr "Initialising nodes to download ..."
 
@@ -9399,8 +9557,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} object to delete:"
 msgstr[1] "{0} objects to delete:"
 
-msgid "Show Tile Info"
-msgstr "Show Tile Info"
+msgid "Show tile info"
+msgstr "Show tile info"
 
 msgid "Tile Info"
 msgstr "Tile Info"
@@ -9408,16 +9566,22 @@ msgstr "Tile Info"
 msgid "Metadata "
 msgstr "Metadata "
 
-msgid "Auto Zoom"
-msgstr "Auto Zoom"
+msgid "Load tile"
+msgstr "Load tile"
+
+msgid "Auto zoom"
+msgstr "Auto zoom"
 
 msgid "Auto load tiles"
 msgstr "Auto load tiles"
 
-msgid "Load All Tiles"
-msgstr "Load All Tiles"
+msgid "Show errors"
+msgstr "Show errors"
 
-msgid "Load All Error Tiles"
+msgid "Load all tiles"
+msgstr "Load all tiles"
+
+msgid "Load all error tiles"
 msgstr "Load all error tiles"
 
 msgid "Zoom to native resolution"
@@ -9426,26 +9590,17 @@ msgstr "Zoom to native resolution"
 msgid "Change resolution"
 msgstr "Change resolution"
 
-msgid "Failed to create tile source"
-msgstr "Failed to create tile source"
-
-msgid "Show Errors"
-msgstr "Show Errors"
-
-msgid "Load Tile"
-msgstr "Load Tile"
-
 msgid "Increase zoom"
 msgstr "Increase zoom"
 
 msgid "Decrease zoom"
 msgstr "Decrease zoom"
 
-msgid "Snap to tile size"
-msgstr "Snap to tile size"
+msgid "Flush tile cache"
+msgstr "Flush tile cache"
 
-msgid "Flush Tile Cache"
-msgstr "Flush Tile Cache"
+msgid "Failed to create tile source"
+msgstr "Failed to create tile source"
 
 msgid "zoom in to load any tiles"
 msgstr "zoom in to load any tiles"
@@ -9493,6 +9648,8 @@ msgid ""
 "Aerial imagery \"{0}\" might be misaligned. Please check its offset using "
 "GPS tracks!"
 msgstr ""
+"Aerial imagery \"{0}\" might be misaligned. Please check its offset using "
+"GPS tracks!"
 
 msgid "http://wiki.openstreetmap.org/wiki/Using_Imagery"
 msgstr "http://wiki.openstreetmap.org/wiki/Using_Imagery"
@@ -9501,7 +9658,7 @@ msgid "Details..."
 msgstr "Details..."
 
 msgid "Do not show this message again"
-msgstr ""
+msgstr "Do not show this message again"
 
 msgid "Hide this message and never show it again"
 msgstr "Hide this message and never show it again"
@@ -9705,6 +9862,9 @@ msgid ""
 " Supported projections are: {2}\n"
 "Change the projection again or remove the layer."
 msgstr ""
+"The layer {0} does not support the new projection {1}.\n"
+" Supported projections are: {2}\n"
+"Change the projection again or remove the layer."
 
 msgid "Correlate to GPX"
 msgstr "Correlate to GPX"
@@ -9890,6 +10050,9 @@ msgstr ""
 "Error while parsing offset.\n"
 "Expected format: {0}"
 
+msgid "Geotagged Images"
+msgstr "Geotagged Images"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Extracting GPS locations from EXIF"
 
@@ -9914,9 +10077,6 @@ msgstr "Error while getting files from directory {0}\n"
 msgid "One of the selected files was null"
 msgstr "One of the selected files was null"
 
-msgid "Geotagged Images"
-msgstr "Geotagged Images"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} image loaded."
@@ -10305,12 +10465,8 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
+msgstr "Failed to locate image ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Illegal dash pattern, values must be positive"
@@ -10357,6 +10513,12 @@ msgstr "Access Token URL:"
 msgid "Authorize URL:"
 msgstr "Authorise URL:"
 
+msgid "OSM login URL:"
+msgstr "OSM login URL:"
+
+msgid "OSM logout URL:"
+msgstr "OSM logout URL:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Click to reset the OAuth settings to default values"
 
@@ -10430,13 +10592,6 @@ msgstr "Username: "
 msgid "Password: "
 msgstr "Password: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-
 msgid "Granted rights"
 msgstr "Granted rights"
 
@@ -10574,6 +10729,15 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Please select an authorisation procedure: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+"<strong>Warning:</strong> Since you are not using the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Get an Access Token for ''{0}''"
 
@@ -10970,6 +11134,15 @@ msgstr "Registered toolbar action {0} overwritten: {1} gets {2}"
 msgid "Toolbar: {0}"
 msgstr "Toolbar: {0}"
 
+msgid "add entry"
+msgstr "add entry"
+
+msgid "Remove the selected entry"
+msgstr "Remove the selected entry"
+
+msgid "Key: {0}"
+msgstr "Key: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Advanced Preferences"
 
@@ -11057,18 +11230,9 @@ msgstr "Choose profile file"
 msgid "Change list setting"
 msgstr "Change list setting"
 
-msgid "Key: {0}"
-msgstr "Key: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Change list of lists setting"
 
-msgid "add entry"
-msgstr "add entry"
-
-msgid "Remove the selected entry"
-msgstr "Remove the selected entry"
-
 msgid "Change list of maps setting"
 msgstr "Change list of maps setting"
 
@@ -11766,9 +11930,6 @@ msgstr "copy selected defaults"
 msgid "Please select at least one row to copy."
 msgstr "Please select at least one row to copy."
 
-msgid "reload defaults"
-msgstr "reload defaults"
-
 msgid "Menu Name"
 msgstr "Menu Name"
 
@@ -11980,7 +12141,7 @@ msgstr ""
 "it?<br><br><table width=600>Error is: {1}</table></html>"
 
 msgid "Sort presets menu alphabetically"
-msgstr ""
+msgstr "Sort presets menu alphabetically"
 
 msgid "Tagging Presets"
 msgstr "Tagging Presets"
@@ -12069,6 +12230,9 @@ msgstr[0] "Downloading the following plug-in has <strong>failed</strong>:"
 msgstr[1] ""
 "Downloading the following {0} plug-ins has <strong>failed</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Error message(untranslated): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Please restart JOSM to activate the downloaded plug-ins."
 
@@ -12570,13 +12734,13 @@ msgid "Please enter the OSM API URL."
 msgstr "Please enter the OSM API URL."
 
 msgid "Use Overpass server for object downloads"
-msgstr ""
+msgstr "Use Overpass server for object downloads"
 
 msgid "Overpass server: "
 msgstr "Overpass server: "
 
 msgid "Overpass server"
-msgstr ""
+msgstr "Overpass server"
 
 msgid "Proxy settings"
 msgstr "Proxy settings"
@@ -12741,12 +12905,6 @@ msgstr "Numeric values"
 msgid "Checks for wrong numeric values"
 msgstr "Checks for wrong numeric values"
 
-msgid "Power"
-msgstr "Power"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Checks for errors on power infrastructures"
-
 msgid "Religion"
 msgstr "Religion"
 
@@ -12836,6 +12994,9 @@ msgstr "Use preset ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Elements of type {0} are supported."
 
+msgid "This preset also sets: {0}"
+msgstr "This preset also sets: {0}"
+
 msgid "Edit also …"
 msgstr "Edit also …"
 
@@ -12908,6 +13069,9 @@ msgstr "Search presets"
 msgid "Presets"
 msgstr "Presets"
 
+msgid "Search for objects by preset..."
+msgstr "Search for objects by preset..."
+
 msgid "Search for objects by preset"
 msgstr "Search for objects by preset"
 
@@ -12961,6 +13125,9 @@ msgstr ""
 "Broken tagging preset \"{0}-{1}\" - number of items in "
 "''short_descriptions'' must be the same as in ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "This corresponds to the key ''{0}''"
+
 msgid "More information about this feature"
 msgstr "More information about this feature"
 
@@ -13056,17 +13223,33 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "false: the property is explicitly switched off"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "false: the property ''{0}'' is explicitly switched off"
+
 msgid "true: the property is explicitly switched on"
 msgstr "true: the property is explicitly switched on"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "true: the property ''{0}'' is explicitly switched on"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "partial: different selected objects have different values, do not change"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "unset: do not set this property on the selected objects"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr "unset: do not set the property ''{0}'' on the selected objects"
+
 msgid "Cut"
 msgstr "Cut"
 
@@ -13593,6 +13776,9 @@ msgstr "Failed to sign a HTTP connection with an OAuth Authentication header"
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Unexpected value for preference ''{0}''. Got ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "OSM Server Files"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>An error occurred while saving.<br>Error is: <br>{0}</html>"
 
@@ -13609,9 +13795,6 @@ msgstr "OSM Server Files gzip compressed"
 msgid "Parsing OSM history data ..."
 msgstr "Parsing OSM history data ..."
 
-msgid "OSM Server Files"
-msgstr "OSM Server Files"
-
 msgid "Invalid dataset"
 msgstr "Invalid dataset"
 
@@ -13815,11 +13998,8 @@ msgstr "Uploading data ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Unexpected id 0 for osm primitive found"
 
-msgid "OSM Server Files zip compressed"
-msgstr "OSM Server Files zip compressed"
-
 msgid "Downloading data..."
-msgstr ""
+msgstr "Downloading data..."
 
 msgid "WMS Files (*.wms)"
 msgstr "WMS Files (*.wms)"
@@ -13998,24 +14178,29 @@ msgstr ""
 "Remote Control has been asked to report its protocol version. This enables "
 "web sites to detect a running JOSM."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr "local file"
+
+msgid "include"
+msgstr "include"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Layer contains unsaved data - save to file."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Layer does not contain unsaved data."
 
 msgid "Data:"
 msgstr "Data:"
 
-msgid "local file"
-msgstr "local file"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Link to a OSM data file on your local disk."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
+msgstr "Include OSM data in the .joz session file."
 
-msgid "include"
-msgstr "include"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Link to a GPX data file on your local disk."
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Include GPX data in the .joz session file."
@@ -14026,6 +14211,16 @@ msgstr "No file association"
 msgid "GPX data will be included in the session file."
 msgstr "GPX data will be included in the session file."
 
+msgid "OSM data will be included in the session file."
+msgstr "OSM data will be included in the session file."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14048,20 +14243,10 @@ msgid ""
 msgstr ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Layer contains unsaved data - save to file."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Layer does not contain unsaved data."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Link to a OSM data file on your local disk."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Include OSM data in the .joz session file."
-
-msgid "OSM data will be included in the session file."
-msgstr "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -14475,7 +14660,7 @@ msgid "Downloading plugin list from ''{0}''"
 msgstr "Downloading plug-in list from ''{0}''"
 
 msgid "Unsuccessful HTTP request"
-msgstr ""
+msgstr "Unsuccessful HTTP request"
 
 msgid "Plugin list download error"
 msgstr "Plugin list download error"
@@ -14914,9 +15099,6 @@ msgstr ""
 "large.<br>Either request a smaller area or use an export file provided by "
 "the OSM community."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Error message(untranslated): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -14961,6 +15143,9 @@ msgstr "Download redirected to ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Too many redirects to the download URL detected. Aborting."
 
+msgid "Fetching content..."
+msgstr "Fetching content..."
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Unable to find translation for the locale {0}. Reverting to {1}."
 
@@ -14971,9 +15156,6 @@ msgstr ""
 "Fatal: failed to locate image ''{0}''. This is a serious configuration "
 "problem. JOSM will stop working."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Failed to locate image ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Failed to handle zip file ''{0}''. Exception was: {1}"
 
@@ -15014,7 +15196,7 @@ msgid "reserved"
 msgstr "reserved"
 
 msgid "Unable to delete old preferences file {0}"
-msgstr ""
+msgstr "Unable to delete old preferences file {0}"
 
 msgid "Outdated Java version"
 msgstr "Outdated Java version"
@@ -15125,7 +15307,10 @@ msgstr ""
 "contain any JOSM object or suitable text. </p></html>"
 
 msgid "Unable to delete file {0}"
-msgstr ""
+msgstr "Unable to delete file {0}"
+
+msgid "Unable to create directory {0}"
+msgstr "Unable to create directory {0}"
 
 msgid "ms"
 msgstr "ms"
@@ -15455,9 +15640,6 @@ msgstr "Open selected file"
 msgid "Open selected file."
 msgstr "Open selected file."
 
-msgid "Refresh"
-msgstr "Refresh"
-
 msgid "Rename File"
 msgstr "Rename file"
 
@@ -15551,6 +15733,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Public Transport (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (German Style)"
 
@@ -15617,6 +15802,9 @@ msgstr "OSM Inspector: Addresses"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Boundaries (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI black-and-white 2.5m"
 
@@ -15713,13 +15901,16 @@ msgstr "URBIS 2015 aerial imagery"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW(allonie) PICC numerical imagery"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr ""
 
-msgid "TEC bus lines"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr ""
+
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -15842,6 +16033,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -15864,9 +16058,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Sorbian Language)"
 
@@ -15937,6 +16128,15 @@ msgstr "Drone Imagery 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Drone Imagery Canaan(Haiti) November 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
 
@@ -15970,11 +16170,14 @@ msgstr "OSMIE Local Election Areas"
 msgid "OSMIE Dail Election Areas"
 msgstr "OSMIE Dail Election Areas"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italy"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr ""
 
 msgid "Sicily - Italy"
 msgstr "Sicily - Italy"
@@ -16690,6 +16893,9 @@ msgstr "Downloads new data when you pan/zoom"
 msgid "Create a grid of ways."
 msgstr "Create a grid of ways."
 
+msgid "Customizing of public transport stops."
+msgstr "Customising of public transport stops."
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -17064,6 +17270,9 @@ msgid ""
 "of tagging presets (quick preview of the dialog that will popup). You can "
 "start the jar-file as standalone as well."
 msgstr ""
+"Adds a tagging preset tester to the windows 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."
 
 msgid "Make terraced houses out of single blocks."
 msgstr "Make terraced houses out of single blocks."
@@ -17434,6 +17643,105 @@ msgstr "limited"
 msgid "Brand"
 msgstr "Brand"
 
+msgid "Cuisine"
+msgstr "Cuisine"
+
+msgid "italian"
+msgstr "italian"
+
+msgid "chinese"
+msgstr "chinese"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "burger"
+
+msgid "greek"
+msgstr "greek"
+
+msgid "german"
+msgstr "german"
+
+msgid "indian"
+msgstr "indian"
+
+msgid "regional"
+msgstr "regional"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turkish"
+
+msgid "asian"
+msgstr "asian"
+
+msgid "thai"
+msgstr "thai"
+
+msgid "mexican"
+msgstr "mexican"
+
+msgid "japanese"
+msgstr "japanese"
+
+msgid "french"
+msgstr "french"
+
+msgid "sandwich"
+msgstr "sandwich"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr "steak_house"
+
+msgid "fish_and_chips"
+msgstr "fish_and_chips"
+
+msgid "chicken"
+msgstr "chicken"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "ice_cream"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Internet access"
 
@@ -18005,8 +18313,11 @@ msgstr "Max. weight (tonnes)"
 msgid "Toll"
 msgstr "Toll"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
+msgstr ""
 
 msgid "In the tidal range"
 msgstr "In the tidal range"
@@ -18774,26 +19085,30 @@ msgstr "In case of traffic signals:"
 msgid "Traffic Calming"
 msgstr "Traffic Calming"
 
-msgid "bump"
-msgstr "bump"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
+msgstr ""
 
-msgid "chicane"
-msgstr "chicane"
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
-msgstr "choker"
+msgid "Cushion"
+msgstr ""
 
-msgid "cushion"
-msgstr "cushion"
+msgid "Hump"
+msgstr ""
 
-msgid "hump"
-msgstr "hump"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "rumble_strip"
+msgid "Rumble strip"
+msgstr ""
 
-msgid "table"
-msgstr "table"
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Passing Place"
@@ -18944,6 +19259,9 @@ msgstr "City Wall"
 msgid "Retaining Wall"
 msgstr "Retaining Wall"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Ditch"
@@ -19116,6 +19434,9 @@ msgstr "river"
 msgid "Salt Water"
 msgstr "Salt Water"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "Is the water body intermittent (disappears seasonally)?"
+
 msgid "Coastline"
 msgstr "Coastline"
 
@@ -19180,16 +19501,6 @@ msgid ""
 msgstr ""
 "A large body of water partially enclosed by land but with a wide mouth."
 
-msgid "Cliff"
-msgstr "Cliff"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-
 msgid "Shipping"
 msgstr "Shipping"
 
@@ -20120,66 +20431,6 @@ msgstr "Food+Drinks"
 msgid "Restaurant"
 msgstr "Restaurant"
 
-msgid "Cuisine"
-msgstr "Cuisine"
-
-msgid "italian"
-msgstr "italian"
-
-msgid "chinese"
-msgstr "chinese"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "burger"
-
-msgid "greek"
-msgstr "greek"
-
-msgid "german"
-msgstr "german"
-
-msgid "indian"
-msgstr "indian"
-
-msgid "regional"
-msgstr "regional"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turkish"
-
-msgid "asian"
-msgstr "asian"
-
-msgid "thai"
-msgstr "thai"
-
-msgid "mexican"
-msgstr "mexican"
-
-msgid "japanese"
-msgstr "japanese"
-
-msgid "french"
-msgstr "french"
-
-msgid "sandwich"
-msgstr "sandwich"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr "steak_house"
-
 msgid "Microbrewery"
 msgstr "Microbrewery"
 
@@ -20192,20 +20443,14 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Fast Food"
 
-msgid "fish_and_chips"
-msgstr "fish_and_chips"
-
-msgid "chicken"
-msgstr "chicken"
-
 msgid "Food Court"
 msgstr "Food court"
 
 msgid "Cafe"
 msgstr "Cafe"
 
-msgid "ice_cream"
-msgstr "ice_cream"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Pub"
@@ -20383,6 +20628,12 @@ msgstr "Amusement/Theme park"
 msgid "Water Park"
 msgstr "Water Park"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20417,9 +20668,6 @@ msgstr "Firepit"
 msgid "Fishing"
 msgstr "Fishing"
 
-msgid "Private Swimming Pool"
-msgstr "Private swimming pool"
-
 msgid "Night Club"
 msgstr "Night club"
 
@@ -20462,12 +20710,18 @@ msgstr "statue"
 msgid "Artist Name"
 msgstr "Artist name"
 
-msgid "Recording Studio"
-msgstr "Recording studio"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "audio"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "video"
 
@@ -20571,6 +20825,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "seventh_day_adventist"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Mosque"
 
@@ -20730,6 +20988,125 @@ msgstr "(Use international code, like +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinary"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Automated Defibrillator"
+
+msgid "Located inside a building?"
+msgstr "Located inside a building?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Last check date (YYYY-MM-DD)"
+
+msgid "Last check note"
+msgstr "Last check note"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr "Indoor"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Fire Hydrant"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "underground"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "pillar"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "wall"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "pond"
+
+msgid "Diameter (in mm)"
+msgstr "Diameter (in mm)"
+
+msgid "Hydrant Position"
+msgstr "Hydrant position"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "lane"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parking_lot"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "sidewalk"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "green"
+
+msgid "Pressure (in bar)"
+msgstr "Pressure (in bar)"
+
+msgid "suction"
+msgstr "suction"
+
+msgid "Count"
+msgstr "Count"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Emergency Phone"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -20842,24 +21219,9 @@ msgstr "Notes"
 msgid "Telephone cards"
 msgstr "Telephone cards"
 
-msgid "Emergency Phone"
-msgstr "Emergency Phone"
-
 msgid "Internet Access"
 msgstr "Internet access"
 
-msgid "Automated Defibrillator"
-msgstr "Automated Defibrillator"
-
-msgid "Located inside a building?"
-msgstr "Located inside a building?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Last check date (YYYY-MM-DD)"
-
-msgid "Last check note"
-msgstr "Last check note"
-
 msgid "Clock"
 msgstr "Clock"
 
@@ -21022,64 +21384,15 @@ msgctxt "height"
 msgid "full"
 msgstr "full"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Hide"
+msgstr ""
 
 msgid "Lock"
 msgstr "Lock"
 
-msgid "Indoor"
-msgstr "Indoor"
-
-msgid "Fire Hydrant"
-msgstr "Fire Hydrant"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "underground"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "pillar"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "wall"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "pond"
-
-msgid "Diameter (in mm)"
-msgstr "Diameter (in mm)"
-
-msgid "Hydrant Position"
-msgstr "Hydrant position"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "lane"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parking_lot"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "sidewalk"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "green"
-
-msgid "Pressure (in bar)"
-msgstr "Pressure (in bar)"
-
-msgid "suction"
-msgstr "suction"
-
-msgid "Count"
-msgstr "Count"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr "Compressed Air"
@@ -21132,9 +21445,62 @@ msgstr "tartan"
 msgid "Racetrack"
 msgstr "Racetrack"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golf Course"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Miniature Golf"
 
@@ -21359,9 +21725,6 @@ msgstr "Beach Volleyball"
 msgid "Billiards"
 msgstr "Billiards"
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golf_course"
 
@@ -21526,6 +21889,10 @@ msgid "gasometer"
 msgstr "gasometer"
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "cowshed"
 
@@ -21534,6 +21901,38 @@ msgid "construction"
 msgstr "construction"
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Levels"
 
@@ -21646,6 +22045,9 @@ msgstr "Windmill"
 msgid "Gasometer"
 msgstr "Gasometer"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "Storage Tank"
 
@@ -22047,6 +22449,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -22056,6 +22466,9 @@ msgstr "Ruins"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Power"
+
 msgid "Power Plant"
 msgstr "Power Plant"
 
@@ -22489,11 +22902,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr "Type of construction"
@@ -22514,6 +22930,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "red/white"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Power Tower"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Tower type"
@@ -22637,18 +23071,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -22681,6 +23103,9 @@ msgstr "Pole Attributes:"
 msgid "Transformer Attributes:"
 msgstr "Transformer Attributes:"
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Power Line"
 
@@ -22938,6 +23363,9 @@ msgstr "Furniture"
 msgid "Kitchen"
 msgstr "Kitchen"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Curtain"
 
@@ -22980,12 +23408,21 @@ msgstr "For the body"
 msgid "Chemist"
 msgstr "Chemist"
 
-msgid "Hairdresser/Barber"
-msgstr "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "Beauty"
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr "Hairdresser/Barber"
+
 msgid "Tattoo"
 msgstr "Tattoo"
 
@@ -23311,6 +23748,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Telecommunication"
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geography"
 
@@ -23481,6 +23993,16 @@ msgstr "Valley"
 msgid "A low area between hills."
 msgstr "A low area between hills."
 
+msgid "Cliff"
+msgstr "Cliff"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+
 msgid "Cave Entrance"
 msgstr "Cave Entrance"
 
@@ -23695,6 +24217,51 @@ msgstr "Meadow"
 msgid "Orchard"
 msgstr "Orchard"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Vineyard"
 
@@ -24493,9 +25060,6 @@ msgstr "{0} and {1} together with {2} and conflicting values"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Suspicious tag combination: {0} and {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} is deprecated"
-
 msgid "{0} is deprecated"
 msgstr "{0} is deprecated"
 
@@ -24520,9 +25084,11 @@ msgid ""
 "Wrong usage of {0} tag. Remove {1}, because it is clear that the name is "
 "missing even without an additional tag."
 msgstr ""
+"Wrong usage of {0} tag. Remove {1}, because it is clear that the name is "
+"missing even without an additional tag."
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} is deprecated. Please use a multipolygon instead."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr "{0} is deprecated. Please use a multipolygon instead."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -24570,6 +25136,15 @@ msgstr "uncommon short key"
 msgid "{0} is inaccurate"
 msgstr "{0} is inaccurate"
 
+msgid "{0} is deprecated for {1}"
+msgstr "{0} is deprecated for {1}"
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr "{0} is deprecated. Use the {1}: key prefix instead."
+
+msgid "questionable key (ending with a number): {0}"
+msgstr "questionable key (ending with a number): {0}"
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} on a node. Should be used on a way."
 
@@ -24585,6 +25160,9 @@ msgstr "{0} on a way. Should be used on a node."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} on a way. Should be used in a relation"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr "{0} together with {1} on a node. Remove {0}."
+
 msgid "{0} on a node"
 msgstr "{0} on a node"
 
@@ -24612,6 +25190,9 @@ msgstr "{0} must be connected to a way"
 msgid "node connects waterway and bridge"
 msgstr "node connects waterway and bridge"
 
+msgid "suspicious roundabout direction"
+msgstr "suspicious roundabout direction"
+
 msgid "abbreviated street name"
 msgstr "abbreviated street name"
 
@@ -24655,8 +25236,8 @@ msgstr "layer tag with + sign"
 msgid "layer should be between -5 and 5"
 msgstr "layer should be between -5 and 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr "{0} should have numbers only with optional .5 increments"
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -24697,7 +25278,7 @@ msgid "{0} must be a positive integer number"
 msgstr "{0} must be a positive integer number"
 
 msgid "unusual value of {0}"
-msgstr ""
+msgstr "unusual value of {0}"
 
 msgid "relation without type"
 msgstr "relation without type"
@@ -26864,10 +27445,10 @@ msgid "Generate matches"
 msgstr "Generate matches"
 
 msgid "Layer:"
-msgstr ""
+msgstr "Layer:"
 
 msgid "{0}: 0 / {1}: 0 / {2}: 0"
-msgstr ""
+msgstr "{0}: 0 / {1}: 0 / {2}: 0"
 
 msgid "Subject"
 msgstr "Subject"
@@ -26900,10 +27481,10 @@ msgid "Empty selection"
 msgstr "Empty selection"
 
 msgid "Freeze reference selection"
-msgstr ""
+msgstr "Freeze reference selection"
 
 msgid "{0}: {1} / {2}: {3} / {4}: {5}"
-msgstr ""
+msgstr "{0}: {1} / {2}: {3} / {4}: {5}"
 
 msgid "Invalid reference or subject"
 msgstr "Invalid reference or subject"
@@ -28357,337 +28938,354 @@ msgid "Total images:"
 msgstr "Total images:"
 
 msgid "images"
-msgstr ""
+msgstr "images"
 
 msgid "Traffic sign font at ''{0}'' has wrong format."
-msgstr ""
+msgstr "Traffic sign font at ''{0}'' has wrong format."
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
-msgstr ""
+msgstr "Mapillary"
 
 msgid "Create Mapillary layer"
-msgstr ""
+msgstr "Create Mapillary layer"
 
 msgid "Start Mapillary layer"
-msgstr ""
+msgstr "Start Mapillary layer"
 
 msgid "Download Mapillary images in current view"
-msgstr ""
+msgstr "Download Mapillary images in current view"
 
 msgid "Export pictures"
-msgstr ""
+msgstr "Export pictures"
 
 msgid "Export Mapillary pictures"
-msgstr ""
+msgstr "Export Mapillary pictures"
 
 msgid "Export images"
-msgstr ""
+msgstr "Export images"
 
 msgid "Import pictures"
-msgstr ""
+msgstr "Import pictures"
 
 msgid "Import local pictures"
-msgstr ""
+msgstr "Import local pictures"
 
 msgid "Import pictures into Mapillary layer"
-msgstr ""
+msgstr "Import pictures into Mapillary layer"
 
 msgid "Select pictures"
-msgstr ""
+msgstr "Select pictures"
 
 msgid "Import pictures into sequence"
-msgstr ""
+msgstr "Import pictures into sequence"
 
 msgid "Import pictures into Mapillary layer in a sequence"
-msgstr ""
+msgstr "Import pictures into Mapillary layer in a sequence"
 
 msgid "Join mode"
-msgstr ""
+msgstr "Join mode"
 
 msgid "Join/unjoin pictures"
-msgstr ""
+msgstr "Join/unjoin pictures"
 
 msgid "Join Mapillary pictures"
-msgstr ""
+msgstr "Join Mapillary pictures"
 
 msgid "Upload pictures"
-msgstr ""
+msgstr "Upload pictures"
 
 msgid "Upload Mapillary pictures"
-msgstr ""
+msgstr "Upload Mapillary pictures"
 
 msgid "Upload pictures."
-msgstr ""
+msgstr "Upload pictures."
 
 msgid "Walk mode"
-msgstr ""
+msgstr "Walk mode"
 
 msgid "Start walk mode"
-msgstr ""
+msgstr "Start walk mode"
 
 msgid "Zoom to selected image"
-msgstr ""
+msgstr "Zoom to selected image"
 
 msgid "Zoom to the currently selected Mapillary image"
-msgstr ""
+msgstr "Zoom to the currently selected Mapillary image"
 
 msgid "Uploaded {0} images"
-msgstr ""
+msgstr "Uploaded {0} images"
 
 msgid "Approve upload on the website"
-msgstr ""
+msgstr "Approve upload on the website"
 
 msgid "View in website"
-msgstr ""
+msgstr "View in website"
 
 msgid "Copy key"
-msgstr ""
+msgstr "Copy key"
 
 msgid "Copy key tag"
-msgstr ""
+msgstr "Copy key tag"
 
 msgid "Edit on website"
-msgstr ""
+msgstr "Edit on website"
 
 msgid "Export all images"
-msgstr ""
+msgstr "Export all images"
 
 msgid "Export selected sequence"
-msgstr ""
+msgstr "Export selected sequence"
 
 msgid "Export selected images"
-msgstr ""
+msgstr "Export selected images"
 
 msgid "Rewrite imported images"
-msgstr ""
+msgstr "Rewrite imported images"
 
 msgid "Select a folder"
-msgstr ""
+msgstr "Select a folder"
 
 msgid "Explore"
-msgstr ""
+msgstr "Explore"
 
 msgid "Select a directory"
-msgstr ""
+msgstr "Select a directory"
 
 msgid "Speed limit"
-msgstr ""
+msgstr "Speed limit"
 
 msgid "Give way"
-msgstr ""
+msgstr "Give way"
 
 msgid "No entry"
-msgstr ""
+msgstr "No entry"
 
 msgid "Intersection danger"
-msgstr ""
+msgstr "Intersection danger"
 
 msgid "Mandatory direction (any)"
-msgstr ""
+msgstr "Mandatory direction (any)"
 
 msgid "Uneven road"
-msgstr ""
+msgstr "Uneven road"
 
 msgid "No parking"
-msgstr ""
+msgstr "No parking"
 
 msgid "No overtaking"
-msgstr ""
+msgstr "No overtaking"
 
 msgid "Pedestrian crossing"
-msgstr ""
+msgstr "Pedestrian crossing"
 
 msgid "No turn"
-msgstr ""
+msgstr "No turn"
 
 msgid "Years"
-msgstr ""
+msgstr "Years"
 
 msgid "Months"
-msgstr ""
+msgstr "Months"
 
 msgid "Days"
-msgstr ""
+msgstr "Days"
 
 msgid "Imported images"
-msgstr ""
+msgstr "Imported images"
 
 msgid "Mapillary filter"
-msgstr ""
+msgstr "Mapillary filter"
 
 msgid "Open Mapillary filter dialog"
-msgstr ""
+msgstr "Open Mapillary filter dialog"
 
 msgid "Not older than: "
-msgstr ""
+msgstr "Not older than: "
 
 msgid "Downloaded images"
-msgstr ""
+msgstr "Downloaded images"
 
 msgid "Only images with signs"
-msgstr ""
+msgstr "Only images with signs"
 
 msgid "Choose signs"
-msgstr ""
+msgstr "Choose signs"
 
 msgid "Mapillary history"
-msgstr ""
+msgstr "Mapillary history"
 
 msgid "Open Mapillary history dialog"
-msgstr ""
+msgstr "Open Mapillary history dialog"
 
 msgid "Mapillary picture"
-msgstr ""
+msgstr "Mapillary picture"
 
 msgid "Open Mapillary window"
-msgstr ""
+msgstr "Open Mapillary window"
 
 msgid "Mapillary dialog"
-msgstr ""
+msgstr "Mapillary dialog"
 
 msgid "Open Mapillary main dialog"
-msgstr ""
+msgstr "Open Mapillary main dialog"
 
 msgid "Next picture"
-msgstr ""
+msgstr "Next picture"
 
 msgid "Shows the next picture in the sequence"
-msgstr ""
+msgstr "Shows the next picture in the sequence"
 
 msgid "Previous picture"
-msgstr ""
+msgstr "Previous picture"
 
 msgid "Shows the previous picture in the sequence"
-msgstr ""
+msgstr "Shows the previous picture in the sequence"
 
 msgid "Jump to red"
-msgstr ""
+msgstr "Jump to red"
 
 msgid "Jumps to the picture at the other side of the red line"
-msgstr ""
+msgstr "Jumps to the picture at the other side of the red line"
 
 msgid "Jump to blue"
-msgstr ""
+msgstr "Jump to blue"
 
 msgid "Jumps to the picture at the other side of the blue line"
-msgstr ""
+msgstr "Jumps to the picture at the other side of the blue line"
 
 msgid "Stops the walk."
-msgstr ""
+msgstr "Stops the walk."
 
 msgid "Play"
-msgstr ""
+msgstr "Play"
 
 msgid "Continues with the paused walk."
-msgstr ""
+msgstr "Continues with the paused walk."
 
 msgid "Pause"
-msgstr ""
+msgstr "Pause"
 
 msgid "Pauses the walk."
-msgstr ""
+msgstr "Pauses the walk."
 
 msgid "Reverse buttons position when displaying images."
-msgstr ""
+msgstr "Reverse buttons position when displaying images."
 
 msgid "Display hour when the picture was taken"
-msgstr ""
+msgstr "Display hour when the picture was taken"
 
 msgid "Use 24 hour format"
-msgstr ""
+msgstr "Use 24 hour format"
 
 msgid "Move to picture''s location with next/previous buttons"
-msgstr ""
+msgstr "Move to picture''s location with next/previous buttons"
 
 msgid "Download mode"
-msgstr ""
+msgstr "Download mode"
 
 msgid "You are logged in as ''{0}''."
-msgstr ""
+msgstr "You are logged in as ''{0}''."
 
 msgid "Re-Login"
-msgstr ""
+msgstr "Re-Login"
 
 msgid "You are currently not logged in."
-msgstr ""
+msgstr "You are currently not logged in."
 
 msgid "Go to setting and log in to Mapillary before uploading."
-msgstr ""
+msgstr "Go to setting and log in to Mapillary before uploading."
 
 msgid "Upload selected sequence"
-msgstr ""
+msgstr "Upload selected sequence"
 
 msgid "Delete after upload"
-msgstr ""
+msgstr "Delete after upload"
 
 msgid "Wait for full quality pictures"
-msgstr ""
+msgstr "Wait for full quality pictures"
 
 msgid "Follow selected image"
-msgstr ""
+msgstr "Follow selected image"
 
 msgid "Go forward"
-msgstr ""
+msgstr "Go forward"
 
 msgid "Deleted {0} image"
 msgid_plural "Deleted {0} images"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Deleted {0} image"
+msgstr[1] "Deleted {0} images"
 
 msgid "Imported {0} image"
 msgid_plural "Imported {0} images"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Imported {0} image"
+msgstr[1] "Imported {0} images"
 
 msgid "2 images joined"
-msgstr ""
+msgstr "2 images joined"
 
 msgid "Moved {0} image"
 msgid_plural "Moved {0} images"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Moved {0} image"
+msgstr[1] "Moved {0} images"
 
 msgid "Turned {0} image"
 msgid_plural "Turned {0} images"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Turned {0} image"
+msgstr[1] "Turned {0} images"
 
 msgid "2 images unjoined"
-msgstr ""
+msgstr "2 images unjoined"
 
 msgid ""
 "The downloaded OSM area is too big. Download mode has been changed to "
 "semiautomatic until the layer is restarted."
 msgstr ""
+"The downloaded OSM area is too big. Download mode has been changed to "
+"semiautomatic until the layer is restarted."
 
 msgid "Downloading"
-msgstr ""
+msgstr "Downloading"
 
 msgid "Select mode"
-msgstr ""
+msgstr "Select mode"
 
 msgid "Mapillary login"
-msgstr ""
+msgstr "Mapillary login"
 
 msgid "Login successful, return to JOSM."
-msgstr ""
+msgstr "Login successful, return to JOSM."
+
+msgid "Supported image formats (JPG and PNG)"
+msgstr "Supported image formats (JPG and PNG)"
 
 msgid "Downloading Mapillary images"
-msgstr ""
+msgstr "Downloading Mapillary images"
 
 msgid "Total Mapillary images: {0}"
-msgstr ""
+msgstr "Total Mapillary images: {0}"
 
 msgid "No images found"
-msgstr ""
+msgstr "No images found"
 
 msgid "Finished upload"
-msgstr ""
+msgstr "Finished upload"
 
 msgid "Uploading: {0}"
+msgstr "Uploading: {0}"
+
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
 msgstr ""
 
 msgid "Measured values"
@@ -28709,7 +29307,7 @@ msgid "Selection Area"
 msgstr "Selection Area"
 
 msgid "Selection Radius"
-msgstr ""
+msgstr "Selection Radius"
 
 msgid "Angle"
 msgstr "Angle"
@@ -28727,13 +29325,13 @@ msgid "Measurements"
 msgstr "Measurements"
 
 msgid "Merge overlap"
-msgstr ""
+msgstr "Merge overlap"
 
 msgid "Merge overlap of ways."
-msgstr ""
+msgstr "Merge overlap of ways."
 
 msgid "Merge Overlap (combine)"
-msgstr ""
+msgstr "Merge Overlap (combine)"
 
 msgid ""
 "<html>A role based relation membership was copied to all new ways.<br>You "
@@ -28750,7 +29348,7 @@ msgstr ""
 "this and correct it when necessary.</html>"
 
 msgid "Split way"
-msgstr ""
+msgstr "Split way"
 
 msgid "Michigan Left"
 msgstr "Michigan Left"
@@ -28774,313 +29372,336 @@ msgid "Unable to find via nodes. Please check your selection"
 msgstr "Unable to find via nodes. Please check your selection"
 
 msgid "About Plugin"
-msgstr ""
+msgstr "About Plugin"
 
 msgid "Native password manager plugin"
-msgstr ""
+msgstr "Native password manager plugin"
 
 msgid "No native password manager could be found!"
-msgstr ""
+msgstr "No native password manager could be found!"
 
 msgid ""
 "Depending on your Operating System / Distribution, you may have to create a "
 "default keyring / wallet first."
 msgstr ""
+"Depending on your Operating System / Distribution, you may have to create a "
+"default keyring / wallet first."
 
 msgid "No thanks, use JOSM''s plain text preferences storage"
-msgstr ""
+msgstr "No thanks, use JOSM''s plain text preferences storage"
 
 msgid ""
 "Found sensitive data that is still saved in JOSM''s preference file (plain "
 "text)."
 msgstr ""
+"Found sensitive data that is still saved in JOSM''s preference file (plain "
+"text)."
 
 msgid "Transfer to password manager and remove from preference file"
-msgstr ""
+msgstr "Transfer to password manager and remove from preference file"
 
 msgid "No, just keep it"
-msgstr ""
+msgstr "No, just keep it"
 
 msgid "Close the dialog and discard all changes"
 msgstr "Close the dialogue and discard all changes"
 
 msgid "Proceed and go to the next page"
-msgstr ""
+msgstr "Proceed and go to the next page"
 
 msgid "Finish"
-msgstr ""
+msgstr "Finish"
 
 msgid "Confirm the setup and close this dialog"
 msgstr "Confirm the setup and close this dialogue"
 
 msgid "JOSM/OSM API/Username"
-msgstr ""
+msgstr "JOSM/OSM API/Username"
 
 msgid "JOSM/OSM API/Password"
-msgstr ""
+msgstr "JOSM/OSM API/Password"
 
 msgid "{0}/Username"
-msgstr ""
+msgstr "{0}/Username"
 
 msgid "{0}/Password"
-msgstr ""
+msgstr "{0}/Password"
 
 msgid "JOSM/Proxy/Username"
-msgstr ""
+msgstr "JOSM/Proxy/Username"
 
 msgid "JOSM/Proxy/Password"
-msgstr ""
+msgstr "JOSM/Proxy/Password"
 
 msgid "JOSM/OAuth/OSM API/Key"
-msgstr ""
+msgstr "JOSM/OAuth/OSM API/Key"
 
 msgid "JOSM/OAuth/OSM API/Secret"
-msgstr ""
+msgstr "JOSM/OAuth/OSM API/Secret"
 
 msgid "Native Password Manager Plugin"
-msgstr ""
+msgstr "Native Password Manager Plugin"
 
 msgid "The username and password is protected by {0}."
-msgstr ""
+msgstr "The username and password is protected by {0}."
 
 msgid "username"
-msgstr ""
+msgstr "username"
 
 msgid "password"
-msgstr ""
+msgstr "password"
 
 msgid "proxy username"
-msgstr ""
+msgstr "proxy username"
 
 msgid "proxy password"
-msgstr ""
+msgstr "proxy password"
 
 msgid "oauth key"
-msgstr ""
+msgstr "oauth key"
 
 msgid "oauth secret"
-msgstr ""
+msgstr "oauth secret"
 
 msgid ""
 "<br><strong>Warning:</strong> There may be sensitive data left in your "
 "preference file. ({0})"
 msgstr ""
+"<br><strong>Warning:</strong> There may be sensitive data left in your "
+"preference file. ({0})"
 
 msgid "Save user and password ({0})"
-msgstr ""
+msgstr "Save user and password ({0})"
 
 msgid "Plain text, JOSM default"
-msgstr ""
+msgstr "Plain text, JOSM default"
 
 msgid "Use {0}"
-msgstr ""
+msgstr "Use {0}"
 
 msgid "Encrypt data with Windows logon credentials"
-msgstr ""
+msgstr "Encrypt data with Windows logon credentials"
 
 msgid "The native password manager plugin detected {0} on your system."
-msgstr ""
+msgstr "The native password manager plugin detected {0} on your system."
 
 msgid "Days without mapping: {0}."
-msgstr ""
+msgstr "Days without mapping: {0}."
 
 msgid ""
 "(To miserably continue mapping, edit out no_more_mapping\n"
 "from {0})"
 msgstr ""
+"(To miserably continue mapping, edit out no_more_mapping\n"
+"from {0})"
 
 msgid "Split by municipality"
-msgstr ""
+msgstr "Split by municipality"
 
 msgid "Split this data by municipality (admin_level=8)."
-msgstr ""
+msgstr "Split this data by municipality (admin_level=8)."
 
 msgid "Split by sector"
-msgstr ""
+msgstr "Split by sector"
 
 msgid "Split this data by sector (admin_level=10)."
-msgstr ""
+msgstr "Split this data by sector (admin_level=10)."
 
 msgid "Split by neighbourhood"
-msgstr ""
+msgstr "Split by neighbourhood"
 
 msgid "Split this data by neighbourhood (admin_level=11)."
-msgstr ""
+msgstr "Split this data by neighbourhood (admin_level=11)."
 
 msgid "Download open data"
-msgstr ""
+msgstr "Download open data"
 
 msgid "License URL not available: {0}"
 msgstr "Licence URL not available: {0}"
 
 msgid "OpenData preferences"
-msgstr ""
+msgstr "OpenData preferences"
 
 msgid "License Agreement"
 msgstr "Licence Agreement"
 
 msgid "Accept"
-msgstr ""
+msgstr "Accept"
 
 msgid "Refuse"
-msgstr ""
+msgstr "Refuse"
 
 msgid "I understand and accept these terms and conditions"
-msgstr ""
+msgstr "I understand and accept these terms and conditions"
 
 msgid "View the full text of this license"
 msgstr "View the full text of this licence"
 
 msgid "I refuse these terms and conditions. Cancel download."
-msgstr ""
+msgstr "I refuse these terms and conditions. Cancel download."
 
 msgid "Module bundled with opendata plugin"
-msgstr ""
+msgstr "Module bundled with opendata plugin"
 
 msgid ""
 "Please click on <strong>Download list</strong> to download and display a "
 "list of available modules."
 msgstr ""
+"Please click on <strong>Download list</strong> to download and display a "
+"list of available modules."
 
 msgid ""
 "The following module has been downloaded <strong>successfully</strong>:"
 msgid_plural ""
 "The following {0} modules have been downloaded <strong>successfully</strong>:"
 msgstr[0] ""
+"The following module has been downloaded <strong>successfully</strong>:"
 msgstr[1] ""
+"The following {0} modules have been downloaded <strong>successfully</strong>:"
 
 msgid "Downloading the following module has <strong>failed</strong>:"
 msgid_plural ""
 "Downloading the following {0} modules has <strong>failed</strong>:"
-msgstr[0] ""
+msgstr[0] "Downloading the following module has <strong>failed</strong>:"
 msgstr[1] ""
+"Downloading the following {0} modules has <strong>failed</strong>:"
 
 msgid "Modules"
-msgstr ""
+msgstr "Modules"
 
 msgid "Accept the new module sites and close the dialog"
 msgstr "Accept the new module sites and close the dialogue"
 
 msgid "Configure Module Sites"
-msgstr ""
+msgstr "Configure Module Sites"
 
 msgid "Download the list of available modules"
-msgstr ""
+msgstr "Download the list of available modules"
 
 msgid "Update modules"
-msgstr ""
+msgstr "Update modules"
 
 msgid "Update the selected modules"
-msgstr ""
+msgstr "Update the selected modules"
 
 msgid "Please restart JOSM to activate the downloaded modules."
-msgstr ""
+msgstr "Please restart JOSM to activate the downloaded modules."
 
 msgid ""
 "All installed modules are up to date. JOSM does not have to download newer "
 "versions."
 msgstr ""
+"All installed modules are up to date. JOSM does not have to download newer "
+"versions."
 
 msgid "Modules up to date"
-msgstr ""
+msgstr "Modules up to date"
 
 msgid "Configure the list of sites where modules are downloaded from"
-msgstr ""
+msgstr "Configure the list of sites where modules are downloaded from"
 
 msgid "Add Open Data Module description URL."
-msgstr ""
+msgstr "Add Open Data Module description URL."
 
 msgid "Edit Open Data Module description URL."
-msgstr ""
+msgstr "Edit Open Data Module description URL."
 
 msgid "Open Data Module description URL"
-msgstr ""
+msgstr "Open Data Module description URL"
 
 msgid "Download OSM data corresponding to the current data set."
-msgstr ""
+msgstr "Download OSM data corresponding to the current data set."
 
 msgid "Diff"
-msgstr ""
+msgstr "Diff"
 
 msgid "Perform diff between current data set and existing OSM data."
-msgstr ""
+msgstr "Perform diff between current data set and existing OSM data."
 
 msgid "Tools"
 msgstr "Tools"
 
 msgid "Open tools menu for this data."
-msgstr ""
+msgstr "Open tools menu for this data."
 
 msgid "Open the OpenData window."
-msgstr ""
+msgstr "Open the OpenData window."
 
 msgid "Raw data"
-msgstr ""
+msgstr "Raw data"
 
 msgid "OpenData Preferences"
-msgstr ""
+msgstr "OpenData Preferences"
 
 msgid ""
 "A special handler for various Open Data portals<br/><br/>Please read the "
 "Terms and Conditions of Use of each portal<br/>before any upload of data "
 "loaded by this plugin."
 msgstr ""
+"A special handler for various Open Data portals<br/><br/>Please read the "
+"Terms and Conditions of Use of each portal<br/>before any upload of data "
+"loaded by this plugin."
 
 msgid "General settings"
-msgstr ""
+msgstr "General settings"
 
 msgid ""
 "Import only raw data (i.e. do not add/delete tags or replace them by "
 "standard OSM tags)"
 msgstr ""
+"Import only raw data (i.e. do not add/delete tags or replace them by "
+"standard OSM tags)"
 
 msgid "Overpass API server:"
-msgstr ""
+msgstr "Overpass API server:"
 
 msgid "Overpass API server used to download OSM data"
-msgstr ""
+msgstr "Overpass API server used to download OSM data"
 
 msgid "XAPI server:"
-msgstr ""
+msgstr "XAPI server:"
 
 msgid ""
 "XAPI server used to download OSM data when Overpass API is not available"
 msgstr ""
+"XAPI server used to download OSM data when Overpass API is not available"
 
 msgid "Download modules"
-msgstr ""
+msgstr "Download modules"
 
 msgid "View summary"
-msgstr ""
+msgstr "View summary"
 
 msgid "View full text"
-msgstr ""
+msgstr "View full text"
 
 msgid ""
 "''Lambert CC 9 zones'' coordinates found with different zone codes for X and "
 "Y: "
 msgstr ""
+"''Lambert CC 9 zones'' coordinates found with different zone codes for X and "
+"Y: "
 
 msgid "OpenData XML files"
-msgstr ""
+msgstr "OpenData XML files"
 
 msgid "File to load"
-msgstr ""
+msgstr "File to load"
 
 msgid "7Zip Files"
-msgstr ""
+msgstr "7Zip Files"
 
 msgid "Reading 7Zip file..."
-msgstr ""
+msgstr "Reading 7Zip file..."
 
 msgid "Zip Files"
-msgstr ""
+msgstr "Zip Files"
 
 msgid "Reading Zip file..."
-msgstr ""
+msgstr "Reading Zip file..."
 
 msgid "Cannot transform to WGS84"
-msgstr ""
+msgstr "Cannot transform to WGS84"
 
 msgid ""
 "JOSM was unable to find a strict mathematical transformation between ''{0}'' "
@@ -29088,71 +29709,77 @@ msgid ""
 "perform a non-precise transformation (<b>with location errors up to 1 "
 "km</b>) ?<br/><br/>If so, <b>do NOT upload</b> such data to OSM !"
 msgstr ""
+"JOSM was unable to find a strict mathematical transformation between ''{0}'' "
+"and WGS84.<br /><br />Do you want to try a <i>lenient</i> method, which will "
+"perform a non-precise transformation (<b>with location errors up to 1 "
+"km</b>) ?<br/><br/>If so, <b>do NOT upload</b> such data to OSM !"
 
 msgid "Try lenient method"
-msgstr ""
+msgstr "Try lenient method"
 
 msgid "GML files"
-msgstr ""
+msgstr "GML files"
 
 msgid "KML/KMZ files"
-msgstr ""
+msgstr "KML/KMZ files"
 
 msgid "MapInfo files"
-msgstr ""
+msgstr "MapInfo files"
 
 msgid "Shapefiles"
-msgstr ""
+msgstr "Shapefiles"
 
 msgid ""
 "Unable to detect Coordinate Reference System.\n"
 "Would you like to fallback to ESPG:4326 (WGS 84) ?"
 msgstr ""
+"Unable to detect Coordinate Reference System.\n"
+"Would you like to fallback to ESPG:4326 (WGS 84) ?"
 
 msgid "Warning: CRS not found"
-msgstr ""
+msgstr "Warning: CRS not found"
 
 msgid "Unable to detect CRS !"
-msgstr ""
+msgstr "Unable to detect CRS !"
 
 msgid "Unable to find a data store for file {0}"
-msgstr ""
+msgstr "Unable to find a data store for file {0}"
 
 msgid "Loading shapefile ({0} features)"
-msgstr ""
+msgstr "Loading shapefile ({0} features)"
 
 msgid "CSV files"
-msgstr ""
+msgstr "CSV files"
 
 msgid "ODS files"
-msgstr ""
+msgstr "ODS files"
 
 msgid "No valid coordinates have been found."
-msgstr ""
+msgstr "No valid coordinates have been found."
 
 msgid "Invalid file. Bad length on line {0}. Expected {1} columns, got {2}."
-msgstr ""
+msgstr "Invalid file. Bad length on line {0}. Expected {1} columns, got {2}."
 
 msgid "XLS files"
-msgstr ""
+msgstr "XLS files"
 
 msgid "View OSM Wiki page"
-msgstr ""
+msgstr "View OSM Wiki page"
 
 msgid "Launch browser to the OSM Wiki page of the selected data set"
-msgstr ""
+msgstr "Launch browser to the OSM Wiki page of the selected data set"
 
 msgid "View Local Portal page"
-msgstr ""
+msgstr "View Local Portal page"
 
 msgid "Launch browser to the local portal page of the selected data set"
-msgstr ""
+msgstr "Launch browser to the local portal page of the selected data set"
 
 msgid "View National Portal page"
-msgstr ""
+msgstr "View National Portal page"
 
 msgid "Launch browser to the national portal page of the selected data set"
-msgstr ""
+msgstr "Launch browser to the national portal page of the selected data set"
 
 msgid "View License"
 msgstr "View Licence"
@@ -29173,163 +29800,184 @@ msgid ""
 "Warning: Cannot download module ''{0}''. Its download link is not known. "
 "Skipping download."
 msgstr ""
+"Warning: Cannot download module ''{0}''. Its download link is not known. "
+"Skipping download."
 
 msgid ""
 "Warning: Cannot download module ''{0}''. Its download link ''{1}'' is not a "
 "valid URL. Skipping download."
 msgstr ""
+"Warning: Cannot download module ''{0}''. Its download link ''{1}'' is not a "
+"valid URL. Skipping download."
 
 msgid "Downloading Module {0}..."
-msgstr ""
+msgstr "Downloading Module {0}..."
 
 msgid "An error occurred in module {0}"
-msgstr ""
+msgstr "An error occurred in module {0}"
 
 msgid "Last module update more than {0} days ago."
-msgstr ""
+msgstr "Last module update more than {0} days ago."
 
 msgid "Click to update the activated modules"
-msgstr ""
+msgstr "Click to update the activated modules"
 
 msgid "Click to skip updating the activated modules"
-msgstr ""
+msgstr "Click to skip updating the activated modules"
 
 msgid ""
 "Skipping module update after elapsed update interval. Automatic update at "
 "startup is disabled."
 msgstr ""
+"Skipping module update after elapsed update interval. Automatic update at "
+"startup is disabled."
 
 msgid ""
 "Running module update after elapsed update interval. Automatic update at "
 "startup is disabled."
 msgstr ""
+"Running module update after elapsed update interval. Automatic update at "
+"startup is disabled."
 
 msgid "Could not load module {0}. Delete from preferences?"
-msgstr ""
+msgstr "Could not load module {0}. Delete from preferences?"
 
 msgid "loading module ''{0}'' (version {1})"
-msgstr ""
+msgstr "loading module ''{0}'' (version {1})"
 
 msgid ""
 "<html>Could not load module {0} because the module<br>main class ''{1}'' was "
 "not found.<br>Delete from preferences?</html>"
 msgstr ""
+"<html>Could not load module {0} because the module<br>main class ''{1}'' was "
+"not found.<br>Delete from preferences?</html>"
 
 msgid "Loading modules ..."
-msgstr ""
+msgstr "Loading modules ..."
 
 msgid "Checking module preconditions..."
-msgstr ""
+msgstr "Checking module preconditions..."
 
 msgid "Loading module ''{0}''..."
-msgstr ""
+msgstr "Loading module ''{0}''..."
 
 msgid "JOSM could not find information about the following module:"
 msgid_plural "JOSM could not find information about the following modules:"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "JOSM could not find information about the following module:"
+msgstr[1] "JOSM could not find information about the following modules:"
 
 msgid "The module is not going to be loaded."
 msgid_plural "The modules are not going to be loaded."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "The module is not going to be loaded."
+msgstr[1] "The modules are not going to be loaded."
 
 msgid "Updating the following module has failed:"
 msgid_plural "Updating the following modules has failed:"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Updating the following module has failed:"
+msgstr[1] "Updating the following modules has failed:"
 
 msgid "Module update failed"
-msgstr ""
+msgstr "Module update failed"
 
 msgid "Warning: failed to download module information list"
-msgstr ""
+msgstr "Warning: failed to download module information list"
 
 msgid "Disable module"
-msgstr ""
+msgstr "Disable module"
 
 msgid "Click to delete the module ''{0}''"
-msgstr ""
+msgstr "Click to delete the module ''{0}''"
 
 msgid "Keep module"
-msgstr ""
+msgstr "Keep module"
 
 msgid "Click to keep the module ''{0}''"
-msgstr ""
+msgstr "Click to keep the module ''{0}''"
 
 msgid "Warning: failed to delete outdated module ''{0}''."
-msgstr ""
+msgstr "Warning: failed to delete outdated module ''{0}''."
 
 msgid ""
 "Warning: failed to install already downloaded module ''{0}''. Skipping "
 "installation. JOSM is still going to load the old module version."
 msgstr ""
+"Warning: failed to install already downloaded module ''{0}''. Skipping "
+"installation. JOSM is still going to load the old module version."
 
 msgid ""
 "Warning: failed to install module ''{0}'' from temporary download file "
 "''{1}''. Renaming failed."
 msgstr ""
+"Warning: failed to install module ''{0}'' from temporary download file "
+"''{1}''. Renaming failed."
 
 msgid ""
 "Do not ask again and remember my decision (go to Preferences->Modules to "
 "change it later)"
 msgstr ""
+"Do not ask again and remember my decision (go to Preferences->Modules to "
+"change it later)"
 
 msgid "The module file ''{0}'' does not include a Manifest."
-msgstr ""
+msgstr "The module file ''{0}'' does not include a Manifest."
 
 msgid "Invalid URL ''{0}'' in module {1}"
-msgstr ""
+msgstr "Invalid URL ''{0}'' in module {1}"
 
 msgid "<b>Module provided by an external source:</b> {0}"
-msgstr ""
+msgstr "<b>Module provided by an external source:</b> {0}"
 
 msgid "Failed to create module information from manifest for module ''{0}''"
-msgstr ""
+msgstr "Failed to create module information from manifest for module ''{0}''"
 
 msgid "Illegal entry in module list."
-msgstr ""
+msgstr "Illegal entry in module list."
 
 msgid "Reading local module information.."
-msgstr ""
+msgstr "Reading local module information.."
 
 msgid "Processing module site cache files..."
-msgstr ""
+msgstr "Processing module site cache files..."
 
 msgid ""
 "Warning: Failed to scan file ''{0}'' for module information. Skipping."
 msgstr ""
+"Warning: Failed to scan file ''{0}'' for module information. Skipping."
 
 msgid "Processing module site cache icon files..."
-msgstr ""
+msgstr "Processing module site cache icon files..."
 
 msgid "Processing module files..."
-msgstr ""
+msgstr "Processing module files..."
 
 msgid "Download module list..."
-msgstr ""
+msgstr "Download module list..."
 
 msgid "Downloading module list from ''{0}''"
-msgstr ""
+msgstr "Downloading module list from ''{0}''"
 
 msgid ""
 "Warning: failed to create module directory ''{0}''. Cannot cache module list "
 "from module site ''{1}''."
 msgstr ""
+"Warning: failed to create module directory ''{0}''. Cannot cache module list "
+"from module site ''{1}''."
 
 msgid "Writing module list to local cache ''{0}''"
-msgstr ""
+msgstr "Writing module list to local cache ''{0}''"
 
 msgid "Parsing module list from site ''{0}''"
-msgstr ""
+msgstr "Parsing module list from site ''{0}''"
 
 msgid ""
 "Failed to parse module list document from site ''{0}''. Skipping site. "
 "Exception was: {1}"
 msgstr ""
+"Failed to parse module list document from site ''{0}''. Skipping site. "
+"Exception was: {1}"
 
 msgid "Processing module list from site ''{0}''"
-msgstr ""
+msgstr "Processing module list from site ''{0}''"
 
 msgid "Open Visible..."
 msgstr "Open Visible..."
@@ -29360,115 +30008,115 @@ msgid "Firefox executable"
 msgstr "Firefox executable"
 
 msgid "OSM Server Files pbf compressed"
-msgstr ""
+msgstr "OSM Server Files pbf compressed"
 
 msgid "Download PBF"
-msgstr ""
+msgstr "Download PBF"
 
 msgid "Invalid changeset id: {0}"
-msgstr ""
+msgstr "Invalid changeset id: {0}"
 
 msgid "Invalid timestamp: {0}"
-msgstr ""
+msgstr "Invalid timestamp: {0}"
 
 msgid "Invalid DenseNodes key/values table"
 msgstr "Invalid DenseNodes key/values table"
 
 msgid "Reading OSM data..."
-msgstr ""
+msgstr "Reading OSM data..."
 
 msgid "Transform error: Min X must be smaller than max"
-msgstr ""
+msgstr "Transform error: Min X must be smaller than max"
 
 msgid "Transform error: Min Y must be smaller than max"
-msgstr ""
+msgstr "Transform error: Min Y must be smaller than max"
 
 msgid "Transform error: Points too close"
-msgstr ""
+msgstr "Transform error: Points too close"
 
 msgid "Transform error: Unsupported variant."
-msgstr ""
+msgstr "Transform error: Unsupported variant."
 
 msgid "Transform error: Unsupported orientation"
-msgstr ""
+msgstr "Transform error: Unsupported orientation"
 
 msgid "Finished"
-msgstr ""
+msgstr "Finished"
 
 msgid "Prefs"
-msgstr ""
+msgstr "Prefs"
 
 msgid "Load file..."
-msgstr ""
+msgstr "Load file..."
 
 msgid "Place"
-msgstr ""
+msgstr "Place"
 
 msgid "Show target"
-msgstr ""
+msgstr "Show target"
 
 msgid "Take X and Y from selected node"
-msgstr ""
+msgstr "Take X and Y from selected node"
 
 msgid "Debug info"
-msgstr ""
+msgstr "Debug info"
 
 msgid "Merge close nodes"
-msgstr ""
+msgstr "Merge close nodes"
 
 msgid "Remove objects smaller than"
-msgstr ""
+msgstr "Remove objects smaller than"
 
 msgid "Remove objects larger than"
-msgstr ""
+msgstr "Remove objects larger than"
 
 msgid "Only this color"
 msgstr "Only this colour"
 
 msgid "Remove parallel lines"
-msgstr ""
+msgstr "Remove parallel lines"
 
 msgid "Take only first X paths"
-msgstr ""
+msgstr "Take only first X paths"
 
 msgid "Color/width change"
 msgstr "Colour/width change"
 
 msgid "Shape closed"
-msgstr ""
+msgstr "Shape closed"
 
 msgid "Single segments"
-msgstr ""
+msgstr "Single segments"
 
 msgid "Orthogonal shapes"
-msgstr ""
+msgstr "Orthogonal shapes"
 
 msgid "Import settings"
-msgstr ""
+msgstr "Import settings"
 
 msgid "Introduce separate layers for:"
-msgstr ""
+msgstr "Introduce separate layers for:"
 
 msgid "Bind to coordinates"
-msgstr ""
+msgstr "Bind to coordinates"
 
 msgid "Projection:"
-msgstr ""
+msgstr "Projection:"
 
 msgid "Bottom left (min) corner:"
-msgstr ""
+msgstr "Bottom left (min) corner:"
 
 msgid "PDF X and Y"
-msgstr ""
+msgstr "PDF X and Y"
 
 msgid "East and North"
-msgstr ""
+msgstr "East and North"
 
 msgid "Top right (max) corner:"
-msgstr ""
+msgstr "Top right (max) corner:"
 
 msgid "Projection Preferences"
-msgstr ""
+msgstr "Projection Preferences"
 
 msgid "Close the dialog and apply projection preferences"
 msgstr "Close the dialogue and apply projection preferences"
@@ -29477,118 +30125,118 @@ msgid "Close the dialog, discard projection preference changes"
 msgstr "Close the dialogue, discard projection preference changes"
 
 msgid "Loading..."
-msgstr ""
+msgstr "Loading..."
 
 msgid "PDF file preview"
-msgstr ""
+msgstr "PDF file preview"
 
 msgid "Loaded"
-msgstr ""
+msgstr "Loaded"
 
 msgid "Imported PDF: "
-msgstr ""
+msgstr "Imported PDF: "
 
 msgid "Please select exactly one node."
-msgstr ""
+msgstr "Please select exactly one node."
 
 msgid "PDF files"
-msgstr ""
+msgstr "PDF files"
 
 msgid "OSM files"
-msgstr ""
+msgstr "OSM files"
 
 msgid "Preparing"
-msgstr ""
+msgstr "Preparing"
 
 msgid "Tolerance is not a number"
-msgstr ""
+msgstr "Tolerance is not a number"
 
 msgid "Could not parse color"
 msgstr "Could not parse colour"
 
 msgid "Could not parse max path count"
-msgstr ""
+msgstr "Could not parse max path count"
 
 msgid "Parsing file"
-msgstr ""
+msgstr "Parsing file"
 
 msgid "File not found."
-msgstr ""
+msgstr "File not found."
 
 msgid "Error while parsing: {0}"
-msgstr ""
+msgstr "Error while parsing: {0}"
 
 msgid "Removing parallel segments"
-msgstr ""
+msgstr "Removing parallel segments"
 
 msgid "Max distance is not a number"
-msgstr ""
+msgstr "Max distance is not a number"
 
 msgid "Joining nodes"
-msgstr ""
+msgstr "Joining nodes"
 
 msgid "Joining adjacent segments"
-msgstr ""
+msgstr "Joining adjacent segments"
 
 msgid "Removing small objects"
-msgstr ""
+msgstr "Removing small objects"
 
 msgid "Removing large objects"
-msgstr ""
+msgstr "Removing large objects"
 
 msgid "Finalizing layers"
 msgstr "Finalising layers"
 
 msgid "Please set a projection."
-msgstr ""
+msgstr "Please set a projection."
 
 msgid "Could not parse numbers. Please check."
-msgstr ""
+msgstr "Could not parse numbers. Please check."
 
 msgid "Building JOSM layer"
-msgstr ""
+msgstr "Building JOSM layer"
 
 msgid "Postprocessing layer"
-msgstr ""
+msgstr "Postprocessing layer"
 
 msgid "Saving to file."
-msgstr ""
+msgstr "Saving to file."
 
 msgid " Writing to file"
-msgstr ""
+msgstr " Writing to file"
 
 msgid "Building JOSM layer."
-msgstr ""
+msgstr "Building JOSM layer."
 
 msgid " "
-msgstr ""
+msgstr " "
 
 msgid "Import PDF file"
-msgstr ""
+msgstr "Import PDF file"
 
 msgid "Import PDF file."
-msgstr ""
+msgstr "Import PDF file."
 
 msgid "Import PDF"
-msgstr ""
+msgstr "Import PDF"
 
 msgid " {0} objects so far"
-msgstr ""
+msgstr " {0} objects so far"
 
 msgid "Parsing PDF"
-msgstr ""
+msgstr "Parsing PDF"
 
 msgid "Encrypted documents not supported."
-msgstr ""
+msgstr "Encrypted documents not supported."
 
 msgid "The PDF file must have exactly one page."
-msgstr ""
+msgstr "The PDF file must have exactly one page."
 
 msgid "Read error: "
-msgstr ""
+msgstr "Read error: "
 
 msgid "Write error: "
-msgstr ""
+msgstr "Write error: "
 
 msgid "Write coordinates to image header"
 msgstr "Write coordinates to image header"
@@ -29632,7 +30280,7 @@ msgid "Could not rename file!"
 msgstr "Could not rename file!"
 
 msgid "Could not rename file {0} to {1}!"
-msgstr ""
+msgstr "Could not rename file {0} to {1}!"
 
 msgid "<html><h3>There are old backup files in the image directory!</h3>"
 msgstr "<html><h3>There are old backup files in the image directory!</h3>"
@@ -29656,120 +30304,122 @@ msgid "Test failed: Could not write mtime."
 msgstr "Test failed: Could not write mtime."
 
 msgid "Adjust photos"
-msgstr ""
+msgstr "Adjust photos"
 
 msgid "Move and position photos"
-msgstr ""
+msgstr "Move and position photos"
 
 msgid ""
 "Click+drag photo, shift+click to position photo, control+click to set "
 "direction."
 msgstr ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 
 msgid "Please load some photos."
-msgstr ""
+msgstr "Please load some photos."
 
 msgid "Edit photo GPS data"
-msgstr ""
+msgstr "Edit photo GPS data"
 
 msgid "Edit GPS data of selected photo."
-msgstr ""
+msgstr "Edit GPS data of selected photo."
 
 msgid "Edit Photo GPS Data"
-msgstr ""
+msgstr "Edit Photo GPS Data"
 
 msgid "Please select an image first."
-msgstr ""
+msgstr "Please select an image first."
 
 msgid "No image selected"
-msgstr ""
+msgstr "No image selected"
 
 msgid "(Empty values delete the according fields.)"
-msgstr ""
+msgstr "(Empty values delete the according fields.)"
 
 msgid "coordinates"
 msgstr "coordinates"
 
 msgid "Latitude and longitude"
-msgstr ""
+msgstr "Latitude and longitude"
 
 msgid "Edit Image Coordinates"
-msgstr ""
+msgstr "Edit Image Coordinates"
 
 msgid "Edit coordinates in separate editor"
-msgstr ""
+msgstr "Edit coordinates in separate editor"
 
 msgid "altitude"
-msgstr ""
+msgstr "altitude"
 
 msgid "Altitude:"
-msgstr ""
+msgstr "Altitude:"
 
 msgid "speed"
-msgstr ""
+msgstr "speed"
 
 msgid "positive number or empty"
-msgstr ""
+msgstr "positive number or empty"
 
 msgid "Speed:"
-msgstr ""
+msgstr "Speed:"
 
 msgid "direction"
-msgstr ""
+msgstr "direction"
 
 msgid "range -360.0 .. 360.0, or empty"
-msgstr ""
+msgstr "range -360.0 .. 360.0, or empty"
 
 msgid "Direction:"
-msgstr ""
+msgstr "Direction:"
 
 msgid "°"
-msgstr ""
+msgstr "°"
 
 msgid "Undo changes made in this dialog"
-msgstr ""
+msgstr "Undo changes made in this dialog"
 
 msgid "Reload GPS data from image file"
-msgstr ""
+msgstr "Reload GPS data from image file"
 
 msgid "New layer for untagged images"
-msgstr ""
+msgstr "New layer for untagged images"
 
 msgid "Untagged Images"
-msgstr ""
+msgstr "Untagged Images"
 
 msgid "Do you want to save current calibration of layer {0}?"
-msgstr ""
+msgstr "Do you want to save current calibration of layer {0}?"
 
 msgid "Select an option"
-msgstr ""
+msgstr "Select an option"
 
 msgid "Load Picture Calibration..."
 msgstr "Load Picture Calibration..."
 
 msgid "Loads calibration data from a file"
-msgstr ""
+msgstr "Loads calibration data from a file"
 
 msgid "Loading file failed: {0}"
 msgstr "Loading file failed: {0}"
 
 msgid "Problem occurred"
-msgstr ""
+msgstr "Problem occurred"
 
 msgid "Load World File Calibration..."
-msgstr ""
+msgstr "Load World File Calibration..."
 
 msgid "Loads calibration data from a world file"
-msgstr ""
+msgstr "Loads calibration data from a world file"
 
 msgid "Reset Calibration"
-msgstr ""
+msgstr "Reset Calibration"
 
 msgid "Reset calibration"
-msgstr ""
+msgstr "Reset calibration"
 
 msgid "Calibration reset"
-msgstr ""
+msgstr "Calibration reset"
 
 msgid "Save Picture Calibration..."
 msgstr "Save Picture Calibration..."
@@ -29784,7 +30434,7 @@ msgid "New picture layer from clipboard"
 msgstr "New picture layer from clipboard"
 
 msgid "Supported image files, *.zip, *.kml"
-msgstr ""
+msgstr "Supported image files, *.zip, *.kml"
 
 msgid "New picture layer from file..."
 msgstr "New picture layer from file..."
@@ -29794,15 +30444,18 @@ msgid ""
 "layers!\n"
 "Please use {0} to upload your KMLs that were calibrated incorrectly."
 msgstr ""
+"KML calibration is in beta stage and may produce incorrectly calibrated "
+"layers!\n"
+"Please use {0} to upload your KMLs that were calibrated incorrectly."
 
 msgid "Notification"
-msgstr ""
+msgstr "Notification"
 
 msgid "PicLayer move"
 msgstr "PicLayer move"
 
 msgid "Moved"
-msgstr ""
+msgstr "Moved"
 
 msgid "Drag to move the picture"
 msgstr "Drag to move the picture"
@@ -29811,7 +30464,7 @@ msgid "PicLayer rotate"
 msgstr "PicLayer rotate"
 
 msgid "Rotated"
-msgstr ""
+msgstr "Rotated"
 
 msgid "Drag to rotate the picture"
 msgstr "Drag to rotate the picture"
@@ -29820,7 +30473,7 @@ msgid "PicLayer scale X"
 msgstr "PicLayer scale X"
 
 msgid "Scaled by X"
-msgstr ""
+msgstr "Scaled by X"
 
 msgid "Drag to scale the picture in the X Axis"
 msgstr "Drag to scale the picture in the X Axis"
@@ -29829,7 +30482,7 @@ msgid "PicLayer scale"
 msgstr "PicLayer scale"
 
 msgid "Scaled"
-msgstr ""
+msgstr "Scaled"
 
 msgid "Drag to scale the picture in the X and Y Axis"
 msgstr "Drag to scale the picture in the X and Y Axis"
@@ -29838,19 +30491,19 @@ msgid "PicLayer scale Y"
 msgstr "PicLayer scale Y"
 
 msgid "Scaled by Y"
-msgstr ""
+msgstr "Scaled by Y"
 
 msgid "Drag to scale the picture in the Y Axis"
 msgstr "Drag to scale the picture in the Y Axis"
 
 msgid "PicLayer shear"
-msgstr ""
+msgstr "PicLayer shear"
 
 msgid "Sheared"
-msgstr ""
+msgstr "Sheared"
 
 msgid "Drag to shear the picture"
-msgstr ""
+msgstr "Drag to shear the picture"
 
 msgid "PicLayer Move point"
 msgstr "PicLayer Move point"
@@ -29859,10 +30512,10 @@ msgid "Point added/moved"
 msgstr "Point added/moved"
 
 msgid "Drag or create point on the picture"
-msgstr ""
+msgstr "Drag or create point on the picture"
 
 msgid "PicLayer Remove point"
-msgstr ""
+msgstr "PicLayer Remove point"
 
 msgid "Point removed"
 msgstr "Point removed"
@@ -29871,16 +30524,16 @@ msgid "Remove point on the picture"
 msgstr "Remove point on the picture"
 
 msgid "PicLayer Transform point"
-msgstr ""
+msgstr "PicLayer Transform point"
 
 msgid "Point transformed"
 msgstr "Point transformed"
 
 msgid "Transform point on the picture"
-msgstr ""
+msgstr "Transform point on the picture"
 
 msgid "PicLayer: {0}"
-msgstr ""
+msgstr "PicLayer: {0}"
 
 msgid "Calibration Files"
 msgstr "Calibration Files"
@@ -29914,7 +30567,7 @@ msgid "Do you want to apply it ?"
 msgstr "Do you want to apply it ?"
 
 msgid "Load calibration file?"
-msgstr ""
+msgstr "Load calibration file?"
 
 msgid "It will be applied automatically."
 msgstr "It will be applied automatically."
@@ -29931,10 +30584,10 @@ msgid "Point info."
 msgstr "Point info."
 
 msgid "Connecting server"
-msgstr ""
+msgstr "Connecting server"
 
 msgid "PointInfo"
-msgstr ""
+msgstr "PointInfo"
 
 msgid "Data not available."
 msgstr "Data not available."
@@ -29943,28 +30596,28 @@ msgid "Add new address point"
 msgstr "Add new address point"
 
 msgid "Tags copied to clipboard."
-msgstr ""
+msgstr "Tags copied to clipboard."
 
 msgid "New address point added."
-msgstr ""
+msgstr "New address point added."
 
 msgid "Download Osmosis poly"
-msgstr ""
+msgstr "Download Osmosis poly"
 
 msgid "Reading polygon filter file..."
-msgstr ""
+msgstr "Reading polygon filter file..."
 
 msgid "Error reading poly file: {0}"
-msgstr ""
+msgstr "Error reading poly file: {0}"
 
 msgid "The file must begin with a polygon name"
-msgstr ""
+msgstr "The file must begin with a polygon name"
 
 msgid "There are less than 2 points in an area"
-msgstr ""
+msgstr "There are less than 2 points in an area"
 
 msgid "A polygon coordinate line must contain exactly 2 numbers"
-msgstr ""
+msgstr "A polygon coordinate line must contain exactly 2 numbers"
 
 msgid "Unable to parse {0} as a number"
 msgstr "Unable to parse {0} as a number"
@@ -29991,7 +30644,7 @@ msgid "Printer"
 msgstr "Printer"
 
 msgid "Media"
-msgstr ""
+msgstr "Media"
 
 msgid "Orientation"
 msgstr "Orientation"
@@ -30030,7 +30683,7 @@ msgid "Printing has failed."
 msgstr "Printing has failed."
 
 msgid "Proj4J: {0} selected"
-msgstr ""
+msgstr "Proj4J: {0} selected"
 
 msgid "Selected: {0}"
 msgstr "Selected: {0}"
@@ -30041,6 +30694,12 @@ msgstr "Proj4J Plugin"
 msgid "Code"
 msgstr "Code"
 
+msgid "Can''t parse a time from this string."
+msgstr "Can''t parse a time from this string."
+
+msgid "Invalid value"
+msgstr "Invalid value"
+
 msgid "added"
 msgstr "added"
 
@@ -30063,7 +30722,7 @@ msgid "Create Stops from a GTFS file"
 msgstr "Create Stops from a GTFS file"
 
 msgid "Select GTFS file (stops.txt)"
-msgstr ""
+msgstr "Select GTFS file (stops.txt)"
 
 msgid "File \"{0}\" does not exist"
 msgstr "File \"{0}\" does not exist"
@@ -30087,10 +30746,10 @@ msgid "Create Stops from GTFS"
 msgstr "Create Stops from GTFS"
 
 msgid "GTFS-Stops"
-msgstr ""
+msgstr "GTFS-Stops"
 
 msgid "Type of stops to add"
-msgstr ""
+msgstr "Type of stops to add"
 
 msgid "Time on your GPS device"
 msgstr "Time on your GPS device"
@@ -30128,15 +30787,6 @@ msgstr "Catch"
 msgid "Join"
 msgstr "Join"
 
-msgid "Enable"
-msgstr "Enable"
-
-msgid "Can''t parse a time from this string."
-msgstr "Can''t parse a time from this string."
-
-msgid "Invalid value"
-msgstr "Invalid value"
-
 msgid "moved"
 msgstr "moved"
 
@@ -30277,7 +30927,7 @@ msgid "Public Transport: Edit track stop list"
 msgstr "Public Transport: Edit track stop list"
 
 msgid "Public Transport: Relocate nodes in track stoplist"
-msgstr ""
+msgstr "Public Transport: Relocate nodes in track stoplist"
 
 msgid "Public Transport: sort track stop list"
 msgstr "Public Transport: sort track stop list"
@@ -30286,7 +30936,7 @@ msgid "Public Transport: Suggest stops"
 msgstr "Public Transport: Suggest stops"
 
 msgid "Stopname"
-msgstr ""
+msgstr "Stopname"
 
 msgid "Public Transport: Detach waypoints"
 msgstr "Public Transport: Detach waypoints"
@@ -30490,13 +31140,13 @@ msgid "Reverted changeset"
 msgstr "Reverted changeset"
 
 msgid "It is not allowed to revert changeset from {0}"
-msgstr ""
+msgstr "It is not allowed to revert changeset from {0}"
 
 msgid "Downloading objects history"
-msgstr ""
+msgstr "Downloading objects history"
 
 msgid "Missing merge target for {0} with id {1}"
-msgstr ""
+msgstr "Missing merge target for {0} with id {1}"
 
 msgid "Objects history"
 msgstr ""
@@ -30520,21 +31170,23 @@ 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 ""
+"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?"
 
 msgid "Confirm"
 msgstr "Confirm"
 
 msgid "Fetching missing primitives"
-msgstr ""
+msgstr "Fetching missing primitives"
 
 msgid "Downloading changeset"
-msgstr ""
+msgstr "Downloading changeset"
 
 msgid "See {0}"
-msgstr ""
+msgstr "See {0}"
 
 msgid "Revert changeset #{0}"
-msgstr ""
+msgstr "Revert changeset #{0}"
 
 msgid ""
 "Warning: unsupported start element ''{0}'' in changeset content at position "
@@ -30626,10 +31278,10 @@ msgid "Remove relation ''{0}'' at position {1} from relation ''{2}''"
 msgstr "Remove relation ''{0}'' at position {1} from relation ''{2}''"
 
 msgid "routing active route"
-msgstr ""
+msgstr "routing active route"
 
 msgid "routing inactive route"
-msgstr ""
+msgstr "routing inactive route"
 
 msgid "Routing"
 msgstr "Routing"
@@ -30659,7 +31311,7 @@ msgid "Fastest"
 msgstr "Fastest"
 
 msgid "Ignore oneways"
-msgstr ""
+msgstr "Ignore oneways"
 
 msgid "Reverse route"
 msgstr "Reverse route"
@@ -30668,7 +31320,7 @@ msgid "Clear route"
 msgstr "Clear route"
 
 msgid "Reconstruct Graph"
-msgstr ""
+msgstr "Reconstruct Graph"
 
 msgid "Routing Plugin Preferences"
 msgstr "Routing Plug-in Preferences"
@@ -30811,7 +31463,7 @@ msgid "No object selected"
 msgstr "No object selected"
 
 msgid "SeaChart Editor"
-msgstr ""
+msgstr "SeaChart Editor"
 
 msgid "Seamark Inspector"
 msgstr "Seamark Inspector"
@@ -30883,7 +31535,7 @@ msgid "Area Threshold"
 msgstr "Area Threshold"
 
 msgid "Area Factor"
-msgstr ""
+msgstr "Area Factor"
 
 msgid "Distance Threshold"
 msgstr "Distance Threshold"
@@ -31129,60 +31781,62 @@ msgid "Terrace"
 msgstr "Terrace"
 
 msgid "To-fix"
-msgstr ""
+msgstr "To-fix"
 
 msgid "Open to-fix window."
-msgstr ""
+msgstr "Open to-fix window."
 
 msgid "Tool:To-fix"
-msgstr ""
+msgstr "Tool:To-fix"
 
 msgid "Skip"
-msgstr ""
+msgstr "Skip"
 
 msgid "Skip Error"
-msgstr ""
+msgstr "Skip Error"
 
 msgid "Fixed"
-msgstr ""
+msgstr "Fixed"
 
 msgid "Fixed Error"
-msgstr ""
+msgstr "Fixed Error"
 
 msgid "Not an error"
-msgstr ""
+msgstr "Not an error"
 
 msgid "Set download area (m²)"
-msgstr ""
+msgstr "Set download area (m²)"
 
 msgid "~.02"
-msgstr ""
+msgstr "~.02"
 
 msgid "tofix:Skip item"
-msgstr ""
+msgstr "tofix:Skip item"
 
 msgid "tofix:Fixed item"
-msgstr ""
+msgstr "tofix:Fixed item"
 
 msgid "tofix:Not a Error item"
-msgstr ""
+msgstr "tofix:Not a Error item"
 
 msgid "Maintenance server"
-msgstr ""
+msgstr "Maintenance server"
 
 msgid ""
 "<html>Something went wrong, please update the plugin or report an issue at "
 "<a href=\"\">josm-tofix-plugin/issues</a></html>"
 msgstr ""
+"<html>Something went wrong, please update the plugin or report an issue at "
+"<a href=\"\">josm-tofix-plugin/issues</a></html>"
 
 msgid "Something went wrong, try again"
-msgstr ""
+msgstr "Something went wrong, try again"
 
 msgid "Cannot place a node outside of the world."
 msgstr "Cannot place a node outside of the world."
 
 msgid "Layer to draw OSM error"
-msgstr ""
+msgstr "Layer to draw OSM error"
 
 msgid "Browse"
 msgstr "Browse"
@@ -31326,6 +31980,8 @@ msgid ""
 "{0} of {1} OSM objects are referenced but not there.\n"
 "Do you want to load them from OSM-Server?"
 msgstr ""
+"{0} of {1} OSM objects are referenced but not there.\n"
+"Do you want to load them from OSM-Server?"
 
 msgid "Load objects from server"
 msgstr "Load objects from server"
@@ -31351,7 +32007,7 @@ msgid "KeyID"
 msgstr "KeyID"
 
 msgid "OSM-Info"
-msgstr ""
+msgstr "OSM-Info"
 
 msgid "Signed"
 msgstr "Signed"
@@ -31403,44 +32059,48 @@ msgid "Use separate GnuPG configuration directory?"
 msgstr "Use separate GnuPG configuration directory?"
 
 msgid "GnuPG"
-msgstr ""
+msgstr "GnuPG"
 
 msgid "Dialog"
 msgstr "Dialogue"
 
 msgid "Signed key value pair was: {0}={1}"
-msgstr ""
+msgstr "Signed key value pair was: {0}={1}"
 
 msgid "{0} Signatures found."
-msgstr ""
+msgstr "{0} Signatures found."
 
 msgid "Signature Info"
-msgstr ""
+msgstr "Signature Info"
 
 msgid "Sorry, there are no Signatures for the selected Node."
-msgstr ""
+msgstr "Sorry, there are no Signatures for the selected Node."
 
 msgid "No Signature found"
-msgstr ""
+msgstr "No Signature found"
 
 msgid ""
 "Selected node was:\n"
 "{0}"
 msgstr ""
+"Selected node was:\n"
+"{0}"
 
 msgid "Sorry, there are no Signatures for the selected Attribute."
-msgstr ""
+msgstr "Sorry, there are no Signatures for the selected Attribute."
 
 msgid ""
 "Selected key value pair was:\n"
 "{0}={1}"
 msgstr ""
+"Selected key value pair was:\n"
+"{0}={1}"
 
 msgid "Sorry, there are no Signatures for the selected Segment."
-msgstr ""
+msgstr "Sorry, there are no Signatures for the selected Segment."
 
 msgid "Selected WaySegment was:"
-msgstr ""
+msgstr "Selected WaySegment was:"
 
 msgid "Signature Files"
 msgstr "Signature Files"
@@ -31467,7 +32127,7 @@ msgid "Manipulation Warning"
 msgstr "Manipulation Warning"
 
 msgid "Select a signing key from your keyring-file:"
-msgstr ""
+msgstr "Select a signing key from your keyring-file:"
 
 msgid "Don''t ask again for the key"
 msgstr "Don''t ask again for the key"
@@ -31476,10 +32136,10 @@ msgid "Use a random key from this list"
 msgstr "Use a random key from this list"
 
 msgid "Create new Key"
-msgstr ""
+msgstr "Create new Key"
 
 msgid "Select a Key to sign"
-msgstr ""
+msgstr "Select a Key to sign"
 
 msgid ""
 "The object with the ID \"{0}\" ({1}) is newly created.\n"
@@ -31530,7 +32190,7 @@ msgid "Algorithm: "
 msgstr "Algorithm: "
 
 msgid "Strength in bit: "
-msgstr ""
+msgstr "Strength in bit: "
 
 msgid "Creation date: "
 msgstr "Creation date: "
@@ -31539,7 +32199,7 @@ msgid "Expiration date: "
 msgstr "Expiration date: "
 
 msgid "PGP-Key details"
-msgstr ""
+msgstr "PGP-Key details"
 
 msgid "User-ID:"
 msgstr "User-ID:"
@@ -31548,7 +32208,7 @@ msgid "Select algorithm:"
 msgstr "Select algorithm:"
 
 msgid "Choose Bitlength (Strength):"
-msgstr ""
+msgstr "Choose Bitlength (Strength):"
 
 msgid "Encryption algorithm to protect private key:"
 msgstr "Encryption algorithm to protect private key:"
@@ -31557,7 +32217,7 @@ msgid "Choose an expiry date for the key:"
 msgstr "Choose an expiry date for the key:"
 
 msgid "Create a new signing key"
-msgstr ""
+msgstr "Create a new signing key"
 
 msgid "No such lane."
 msgstr "No such lane."
@@ -31573,6 +32233,8 @@ msgid ""
 "<html>An error occurred while constructing the model. Please run the "
 "validator to make sure the data is consistent.<br><br>Error: {0}</html>"
 msgstr ""
+"<html>An error occurred while constructing the model. Please run the "
+"validator to make sure the data is consistent.<br><br>Error: {0}</html>"
 
 msgid "Edit turn relations and lane lengths for selected node."
 msgstr "Edit turn relations and lane lengths for selected node."
@@ -31581,16 +32243,16 @@ msgid "Validate turn- and lane-length-relations for consistency."
 msgstr "Validate turn- and lane-length-relations for consistency."
 
 msgid "Turn Lanes"
-msgstr ""
+msgstr "Turn Lanes"
 
 msgid "Edit turn lanes"
-msgstr ""
+msgstr "Edit turn lanes"
 
 msgid "Quick-Fix"
-msgstr ""
+msgstr "Quick-Fix"
 
 msgid "Revalidate all turnlanes-relations."
-msgstr ""
+msgstr "Revalidate all turnlanes-relations."
 
 msgid "Automatically fixes the issue."
 msgstr "Automatically fixes the issue."
@@ -31599,22 +32261,22 @@ msgid "Selects the offending relation."
 msgstr "Selects the offending relation."
 
 msgid "Add turn"
-msgstr ""
+msgstr "Add turn"
 
 msgid "Delete lane."
 msgstr "Delete lane."
 
 msgid "Delete turn."
-msgstr ""
+msgstr "Delete turn."
 
 msgid "{0} lanes are not referenced in any turn-relation."
-msgstr ""
+msgstr "{0} lanes are not referenced in any turn-relation."
 
 msgid "Put the ways in order."
 msgstr "Put the ways in order."
 
 msgid "Relation references non-existent (regular) lane {0}"
-msgstr ""
+msgstr "Relation references non-existent (regular) lane {0}"
 
 msgid "Relation references non-existent extra lane {0}"
 msgstr "Relation references non-existent extra lane {0}"
@@ -31626,17 +32288,21 @@ msgid "Create/Edit turn restriction..."
 msgstr "Create/Edit turn restriction..."
 
 msgid "Create or edit a turn restriction."
-msgstr ""
+msgstr "Create or edit a turn restriction."
 
 msgid ""
 "In the following table you can edit the <strong>raw tags</strong> of the OSM "
 "relation representing this turn restriction."
 msgstr ""
+"In the following table you can edit the <strong>raw tags</strong> of the OSM "
+"relation representing this turn restriction."
 
 msgid ""
 "In the following table you can edit the <strong>raw members</strong> of the "
 "OSM relation representing this turn restriction."
 msgstr ""
+"In the following table you can edit the <strong>raw members</strong> of the "
+"OSM relation representing this turn restriction."
 
 msgid "Type:"
 msgstr "Type:"
@@ -31648,7 +32314,7 @@ msgid "To:"
 msgstr "To:"
 
 msgid "Vias:"
-msgstr ""
+msgstr "Vias:"
 
 msgid "Copy to the clipboard"
 msgstr "Copy to the clipboard"
@@ -31660,6 +32326,8 @@ msgid ""
 "Cannot add object ''{0}'' as relation member because it is deleted or "
 "invisible in layer ''{1}''"
 msgstr ""
+"Cannot add object ''{0}'' as relation member because it is deleted or "
+"invisible in layer ''{1}''"
 
 msgid "Clear the selected roles or delete the selected members"
 msgstr "Clear the selected roles or delete the selected members"
@@ -31677,22 +32345,22 @@ msgid "Edit basic attributes of a turn restriction"
 msgstr "Edit basic attributes of a turn restriction"
 
 msgid "Edit the raw tags and members of this turn restriction"
-msgstr ""
+msgstr "Edit the raw tags and members of this turn restriction"
 
 msgid "Errors/Warnings"
 msgstr "Errors/Warnings"
 
 msgid "Show errors and warnings related to this turn restriction"
-msgstr ""
+msgstr "Show errors and warnings related to this turn restriction"
 
 msgid "Create a new turn restriction in layer ''{0}''"
-msgstr ""
+msgstr "Create a new turn restriction in layer ''{0}''"
 
 msgid "Edit a new turn restriction in layer ''{0}''"
-msgstr ""
+msgstr "Edit a new turn restriction in layer ''{0}''"
 
 msgid "Edit turn restriction ''{0}'' in layer ''{1}''"
-msgstr ""
+msgstr "Edit turn restriction ''{0}'' in layer ''{1}''"
 
 msgid ""
 "There is still an unresolved error or warning identified for this turn "
@@ -31701,25 +32369,29 @@ msgid_plural ""
 "There are still {0} errors and/or warnings identified for this turn "
 "restriction. You are recommended to resolve these issues first."
 msgstr[0] ""
+"There is still an unresolved error or warning identified for this turn "
+"restriction. You are recommended to resolve this issue first."
 msgstr[1] ""
+"There are still {0} errors and/or warnings identified for this turn "
+"restriction. You are recommended to resolve these issues first."
 
 msgid "Do you want to save anyway?"
-msgstr ""
+msgstr "Do you want to save anyway?"
 
 msgid "Yes, save anyway"
-msgstr ""
+msgstr "Yes, save anyway"
 
 msgid "Save the turn restriction despite of errors and/or warnings"
-msgstr ""
+msgstr "Save the turn restriction despite of errors and/or warnings"
 
 msgid "No, resolve issues first"
-msgstr ""
+msgstr "No, resolve issues first"
 
 msgid "Cancel saving and start resolving pending issues first"
-msgstr ""
+msgstr "Cancel saving and start resolving pending issues first"
 
 msgid "Pending errors and warnings"
-msgstr ""
+msgstr "Pending errors and warnings"
 
 msgid ""
 "This turn restriction refers to an object which was deleted outside of this "
@@ -31728,7 +32400,11 @@ msgid_plural ""
 "This turn restriction refers to {0} objects which were deleted outside of "
 "this turn restriction editor:"
 msgstr[0] ""
+"This turn restriction refers to an object which was deleted outside of this "
+"turn restriction editor:"
 msgstr[1] ""
+"This turn restriction refers to {0} objects which were deleted outside of "
+"this turn restriction editor:"
 
 msgid ""
 "Updates to this turn restriction can''t be saved unless deleted members are "
@@ -31765,23 +32441,23 @@ msgid "Already participating in a conflict"
 msgstr "Already participating in a conflict"
 
 msgid "Delete this turn restriction"
-msgstr ""
+msgstr "Delete this turn restriction"
 
 msgid "Select this turn restriction"
-msgstr ""
+msgstr "Select this turn restriction"
 
 msgid "Activate the layer this turn restriction belongs to and zoom to it"
-msgstr ""
+msgstr "Activate the layer this turn restriction belongs to and zoom to it"
 
 msgid "{0} warning"
 msgid_plural "{0} warnings"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} warning"
+msgstr[1] "{0} warnings"
 
 msgid "{0} error"
 msgid_plural "{0} errors"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} error"
+msgstr[1] "{0} errors"
 
 msgid "no issues"
 msgstr "no issues"
@@ -31802,10 +32478,10 @@ msgid "Paste from the clipboard"
 msgstr "Paste from the clipboard"
 
 msgid "Create new turn restriction"
-msgstr ""
+msgstr "Create new turn restriction"
 
 msgid "Launch the turn restriction editor to create a new turn restriction"
-msgstr ""
+msgstr "Launch the turn restriction editor to create a new turn restriction"
 
 msgid "No Right Turn"
 msgstr "No Right Turn"
@@ -31838,24 +32514,26 @@ msgid ""
 "Select the vehicle types this turn restriction is <strong>not</strong> "
 "applicable for."
 msgstr ""
+"Select the vehicle types this turn restriction is <strong>not</strong> "
+"applicable for."
 
 msgid "Public Service Vehicles"
-msgstr ""
+msgstr "Public Service Vehicles"
 
 msgid "Public service vehicles like buses, tramways, etc."
-msgstr ""
+msgstr "Public service vehicles like buses, tramways, etc."
 
 msgid "Heavy Goods Vehicles"
-msgstr ""
+msgstr "Heavy Goods Vehicles"
 
 msgid "Motorcars"
-msgstr ""
+msgstr "Motorcars"
 
 msgid "Bicycles"
-msgstr ""
+msgstr "Bicycles"
 
 msgid "Mopeds"
-msgstr ""
+msgstr "Mopeds"
 
 msgid "Use standard exceptions"
 msgstr "Use standard exceptions"
@@ -31918,7 +32596,7 @@ msgid "Display and manage turn restrictions in the current data set"
 msgstr "Display and manage turn restrictions in the current data set"
 
 msgid "Open an editor for the selected turn restriction"
-msgstr ""
+msgstr "Open an editor for the selected turn restriction"
 
 msgid "Delete the selected turn restriction"
 msgstr "Delete the selected turn restriction"
@@ -31942,6 +32620,8 @@ msgid ""
 "Development of the turn restriction plugin was sponsored by <a "
 "href=\"http://www.skobbler.de\">skobbler GmbH</a>."
 msgstr ""
+"Development of the turn restriction plugin was sponsored by <a "
+"href=\"http://www.skobbler.de\">skobbler GmbH</a>."
 
 msgid "Configure the preferences for the turnrestrictions plugin"
 msgstr "Configure the preferences for the turnrestrictions plugin"
@@ -31954,9 +32634,12 @@ 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 ""
+"The Basic Editor can optionally display the list of via-objects of a turn "
+"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."
 
 msgid "Display and edit list of via-objects in the Basic Editor"
-msgstr ""
+msgstr "Display and edit list of via-objects in the Basic Editor"
 
 msgid "Road signs - Set A"
 msgstr "Road signs - Set A"
@@ -31980,6 +32663,10 @@ msgid ""
 "turn restriction, the way with role <tt>from</tt> should be different from "
 "the way with role <tt>to</tt>, though."
 msgstr ""
+"This turn restriction uses the way <span class=\"object-name\">{0}</span> "
+"with role <tt>from</tt> <strong>and</strong> with role <tt>to</tt>. In a "
+"turn restriction, the way with role <tt>from</tt> should be different from "
+"the way with role <tt>to</tt>, though."
 
 msgid "Delete ''from''"
 msgstr "Delete ''from''"
@@ -32006,9 +32693,12 @@ msgid ""
 "the tag key <tt>restriction</tt>. It is recommended to use standard values "
 "only. Please select one in the Basic editor."
 msgstr ""
+"This turn restriction uses a non-standard restriction type <tt>{0}</tt> for "
+"the tag key <tt>restriction</tt>. It is recommended to use standard values "
+"only. Please select one in the Basic editor."
 
 msgid "Go to Basic Editor and manually choose a turn restriction type"
-msgstr ""
+msgstr "Go to Basic Editor and manually choose a turn restriction type"
 
 msgid ""
 "The <strong>from</strong>-way <span class=\"object-name\">{0}</span> and the "
@@ -32017,28 +32707,37 @@ msgid ""
 "<strong>via</strong>-object.<br> It is recommended to set it as unique "
 "<strong>via</strong>-object."
 msgstr ""
+"The <strong>from</strong>-way <span class=\"object-name\">{0}</span> and the "
+"<strong>to</strong>-way <span class=\"object-name\">{1}</span> intersect at "
+"node <span class=\"object-name\">{2}</span> but this node isn''t a "
+"<strong>via</strong>-object.<br> It is recommended to set it as unique "
+"<strong>via</strong>-object."
 
 msgid "Set via-Object"
-msgstr ""
+msgstr "Set via-Object"
 
 msgid ""
 "Replaces the currently configured via-objects with the node at the "
 "intersection"
 msgstr ""
+"Replaces the currently configured via-objects with the node at the "
+"intersection"
 
 msgid "Go to Basic Editor and manually fix the list of via-objects"
-msgstr ""
+msgstr "Go to Basic Editor and manually fix the list of via-objects"
 
 msgid ""
 "A turn restriction must declare the type of restriction. Please select a "
 "type in the Basic Editor."
 msgstr ""
+"A turn restriction must declare the type of restriction. Please select a "
+"type in the Basic Editor."
 
 msgid "A way with role <tt>from</tt> is required in a turn restriction."
-msgstr ""
+msgstr "A way with role <tt>from</tt> is required in a turn restriction."
 
 msgid "A way with role <tt>to</tt> is required in a turn restriction."
-msgstr ""
+msgstr "A way with role <tt>to</tt> is required in a turn restriction."
 
 msgid "Please go to the Basic editor and manually choose a way."
 msgstr "Please go to the Basic editor and manually choose a way."
@@ -32056,24 +32755,32 @@ msgid ""
 "The two ways participating in the turn restriction <strong>aren''t "
 "connected.</strong>"
 msgstr ""
+"The two ways participating in the turn restriction <strong>aren''t "
+"connected.</strong>"
 
 msgid ""
 "Make sure you add one or more via objects (nodes or ways) to the turn "
 "restriction."
 msgstr ""
+"Make sure you add one or more via objects (nodes or ways) to the turn "
+"restriction."
 
 msgid "Go to the Advanced Editor and add via objects"
-msgstr ""
+msgstr "Go to the Advanced Editor and add via objects"
 
 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 ""
+"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."
 
 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 ""
+"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."
 
 msgid "Go to the Advanced Editor and remove the members"
 msgstr "Go to the Advanced Editor and remove the members"
@@ -32082,9 +32789,11 @@ msgid ""
 "The tag <tt>except</tt> has the non-standard value <tt>{0}</tt>. It is "
 "recommended to use standard values for <tt>except</tt> only."
 msgstr ""
+"The tag <tt>except</tt> has the non-standard value <tt>{0}</tt>. It is "
+"recommended to use standard values for <tt>except</tt> only."
 
 msgid "Go to Basic Editor and select standard vehicle type based exceptions"
-msgstr ""
+msgstr "Go to Basic Editor and select standard vehicle type based exceptions"
 
 msgid "The required tag <tt>{0}={1}</tt> is missing."
 msgstr "The required tag <tt>{0}={1}</tt> is missing."
@@ -32101,34 +32810,45 @@ msgid ""
 "intersect at node <span class=\"object-name\">{2}</span>. <p> Both ways "
 "should be split at the intersecting node."
 msgstr ""
+"The way <span class=\"object-name\">{0}</span> with role <tt>from</tt> and "
+"the way <span class=\"object-name\">{1}</span> with role <tt>to</tt> "
+"intersect at node <span class=\"object-name\">{2}</span>. <p> Both ways "
+"should be split at the intersecting node."
 
 msgid ""
 "The way <span class=\"object-name\">{0}</span> with role <tt>{1}</tt> should "
 "be split at node <span class=\"object-name\">{2}</span> where it connects to "
 "way <span class=\"object-name\">{3}</span>."
 msgstr ""
+"The way <span class=\"object-name\">{0}</span> with role <tt>{1}</tt> should "
+"be split at node <span class=\"object-name\">{2}</span> where it connects to "
+"way <span class=\"object-name\">{3}</span>."
 
 msgid "Split now"
-msgstr ""
+msgstr "Split now"
 
 msgid "Split the ways"
-msgstr ""
+msgstr "Split the ways"
 
 msgid ""
 "This turn restriction uses the node <span class=\"object-name\">{0}</span> "
 "as member with role <tt>{1}</tt>."
 msgstr ""
+"This turn restriction uses the node <span class=\"object-name\">{0}</span> "
+"as member with role <tt>{1}</tt>."
 
 msgid ""
 "This turn restriction uses the relation <span class=\"object-"
 "name\">{0}</span> as member with role <tt>{1}</tt>."
 msgstr ""
+"This turn restriction uses the relation <span class=\"object-"
+"name\">{0}</span> as member with role <tt>{1}</tt>."
 
 msgid "A way is required instead."
 msgstr "A way is required instead."
 
 msgid "Delete the member from the turn restriction"
-msgstr ""
+msgstr "Delete the member from the turn restriction"
 
 msgid "Change to the Basic Editor and select a way"
 msgstr "Change to the Basic Editor and select a way"
@@ -32191,6 +32911,9 @@ msgstr "The way with selected nodes cannot be straightened."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Internal error: number of nodes is {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr "Copy all tags of selected objects to paste buffer."
+
 msgid "Extract node"
 msgstr "Extract node"
 
@@ -32295,10 +33018,10 @@ msgid "Change relation member for {0} {1}"
 msgstr "Change relation member for {0} {1}"
 
 msgid "Circle arc"
-msgstr ""
+msgstr "Circle arc"
 
 msgid "Create a circle arc"
-msgstr ""
+msgstr "Create a circle arc"
 
 msgid "Select custom URL"
 msgstr "Select custom URL"
@@ -32322,7 +33045,7 @@ msgid "Utilsplugin2 settings"
 msgstr "Utilsplugin2 settings"
 
 msgid "Here you can change some preferences of Utilsplugin2 functions"
-msgstr ""
+msgstr "Here you can change some preferences of Utilsplugin2 functions"
 
 msgid "Save to file"
 msgstr "Save to file"
@@ -32490,16 +33213,16 @@ msgid "Replace geometry for way {0}"
 msgstr "Replace geometry for way {0}"
 
 msgid "Range of child primitives count"
-msgstr ""
+msgstr "Range of child primitives count"
 
 msgid "Range of parent primitives count"
-msgstr ""
+msgstr "Range of parent primitives count"
 
 msgid "Range of referencing relation count"
-msgstr ""
+msgstr "Range of referencing relation count"
 
 msgid "Range of attached ways count"
-msgstr ""
+msgstr "Range of attached ways count"
 
 msgid "Adjacent nodes"
 msgstr "Adjacent nodes"
@@ -32693,10 +33416,10 @@ msgid "Set the length around a looppoint"
 msgstr "Set the length around a looppoint"
 
 msgid "no deinterlacing"
-msgstr ""
+msgstr "no deinterlacing"
 
 msgid "deinterlacing using line doubling"
-msgstr ""
+msgstr "deinterlacing using line doubling"
 
 msgid "deinterlacing using linear interpolation"
 msgstr "deinterlacing using linear interpolation"
@@ -32822,27 +33545,32 @@ msgid "Search after waypoint. Click and move the map view to the waypoint."
 msgstr "Search after waypoint. Click and move the map view to the waypoint."
 
 msgid "Fetch Wikidata IDs"
-msgstr ""
+msgstr "Fetch Wikidata IDs"
 
 msgid "Fetch Wikidata IDs using the ''wikipedia'' tag"
-msgstr ""
+msgstr "Fetch Wikidata IDs using the ''wikipedia'' tag"
 
 msgid "Fetching Wikidata IDs"
-msgstr ""
+msgstr "Fetching Wikidata IDs"
 
 msgid "Add Wikidata"
-msgstr ""
+msgstr "Add Wikidata"
 
 msgid "No Wikidata ID found for: {0}"
-msgstr ""
+msgstr "No Wikidata ID found for: {0}"
 
 msgid "Fetching {0} Wikidata ID for language ''{1}''"
 msgid_plural "Fetching {0} Wikidata IDs for language ''{1}''"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Fetching {0} Wikidata ID for language ''{1}''"
+msgstr[1] "Fetching {0} Wikidata IDs for language ''{1}''"
 
 msgid "Add Wikidata for language ''{0}''"
-msgstr ""
+msgstr "Add Wikidata for language ''{0}''"
+
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgstr[1] "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
 
 msgid "Add names from Wikipedia"
 msgstr "Add names from Wikipedia"
@@ -32935,3 +33663,6 @@ msgstr "Go driving"
 
 msgid "Drive a race car on this layer"
 msgstr "Drive a race car on this layer"
+
+#~ msgid "Could not read font-file from ''{{0}}''."
+#~ msgstr "Could not read font-file from ''{{0}}''."
diff --git a/i18n/po/eo.po b/i18n/po/eo.po
index 3a7a5d8..6a5c18b 100644
--- a/i18n/po/eo.po
+++ b/i18n/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:39+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:39+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: eo\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -388,6 +388,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr "Inversigu vojojn"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -443,6 +446,12 @@ msgstr "Forigi"
 msgid "Delete selected objects."
 msgstr "Forigi la elektitajn objektojn."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1174,9 +1183,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr "Inversigu vojojn"
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1509,6 +1515,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2227,6 +2243,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2268,6 +2289,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2622,7 +2652,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3185,9 +3218,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3246,6 +3276,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3473,6 +3506,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3550,12 +3586,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3565,6 +3613,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4131,6 +4197,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4825,9 +4894,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4886,12 +4952,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4918,6 +4978,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5737,6 +5809,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5853,6 +5937,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6278,6 +6365,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6625,19 +6715,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6739,6 +6823,18 @@ msgstr "malfermi"
 msgid "closed"
 msgstr "fermita"
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7066,7 +7162,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7102,6 +7198,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7169,6 +7268,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7281,9 +7401,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7314,108 +7431,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
-msgstr ""
+msgid "Reload"
+msgstr "Reŝarĝi"
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7434,6 +7526,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7442,48 +7537,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7491,61 +7575,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
-msgstr "Reŝarĝi"
+msgid "Remove the currently selected members from this relation"
+msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7933,6 +8081,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8036,10 +8189,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8219,9 +8376,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8734,7 +8888,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8743,31 +8897,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8776,10 +8927,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9199,6 +9350,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9223,9 +9377,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9576,9 +9727,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9623,6 +9772,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9679,11 +9834,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9799,6 +9949,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10159,6 +10315,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10240,18 +10405,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10903,9 +11059,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11177,6 +11330,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11806,12 +11962,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11901,6 +12051,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11971,6 +12124,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12014,6 +12170,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12102,16 +12261,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12595,6 +12768,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12609,9 +12785,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12804,9 +12977,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12975,21 +13145,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13001,6 +13178,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13018,19 +13203,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13713,9 +13887,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13747,6 +13918,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13755,9 +13929,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13891,6 +14062,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14199,9 +14373,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14295,6 +14466,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14361,6 +14535,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14457,13 +14634,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14586,6 +14766,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14606,9 +14789,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14679,6 +14859,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14712,10 +14901,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15411,6 +15603,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16066,13 +16261,112 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
+msgstr "itala"
+
+msgid "chinese"
 msgstr ""
 
-msgid "wired"
+msgid "pizza"
+msgstr ""
+
+msgid "burger"
+msgstr ""
+
+msgid "greek"
+msgstr ""
+
+msgid "german"
+msgstr "germanio"
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
 msgstr ""
 
 msgid "terminal"
@@ -16633,7 +16927,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17387,25 +17684,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
 msgstr ""
 
-msgid "rumble_strip"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
+
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17555,6 +17856,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17725,6 +18029,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17787,14 +18094,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18723,66 +19022,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr "Restoracio"
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr "itala"
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr "germanio"
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18795,19 +19034,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18985,6 +19218,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19019,9 +19258,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19064,12 +19300,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19173,6 +19415,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19332,6 +19578,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19444,24 +19809,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19624,63 +19974,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19734,9 +20035,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr "Golfo"
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19961,9 +20315,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golfo"
-
 msgid "golf_course"
 msgstr ""
 
@@ -20128,6 +20479,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20136,6 +20491,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20248,6 +20635,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20649,6 +21039,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20658,6 +21056,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21089,10 +21490,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21114,6 +21518,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21237,18 +21659,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21281,6 +21691,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21538,6 +21951,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21580,12 +21996,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21911,6 +22336,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22079,6 +22579,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22279,6 +22787,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23073,9 +23626,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23097,7 +23647,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23141,6 +23691,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23156,6 +23715,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23183,6 +23745,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23224,7 +23789,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26648,7 +27213,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26961,6 +27526,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26976,6 +27544,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28317,6 +28897,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28403,15 +28989,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30398,6 +30975,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30986,6 +31566,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/es.po b/i18n/po/es.po
index 19f8b08..8309ccd 100644
--- a/i18n/po/es.po
+++ b/i18n/po/es.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-02 11:27+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-02 11:59+0000\n"
 "Last-Translator: Emilio Gomez Fernandez <Unknown>\n"
 "Language-Team: Spanish <es at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:01+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:00+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: es\n"
 "X-Language: es_ES\n"
 "X-Source-Language: C\n"
@@ -403,6 +403,9 @@ msgstr ""
 "No fue posible combinar las vías<br>(no pudieron ser combinadas en una única "
 "cadena de nodos)"
 
+msgid "Reverse Ways"
+msgstr "Invertir vías"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Combinar {0} vía"
@@ -460,6 +463,12 @@ msgstr "Borrar"
 msgid "Delete selected objects."
 msgstr "Eliminar objetos seleccionados."
 
+msgid "Delete Layer"
+msgstr "Eliminar capa"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Eliminar la capa activa. No elimina el archivo asociado."
+
 msgid "Toggle dialogs panel"
 msgstr "Activar panel de diálogos"
 
@@ -760,7 +769,7 @@ msgstr "Mover nodo sobre la vía"
 
 msgid "Move the node onto the nearest way segments and include it"
 msgstr ""
-"Mover el nodo sobre el segmento de vía más cercana y incluirlo en este"
+"Mover el nodo sobre el segmento de vía más cercano e incluirlo en este"
 
 msgid "No Shortcut"
 msgstr "Sin acceso directo"
@@ -1287,9 +1296,6 @@ msgstr "Haga clic para reiniciar más tarde."
 msgid "Reverse way"
 msgstr "Invertir via"
 
-msgid "Reverse Ways"
-msgstr "Invertir vías"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Invertir el sentido de todas las vías seleccionadas."
 
@@ -1601,25 +1607,25 @@ msgstr ""
 "seleccionados."
 
 msgid "Existing node"
-msgstr ""
+msgstr "Nodo existente"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Ambos nodos"
 
 msgid "New node"
-msgstr ""
+msgstr "Nuevo nodo"
 
 msgid "Tags / Memberships"
 msgstr "Etiquetas / Miembros"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Despegar"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "¿Dónde se deben poner las etiquetas del nodo?"
 
 msgid "Where should the memberships of this node be put?"
-msgstr ""
+msgstr "¿Dónde se deben poner las pertenecias de este nodo?"
 
 msgid "Unglued Node"
 msgstr "Nodo despegado"
@@ -1653,6 +1659,16 @@ msgstr ""
 "Está a punto de despegar objetos incompletos.<br>Esto causará problemas "
 "debido a que no verá el objeto real.<br>¿Realmente quiere despegar?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Despegando {0} relación afectada: {1}"
+msgstr[1] "Despegando {0} relaciones afectadas: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "¡Asegúrese que la relación no haya sido rota!"
+msgstr[1] "¡Asegúrese que las relaciones no hayan sido rotas!"
+
 msgid "Disconnect Node from Way"
 msgstr "Desconectar nodo de la vía"
 
@@ -2444,6 +2460,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Añadir la selección a la relación"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Añadir la selección a la relación</strong>: ¡controle cada "
+"relación por separado para evitar daños!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Añadir selección a {0} relación"
@@ -2490,6 +2513,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Confirmar"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Editor de relaciones: {0}"
+
 msgid "Select in relation list"
 msgstr "Seleccionar en la lista de relaciones"
 
@@ -2869,8 +2901,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Esperando <i>min</i>/<i>max</i> después de ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr "Se esperaba {0} después de {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Rango de ids primitivos esperado"
@@ -3367,13 +3402,13 @@ msgid "Restoring files"
 msgstr "Restaurando archivos"
 
 msgid "Unable to delete backup file {0}"
-msgstr ""
+msgstr "No se puede eliminar el archivo de copia de seguridad {0}"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "No se puede eliminar el archivo PID {0}"
 
 msgid "Unable to delete archived backup file {0}"
-msgstr ""
+msgstr "No se puede eliminar el archivo de copia de seguridad archivado {0}"
 
 msgid "Illegal latitude value ''{0}''"
 msgstr "Valor de latitud ilegal \"{0}\""
@@ -3506,9 +3541,6 @@ msgstr ""
 "Intenta habilitar la red IPv6, preferentemente IPv6 sobre IPv4 (solo "
 "funciona en el inicio)"
 
-msgid " (at line {0}, column {1})"
-msgstr " (a la línea {0}, columna {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 "La opción de configuración {0} ha sido eliminada porque ya no se usa."
@@ -3570,6 +3602,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr "Actualizar las entradas por defecto"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "No se encuentra la proyección ''{0}'', el marcador ''{1}'' ya no puede ser "
@@ -3832,6 +3867,9 @@ msgstr "texto"
 msgid "areatext"
 msgstr "area de texto"
 
+msgid " (at line {0}, column {1})"
+msgstr " (a la línea {0}, columna {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "Proyección UTM (''+proj=utm'') requiere el parámetro ''+zone=...''."
 
@@ -3917,12 +3955,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr "Doble Estereográfico"
+msgid "Albers Equal Area"
+msgstr "Albers Área Constante"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parámetro ''{0}'' requerido."
 
+msgid "standard parallels are opposite"
+msgstr "las paralelas estándar son opuestas"
+
+msgid "Cassini-Soldner"
+msgstr "Cassini-Soldner"
+
+msgid "Double Stereographic"
+msgstr "Doble Estereográfico"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Lambert Acimutal Área Constante"
+
 msgid "Lambert Conformal Conic"
 msgstr "Cónica Conforme de Lambert"
 
@@ -3932,6 +3982,25 @@ msgstr "Lat/lon (Geodésico)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr "Mercator Oblicua"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+"Parámetros ''{0}'' and ''{1}'' no adecuados para el método de dos puntos."
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr "Valor de parámetro no permitido ''{0}'': {1}"
+
+msgid "error in initialization"
+msgstr "error en la inicialización"
+
+msgid "Polar Stereographic"
+msgstr "Polar Estereográfica"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr "Polar Estereográfica: el parámetro ''{0}'' debe ser 90 o -90."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Mercator Oblicua Suiza"
 
@@ -4547,6 +4616,9 @@ msgid "Property values start or end with white space"
 msgstr ""
 "Los valores de la propiedad empiezan o terminan con un espacio en blanco"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Los valores de propiedad contienen entidad de HTML"
 
@@ -5291,9 +5363,6 @@ msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 "Haga clic para abrir la pestaña de imágenes satelitales en las preferencias"
 
-msgid "Search menu items"
-msgstr "Buscar entradas del menú principal"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Audio"
@@ -5352,12 +5421,6 @@ msgstr "Frente de la barra de estado: activo"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "La latitud geográfica en el puntero del ratón."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "La longitud geográfica en el puntero del ratón."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "La dirección (brújula) del segmento de línea que se está dibujando."
 
@@ -5387,6 +5450,18 @@ msgstr "Usuario:"
 msgid "Do not hide status bar"
 msgstr "No esconder la barra de estado"
 
+msgid "The northing at the mouse pointer."
+msgstr "Coordenada hacia el norte en el puntero del ratón."
+
+msgid "The easting at the mouse pointer."
+msgstr "Coordenada hacia el este en el puntero del ratón."
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "La latitud geográfica en el puntero del ratón."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "La longitud geográfica en el puntero del ratón."
+
 msgid "System of measurement changed to {0}"
 msgstr "El sistema de medición ha cambiado a {0}"
 
@@ -6319,6 +6394,18 @@ msgstr ""
 "Abrir una ventana de diálogo de unión para todos los elementos seleccionados "
 "en la lista superior."
 
+msgid "Resolve to my versions"
+msgstr "Resolver con mis versiones"
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr "Resolver todos los conflictos no resueltos con ''mi'' versión"
+
+msgid "Resolve to their versions"
+msgstr "Resolver con sus versiones"
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr "Resolver todos los conflictos no resueltos con ''sus'' versiones."
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Se ha detectado {0} conflicto."
@@ -6446,6 +6533,9 @@ msgstr "Bajar filtro."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filtrar Ocultos:{0} Desactivados:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Error en el filtro <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Error al filtrar"
 
@@ -6898,6 +6988,9 @@ msgstr "Ajustes de estilo"
 msgid "Customize the style"
 msgstr "Personalizar el estilo"
 
+msgid "Search menu items"
+msgstr "Buscar entradas del menú principal"
+
 msgid "Mini map"
 msgstr "Mini mapa"
 
@@ -7270,21 +7363,15 @@ msgstr[1] ""
 "<html>Ninguno de los objetos seleccionados está disponible en la <br>capa de "
 "edición ''{0}'' actual.</html>"
 
-msgid "Download content"
-msgstr "Descargar contenido"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Descarga el contenido de la modificación del servidor OSM"
-
-msgid "Update content"
-msgstr "Actualizar contenido"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Actualiza el contenido del conjunto de cambios desde el servidor OSM"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Descarga y muestra el historial de los objetos seleccionados"
 
+msgid "Download objects"
+msgstr "Descargar objetos"
+
+msgid "Download the current version of the selected objects"
+msgstr "Descargar la versión actual de los objetos seleccionados"
+
 msgid "Select in layer"
 msgstr "Seleccionar en capa"
 
@@ -7393,6 +7480,18 @@ msgstr "abrir"
 msgid "closed"
 msgstr "cerrado"
 
+msgid "Download content"
+msgstr "Descargar contenido"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Descarga el contenido de la modificación del servidor OSM"
+
+msgid "Update content"
+msgstr "Actualizar contenido"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Actualiza el contenido del conjunto de cambios desde el servidor OSM"
+
 msgid "Changeset ID: "
 msgstr "ID de la modificación: "
 
@@ -7775,8 +7874,8 @@ msgstr "Editar el valor de la clave seleccionada para todos los objetos"
 msgid "Edit Tags"
 msgstr "Editar Etiquetas"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Ir a la wiki de OSM para ayuda sobre cómo etiquetar (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "Ir a la wiki de OSM para obtener ayuda con esta etiqueta"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Inicia el navegador con ayuda de la wiki para el objeto seleccionado"
@@ -7814,6 +7913,9 @@ msgstr "Copiar todos los Claves/Valores"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Copiar la clave y el valor de todas las etiquetas en el portapapeles"
 
+msgid "Copy Tags"
+msgstr "Copiar etiquetas"
+
 msgid "Search Key/Value/Type"
 msgstr "Buscar Clave/Valor/Tipo"
 
@@ -7884,6 +7986,27 @@ msgstr "Establecer el número de etiquetas añadidas recientemente"
 msgid "Remember last used tags after a restart"
 msgstr "Recordar últimas etiquetas usadas después de reiniciar"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Activar"
+
+msgid "Hide"
+msgstr "Oculto"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "para aplicar la primer sugerencia"
 
@@ -8004,9 +8127,6 @@ msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 "Enfocar Editor de Relación con la relación ''{0}'' en la capa ''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Editor de relaciones: {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 "
@@ -8048,6 +8168,76 @@ msgstr ""
 "una referencia circular y por lo tanto se desaconseja.<br>Ignorando relación "
 "''{0}''.</html>"
 
+msgid "Select previous Gap"
+msgstr "Seleccionar la interrupción anterior"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr ""
+"Selecciona al miembro anterior de la relación que da lugar a una interrupción"
+
+msgid "Select next Gap"
+msgstr "Seleccionar la interrupción siguiente"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr ""
+"Selecciona al miembro siguiente de la relación que da lugar a una "
+"interrupción"
+
+msgid "Zoom to Gap"
+msgstr "Zoom a la interrupción"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Zoom al interrupción en la secuencia de la vía."
+
+msgid "Refers to"
+msgstr "Se refiere a"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr "No se puede añadir {0} dado que no es parte del conjunto de datos"
+
+msgid "Download referring relations"
+msgstr "Descargar relaciones referenciadas"
+
+msgid "There were {0} conflicts during import."
+msgstr "Hubo {0} conflictos durante la importación."
+
+msgid "including immediate children of parent relations"
+msgstr "incluyendo los hijos inmediatos de las relaciones padre"
+
+msgid "Load parent relations"
+msgstr "Cargar relaciones padre"
+
+msgid "Reload"
+msgstr "Recargar"
+
+msgid "Loading parent relations"
+msgstr "Cargando relaciones padre"
+
+msgid "Edit the currently selected relation"
+msgstr "Editar la relación seleccionada"
+
+msgid "Apply Changes"
+msgstr "Aplicar cambios"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Crear una nueva relación en la capa \"{0}\""
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Editar una nueva relación en la capa \"{0}\""
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Editar la relación nº {0} en la capa \"{1}\""
+
+msgid "Load relation"
+msgstr "Cargar relación"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Añade todos los objetos seleccionados en el conjunto de datos actual detrás "
+"del último miembro seleccionado"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -8061,72 +8251,132 @@ msgstr ""
 "Añadir todos los objetos seleccionados en el conjunto de datos actual antes "
 "del primer miembro seleccionado"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Añade todos los objetos seleccionados en el conjunto de datos actual detrás "
-"del último miembro seleccionado"
+msgid "Apply the current updates"
+msgstr "Aplicar las actualizaciones actuales"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr ""
-"Borrar todos los miembros que hagan referencia a alguno de los objetos "
-"seleccionados"
+msgid "Cancel the updates and close the dialog"
+msgstr "Cancelar las actualizaciones y cerrar el cuadro de diálogo"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Yes, save the changes and close"
+msgstr "Sí, guardar los cambios y salir"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Pulse para guardar los cambios y cerrar este editor de relaciones"
+
+msgid "No, discard the changes and close"
+msgstr "No, descartar los cambios y cerrar"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Pulse para descartar los cambios y cerrar este editor de relaciones"
+
+msgid "Cancel, continue editing"
+msgstr "Cancelar, continuar editando"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Seleccionar los miembros de la relación que se refieren a los objetos de la "
-"selección actual"
+"Haga clic para regresar al editor de relación y para continuar editando la "
+"relación"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 msgstr ""
-"Seleccionar los miembros de la relación que se refieren a {0} objetos de la "
-"selección actual"
+"<html>La relación ha cambiado.<br><br>¿Quieres guardar los cambios?</html>"
 
-msgid "Select objects for selected relation members"
-msgstr "Seleccionar los objetos para los miembros de la relación indicados"
+msgid "Unsaved changes"
+msgstr "Cambios no guardados"
 
-msgid "Sort the relation members"
-msgstr "Ordenar los miembros de la relación"
+msgid "Delete the currently edited relation"
+msgstr "Eliminar esta relación"
 
-msgid "Relation Editor: Sort"
-msgstr "Editor de relaciones: ordenar"
+msgid "Relation Editor: Download Members"
+msgstr "Editor de Relaciones: Descargar Miembros"
 
-msgid "Sort below"
-msgstr "Ordenar debajo"
+msgid "Download all incomplete members"
+msgstr "Descargar todos los miembros incompletos"
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download Members"
+msgstr "Descargar miembros"
+
+msgid "Download selected incomplete members"
+msgstr "Descargar los miembros incompletos seleccionados"
+
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
-"Ordenar los miembros seleccionados de relación y todos los miembros debajo"
+"Editar la relación a la que se refiere el miembro actualmente seleccionado"
 
-msgid "Reverse the order of the relation members"
-msgstr "Invertir el orden de los miembros de la relación"
+msgid "Relation Editor: Move Down"
+msgstr "Editor de relaciones: Mover hacia abajo"
 
-msgid "Reverse"
-msgstr "Invertir"
+msgid "Move the currently selected members down"
+msgstr "Mover los miembros seleccionados hacia abajo"
+
+msgid "Relation Editor: Move Up"
+msgstr "Editor de relaciones: Mover hacia arriba"
 
 msgid "Move the currently selected members up"
 msgstr "Mover los miembros seleccionados hacia arriba"
 
-msgid "Relation Editor: Move Up"
-msgstr "Editor de relaciones: Mover hacia arriba"
+msgid "Apply the updates and close the dialog"
+msgstr "Aplicar las actualizaciones y cerrar el diálogo"
 
-msgid "Move the currently selected members down"
-msgstr "Mover los miembros seleccionados hacia abajo"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Los miembros pegados de la memoria intermedia no se pueden añadir porque no "
+"están incluidos en la capa actual"
 
-msgid "Relation Editor: Move Down"
-msgstr "Editor de relaciones: Mover hacia abajo"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Quitar los miembros seleccionados de esta relación"
+msgid "Refresh relation from data layer"
+msgstr ""
+
+msgid "Refresh"
+msgstr "Refrescar"
+
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+
+msgid "Click to close window"
+msgstr ""
+
+msgid "No, continue editing"
+msgstr "No, continuar editando"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+
+msgid "Deleted relation"
+msgstr ""
 
 msgid "Relation Editor: Remove"
 msgstr "Editor de relaciones: Borrar"
 
-msgid "Delete the currently edited relation"
-msgstr "Eliminar esta relación"
+msgid "Remove the currently selected members from this relation"
+msgstr "Quitar los miembros seleccionados de esta relación"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
+"Borrar todos los miembros que hagan referencia a alguno de los objetos "
+"seleccionados"
+
+msgid "Reverse the order of the relation members"
+msgstr "Invertir el orden de los miembros de la relación"
+
+msgid "Reverse"
+msgstr "Invertir"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -8145,14 +8395,6 @@ msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 "Haga click para crear un conflicto y cerrar este editor de relaciones"
 
-msgid "No, continue editing"
-msgstr "No, continuar editando"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Haga clic para regresar al editor de relación y para continuar editando la "
-"relación"
-
 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 "
@@ -8170,53 +8412,20 @@ msgstr ""
 "objeto<br>\"{1}\".<br>Por favor resuelva este conflicto primero e intente de "
 "nuevo.</html>"
 
-msgid "Apply the current updates"
-msgstr "Aplicar las actualizaciones actuales"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Aplicar las actualizaciones y cerrar el diálogo"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Cancelar las actualizaciones y cerrar el cuadro de diálogo"
-
-msgid "Yes, save the changes and close"
-msgstr "Sí, guardar los cambios y salir"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Pulse para guardar los cambios y cerrar este editor de relaciones"
-
-msgid "No, discard the changes and close"
-msgstr "No, descartar los cambios y cerrar"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Pulse para descartar los cambios y cerrar este editor de relaciones"
-
-msgid "Cancel, continue editing"
-msgstr "Cancelar, continuar editando"
+msgid "Select objects for selected relation members"
+msgstr "Seleccionar los objetos para los miembros de la relación indicados"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
+"Select relation members which refer to objects in the current selection"
 msgstr ""
-"<html>La relación ha cambiado.<br><br>¿Quieres guardar los cambios?</html>"
-
-msgid "Unsaved changes"
-msgstr "Cambios no guardados"
-
-msgid "Add an empty tag"
-msgstr "Añadir una etiqueta vacía"
-
-msgid "Download all incomplete members"
-msgstr "Descargar todos los miembros incompletos"
-
-msgid "Download Members"
-msgstr "Descargar miembros"
-
-msgid "Relation Editor: Download Members"
-msgstr "Editor de Relaciones: Descargar Miembros"
+"Seleccionar los miembros de la relación que se refieren a los objetos de la "
+"selección actual"
 
-msgid "Download selected incomplete members"
-msgstr "Descargar los miembros incompletos seleccionados"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Seleccionar los miembros de la relación que se refieren a {0} objetos de la "
+"selección actual"
 
 msgid "Sets a role for the selected members"
 msgstr "Fijar una función para los miembros seleccionados"
@@ -8244,76 +8453,18 @@ msgstr "No, no lo apliques"
 msgid "Confirm empty role"
 msgstr "Confirmar función vacía"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr ""
-"Editar la relación a la que se refiere el miembro actualmente seleccionado"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Los miembros pegados de la memoria intermedia no se pueden añadir porque no "
-"están incluidos en la capa actual"
-
-msgid "Select previous Gap"
-msgstr "Seleccionar la interrupción anterior"
+msgid "Relation Editor: Sort"
+msgstr "Editor de relaciones: ordenar"
 
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr ""
-"Selecciona al miembro anterior de la relación que da lugar a una interrupción"
+msgid "Sort the relation members"
+msgstr "Ordenar los miembros de la relación"
 
-msgid "Select next Gap"
-msgstr "Seleccionar la interrupción siguiente"
+msgid "Sort below"
+msgstr "Ordenar debajo"
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Sort the selected relation members and all members below"
 msgstr ""
-"Selecciona al miembro siguiente de la relación que da lugar a una "
-"interrupción"
-
-msgid "Zoom to Gap"
-msgstr "Zoom a la interrupción"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Zoom al interrupción en la secuencia de la vía."
-
-msgid "Refers to"
-msgstr "Se refiere a"
-
-msgid "Download referring relations"
-msgstr "Descargar relaciones referenciadas"
-
-msgid "There were {0} conflicts during import."
-msgstr "Hubo {0} conflictos durante la importación."
-
-msgid "including immediate children of parent relations"
-msgstr "incluyendo los hijos inmediatos de las relaciones padre"
-
-msgid "Load parent relations"
-msgstr "Cargar relaciones padre"
-
-msgid "Reload"
-msgstr "Recargar"
-
-msgid "Loading parent relations"
-msgstr "Cargando relaciones padre"
-
-msgid "Edit the currently selected relation"
-msgstr "Editar la relación seleccionada"
-
-msgid "Apply Changes"
-msgstr "Aplicar cambios"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Crear una nueva relación en la capa \"{0}\""
-
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Editar una nueva relación en la capa \"{0}\""
-
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Editar la relación nº {0} en la capa \"{1}\""
-
-msgid "Load relation"
-msgstr "Cargar relación"
+"Ordenar los miembros seleccionados de relación y todos los miembros debajo"
 
 msgid "way is connected"
 msgstr "La vía está conectada"
@@ -8756,6 +8907,11 @@ msgid ""
 msgstr ""
 "<html>Versión <strong>{0}</strong> creada el <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "Este conjunto de datos tiene {0} comentario"
+msgstr[1] "Este conjunto de datos tiene {0} comentarios"
+
 msgid "Changeset"
 msgstr "Conjunto de cambios"
 
@@ -8884,15 +9040,15 @@ msgid "Upload"
 msgstr "Subir"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Seleccionar qué acciones se ejecutarán para esta capa al hacer clic en "
-"el botón de la izquierda.<br/>Tilde la opción \"subir\" para publicar los "
-"cambios en el servidor OSM.<br/>Tilde la opción \"Guardar\" para guardar la "
-"capa en el archivo especificado a la izquierda.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Introduzca un breve comentario sobre los cambios que se van a subir:"
@@ -9098,9 +9254,6 @@ msgstr ""
 "No se pudo recuperar la información de usuario para el usuario actual de "
 "JOSM. La excepción fue: {0}"
 
-msgid "Download objects"
-msgstr "Descargar objetos"
-
 msgid "Initializing nodes to download ..."
 msgstr "Inicializando nodos a descargar..."
 
@@ -9711,8 +9864,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} objeto para eliminar:"
 msgstr[1] "{0} objetos para eliminar:"
 
-msgid "Show Tile Info"
-msgstr "Mostrar información de la tesela"
+msgid "Show tile info"
+msgstr "Mostrar información del mosaico"
 
 msgid "Tile Info"
 msgstr "Información sobre las teselas"
@@ -9720,17 +9873,23 @@ msgstr "Información sobre las teselas"
 msgid "Metadata "
 msgstr "Metadatos "
 
-msgid "Auto Zoom"
-msgstr "Auto Zoom"
+msgid "Load tile"
+msgstr "Cargar mosaico"
+
+msgid "Auto zoom"
+msgstr "Acercamiento automático"
 
 msgid "Auto load tiles"
 msgstr "Cargar teselas automáticamente"
 
-msgid "Load All Tiles"
-msgstr "Cargar todas las teselas"
+msgid "Show errors"
+msgstr "Mostrar errores"
+
+msgid "Load all tiles"
+msgstr "Cargar todos los mosaicos"
 
-msgid "Load All Error Tiles"
-msgstr "Recargar teselas erróneas"
+msgid "Load all error tiles"
+msgstr "Cargar todos los errores de mosaico"
 
 msgid "Zoom to native resolution"
 msgstr "Zoom a resolución nativa"
@@ -9738,26 +9897,17 @@ msgstr "Zoom a resolución nativa"
 msgid "Change resolution"
 msgstr "Cambiar resolución"
 
-msgid "Failed to create tile source"
-msgstr "Error al crear la fuente de teselas"
-
-msgid "Show Errors"
-msgstr "Mostrar errores"
-
-msgid "Load Tile"
-msgstr "Cargar tesela"
-
 msgid "Increase zoom"
 msgstr "Incrementar zoom"
 
 msgid "Decrease zoom"
 msgstr "Reducir zoom"
 
-msgid "Snap to tile size"
-msgstr "Ajustar al tamaño de la tesela"
+msgid "Flush tile cache"
+msgstr "Limpiar la caché de mosaico"
 
-msgid "Flush Tile Cache"
-msgstr "Alinear caché de teselas"
+msgid "Failed to create tile source"
+msgstr "Error al crear la fuente de teselas"
 
 msgid "zoom in to load any tiles"
 msgstr "haga zoom acercando para cargar cualquier tesela"
@@ -10212,6 +10362,9 @@ msgstr ""
 "Error mientras se realizaba el análisis sintáctico.\n"
 "Formato esperado: {0}"
 
+msgid "Geotagged Images"
+msgstr "Imagenes Geoetiquetadas"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Extrayendo localizaciones GPS del EXIF"
 
@@ -10236,9 +10389,6 @@ msgstr "Error mientras se obtenían archivos del directorio {0}\n"
 msgid "One of the selected files was null"
 msgstr "Uno de los archivos seleccionados era nulo"
 
-msgid "Geotagged Images"
-msgstr "Imagenes Geoetiquetadas"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} imagen cargada."
@@ -10634,12 +10784,8 @@ msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 "Error al analizar los estilos Mappaint desde ''{0}''. El error fue: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Detectado ''{0}'' obsoleto en'' {1}'' que se retirará en breve. Utilice'' "
-"{2}'' en su lugar."
+msgid "Failed to locate image ''{0}''"
+msgstr "No se pudo localizar la imagen ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Patrón de guiones ilegal, los valores deben ser positivos"
@@ -10688,6 +10834,12 @@ msgstr "URL de Llave de Acceso"
 msgid "Authorize URL:"
 msgstr "URL de Autorización:"
 
+msgid "OSM login URL:"
+msgstr "URl del acceso a OSM:"
+
+msgid "OSM logout URL:"
+msgstr "URL de la salida de OSM:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 "Presione para restablecer las opciones de OAuth a los valores predeterminados"
@@ -10765,13 +10917,6 @@ msgstr "Nombre de usuario: "
 msgid "Password: "
 msgstr "Contraseña: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Aviso:</strong> JOSM inicia sesión<strong>una vez</strong> usando "
-"una conexión segura."
-
 msgid "Granted rights"
 msgstr "Derechos concedidos"
 
@@ -10917,6 +11062,15 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Por favor, elija un procedimiento de autorización: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+"<strong>Advertencia:</strong> dado que no está usando la API de OSM por "
+"defecto, asegúrese de establecer una clave de consumidor y un secreto de "
+"consumidor en los <i>parámetros Avanzados de OAuth</i>."
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Obtener una llave de Acceso para \"{0}\""
 
@@ -11332,6 +11486,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr "Barra de herramientas: {0}"
 
+msgid "add entry"
+msgstr "añadir entrada"
+
+msgid "Remove the selected entry"
+msgstr "Eliminar la entrada seleccionada"
+
+msgid "Key: {0}"
+msgstr "Clave: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Preferencias avanzadas"
 
@@ -11429,18 +11592,9 @@ msgstr "Seleccionar archivo de perfil"
 msgid "Change list setting"
 msgstr "Cambiar lista de propiedades"
 
-msgid "Key: {0}"
-msgstr "Clave: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Cambiar lista de listas de propiedades"
 
-msgid "add entry"
-msgstr "añadir entrada"
-
-msgid "Remove the selected entry"
-msgstr "Eliminar la entrada seleccionada"
-
 msgid "Change list of maps setting"
 msgstr "Cambiar lista de mapas de propiedades"
 
@@ -12164,9 +12318,6 @@ msgstr "copiar los predefinidos seleccionados"
 msgid "Please select at least one row to copy."
 msgstr "Por favor, seleccione al menos una fila para copiar."
 
-msgid "reload defaults"
-msgstr "recargar los valores por omisión"
-
 msgid "Menu Name"
 msgstr "Nombre del menú"
 
@@ -12386,7 +12537,7 @@ msgstr ""
 "es: {1}</table></html>"
 
 msgid "Sort presets menu alphabetically"
-msgstr "Ordenar alfabéticamente el menú de presets"
+msgstr "Ordenar alfabéticamente el menú de predefinidos"
 
 msgid "Tagging Presets"
 msgstr "Etiquetas de predefinidos"
@@ -12482,6 +12633,9 @@ msgstr[0] ""
 msgstr[1] ""
 "Ha <strong>fallado</strong> la descarga de los siguientes {0} complementos:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Mensaje de error (sin traducir): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Por favor, reinicie JOSM para activar los complementos descargados."
 
@@ -13173,12 +13327,6 @@ msgstr "Valores numéricos"
 msgid "Checks for wrong numeric values"
 msgstr "Verifica que no haya valores numéricos incorrectos"
 
-msgid "Power"
-msgstr "Energía"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Verifica que no haya errores en la infraestructura de energía"
-
 msgid "Religion"
 msgstr "Religión"
 
@@ -13270,6 +13418,9 @@ msgstr "Usar predefinido ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Los elementos del tipo {0} son soportados"
 
+msgid "This preset also sets: {0}"
+msgstr "Esta plantilla también establecer: {0}"
+
 msgid "Edit also …"
 msgstr "Editar además..."
 
@@ -13344,6 +13495,9 @@ msgstr "Buscar predefinidos"
 msgid "Presets"
 msgstr "Predefinidos"
 
+msgid "Search for objects by preset..."
+msgstr "Buscar objetos por plantilla..."
+
 msgid "Search for objects by preset"
 msgstr "Buscar objetos por tipo predefinido"
 
@@ -13397,6 +13551,9 @@ msgstr ""
 "Etiquetado predeterminado roto \"{0}-{1}\" - el número de objetos en "
 "''short_descriptions'' debe coincidir con ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "Este se corresponde con la clave ''{0}''"
+
 msgid "More information about this feature"
 msgstr "Más información sobre esta característica"
 
@@ -13495,18 +13652,35 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "falso: la propiedad se encuentra sin marcar"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "falso: la propiedad ''{0}'' está explícitamente apagada"
+
 msgid "true: the property is explicitly switched on"
 msgstr "verdadero: la propiedad se encuentra marcada"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "verdadero: la propiedad ''{0}'' está explícitamente encendida"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "parcial: distintos objetos seleccionados tienen valores diferentes, no "
 "cambiar"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+"parcial: diferentes objetos seleccionados tienen diferentes valores para "
+"''{0}'', no lo modifique"
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "sin establecer: no agrega esta propiedad a los objetos seleccionados"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+"unset: no establecer la propiedad ''{0}'' en los objetos seleccionados"
+
 msgid "Cut"
 msgstr "Cortar"
 
@@ -14063,6 +14237,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Valor para la preferencia ''{0}'' no esperado. Se obtuvo ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "Archivos del servidor OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Ocurrió un error al guardar.<br>El error es:<br>{0}</html>"
 
@@ -14079,9 +14256,6 @@ msgstr "Archivos del servidor OSM comprimidos con gzip"
 msgid "Parsing OSM history data ..."
 msgstr "Analizando datos del historial de OSM..."
 
-msgid "OSM Server Files"
-msgstr "Archivos del servidor OSM"
-
 msgid "Invalid dataset"
 msgstr "Conjunto de datos no válido"
 
@@ -14296,9 +14470,6 @@ msgstr "Subiendo datos..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Se encontró un id 0 inesperado para la primitiva osm"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Archivos del Servidor OSM comprimidos en zip"
-
 msgid "Downloading data..."
 msgstr "Descargando datos..."
 
@@ -14487,24 +14658,29 @@ msgstr ""
 "Se ha solicitado al Control Remoto que reporte su versión de protocolo. Esto "
 "permite a los sitios web detectar un JOSM ejecutándose."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"No se soportan los metadatos de la versión \"{0}\" para la capa de "
-"geoimagen. Se esperaba: 0.1"
+msgid "local file"
+msgstr "archivo local"
+
+msgid "include"
+msgstr "incluir"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "La capa contiene datos sin guardar - guardar en archivo."
+
+msgid "Layer does not contain unsaved data."
+msgstr "La capa contiene datos que no han sido guardados"
 
 msgid "Data:"
 msgstr "Datos:"
 
-msgid "local file"
-msgstr "archivo local"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Enlace a un archivo de datos OSM en su disco local."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Vínculo a un archivo GPX en su disco local."
+msgid "Include OSM data in the .joz session file."
+msgstr "Incluir datos de OSM en el archivo .joz de sesión."
 
-msgid "include"
-msgstr "incluir"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Vincular a un archivo de datos GPX en su disco local."
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Incluir datos GPX en el archivo de sesión .joz."
@@ -14515,6 +14691,16 @@ msgstr "Ninguna asociación de archivo"
 msgid "GPX data will be included in the session file."
 msgstr "Los datos GPX serán incluidos en el archivo de sesión."
 
+msgid "OSM data will be included in the session file."
+msgstr "Los datos de OSM se incluirán en el archivo de la sesión."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"No se soportan los metadatos de la versión \"{0}\" para la capa de "
+"geoimagen. Se esperaba: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14538,20 +14724,9 @@ msgstr ""
 "Versión \"{0}\" de meta datos para la capa del marcador no esta soportada. "
 "Esperado: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "La capa contiene datos sin guardar - guardar en archivo."
-
-msgid "Layer does not contain unsaved data."
-msgstr "La capa contiene datos que no han sido guardados"
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Enlace a un archivo de datos OSM en su disco local."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Incluir datos de OSM en el archivo .joz de sesión."
-
-msgid "OSM data will be included in the session file."
-msgstr "Los datos de OSM se incluirán en el archivo de la sesión."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15430,9 +15605,6 @@ msgstr ""
 "demasiada amplia. <br> Solicite un área más pequeña o utilize un archivo "
 "exportado proporcionado por la comunidad de OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Mensaje de error (sin traducir): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15479,6 +15651,9 @@ msgstr "Descarga redirigida a \"{0}\""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Demasiadas redirecciones detectadas a la URL de descarga. Abortando."
 
+msgid "Fetching content..."
+msgstr "Buscando el contenido..."
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "No se puede encontrar la traducción para el idioma {0}. Revertiendo a {1}."
@@ -15490,9 +15665,6 @@ msgstr ""
 "Fatal: Fallo al localizar la imagen \"{0}\". Este es un problema serio de "
 "configuración. JOSM dejará de trabajar."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "No se pudo localizar la imagen ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Error al manipular el archivo zip ''{0}''. La excepción fue: {1}"
 
@@ -15534,7 +15706,7 @@ msgid "reserved"
 msgstr "reservado"
 
 msgid "Unable to delete old preferences file {0}"
-msgstr ""
+msgstr "No se puede eliminar el archivo de preferencias antiguo {0}"
 
 msgid "Outdated Java version"
 msgstr "Versión desactualizada de Java"
@@ -15647,6 +15819,9 @@ msgstr ""
 "contiene ningún objeto de JOSM o un texto adecuado. </p></html>"
 
 msgid "Unable to delete file {0}"
+msgstr "No se puede eliminar el archivo {0}"
+
+msgid "Unable to create directory {0}"
 msgstr ""
 
 msgid "ms"
@@ -15983,9 +16158,6 @@ msgstr "Abrir fichero seleccionado"
 msgid "Open selected file."
 msgstr "Abrir fichero seleccionado."
 
-msgid "Refresh"
-msgstr "Refrescar"
-
 msgid "Rename File"
 msgstr "Renombrar fichero"
 
@@ -16079,6 +16251,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Transporte Público (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Ciclismo & Montañismo"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (estilo alemán)"
 
@@ -16145,6 +16320,9 @@ msgstr "OSM Inspector: Direcciones"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Límites (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI blanco y negro 2.5m"
 
@@ -16242,14 +16420,17 @@ msgstr "Imágenes aéreas de URBIS 2015"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "Imágenes aéreas SPW(allonie) PICC numéricas"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "Imagen aérea SPW(allonie) 2012"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW(slitario) 2015 imágenes aéreas"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "Imagen aérea SPW(allonie) 2009"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW(solitario) 2012-2013 imágenes aéreas"
 
-msgid "TEC bus lines"
-msgstr "Líneas de transporte urbano de TEC"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW(solitario) 2009-2010 imágenes aéreas"
+
+msgid "TEC bus lines (2014)"
+msgstr "Líneas de transporte urbano TEC (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Sectores Urbanos"
@@ -16371,6 +16552,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Ruta 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Toulouse - Ortofotoplan 2015"
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Tolosa - Ortofotoplan 2013"
 
@@ -16392,9 +16576,6 @@ msgid ""
 msgstr ""
 "Vercors - Reserva natural de Hauts-Plateaux du Vercors - Ortofotos 1999 - 1 m"
 
-msgid "Hike & Bike"
-msgstr "Ciclismo & Montañismo"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (idioma sorabo)"
 
@@ -16469,6 +16650,15 @@ msgstr "Avión no tripulado Imágenes 2014 (Haití)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Imágenes de drones de Canaán (Haití) de noviembre de 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Oficina de Guerra de Irlanda del Norte 1:25k GSGS 3906"
 
@@ -16502,11 +16692,14 @@ msgstr "Áreas de Elección Local de OSMIE"
 msgid "OSMIE Dail Election Areas"
 msgstr "Áreas de Elección de Asamblea Irlandesa de OSMIE"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr "OSMIE T.ie Tierra que no está en condados"
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italia"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardía - Italia(CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Lombardía - Italia (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Sicilia - Italia"
@@ -17230,6 +17423,9 @@ msgstr "Descargar datos nuevos al desplazarse o cambiar el zoom"
 msgid "Create a grid of ways."
 msgstr "Crea una cuadrícula de viales"
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "Creación y manipulación de números de policía en la República Checa."
@@ -18015,6 +18211,105 @@ msgstr "limitado"
 msgid "Brand"
 msgstr "Marca"
 
+msgid "Cuisine"
+msgstr "Cocina"
+
+msgid "italian"
+msgstr "italiano"
+
+msgid "chinese"
+msgstr "chino"
+
+msgid "pizza"
+msgstr "pizzería"
+
+msgid "burger"
+msgstr "hamburguesería"
+
+msgid "greek"
+msgstr "griego"
+
+msgid "german"
+msgstr "alemán"
+
+msgid "indian"
+msgstr "india"
+
+msgid "regional"
+msgstr "regional"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turco"
+
+msgid "asian"
+msgstr "asiático"
+
+msgid "thai"
+msgstr "tailandés"
+
+msgid "mexican"
+msgstr "mexicano"
+
+msgid "japanese"
+msgstr "japonés"
+
+msgid "french"
+msgstr "francés"
+
+msgid "sandwich"
+msgstr "sandwich / emparedado"
+
+msgid "coffee_shop"
+msgstr "cafetería"
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr "Asador"
+
+msgid "fish_and_chips"
+msgstr "fish_and_chips (papas y pescado fritos)"
+
+msgid "chicken"
+msgstr "pollo"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "heladería"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Acceso a Internet"
 
@@ -18587,8 +18882,11 @@ msgstr "Peso máximo (t)"
 msgid "Toll"
 msgstr "Peaje"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "¿Es la masa de agua intermitente (desaparece estacionalmente)?"
+msgid "Intermittent"
+msgstr "Intermiten"
+
+msgid "Seasonal"
+msgstr "Estacional"
 
 msgid "In the tidal range"
 msgstr "En el rango de la marea"
@@ -18967,7 +19265,7 @@ msgid "Tourist buses"
 msgstr "Ómnibus de turistas"
 
 msgid "Max. speed Heavy Goods Vehicles (km/h)"
-msgstr ""
+msgstr "Velocidad máxima para vehículos pesados (km/h)"
 
 msgid "Min. speed (km/h)"
 msgstr "Velocidad mínima (km/h)"
@@ -19362,26 +19660,30 @@ msgstr "En el caso de semáforos:"
 msgid "Traffic Calming"
 msgstr "Calmado de tráfico"
 
-msgid "bump"
-msgstr "badén de lomo de asno"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
+msgstr ""
 
-msgid "chicane"
-msgstr "chicane"
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
-msgstr "garganta"
+msgid "Cushion"
+msgstr ""
 
-msgid "cushion"
-msgstr "cojín berlines"
+msgid "Hump"
+msgstr ""
 
-msgid "hump"
-msgstr "resalte"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "sonadores"
+msgid "Rumble strip"
+msgstr ""
 
-msgid "table"
-msgstr "plataforma elevada"
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Lugar de cruce frecuente de la vía"
@@ -19532,6 +19834,9 @@ msgstr "Muralla"
 msgid "Retaining Wall"
 msgstr "Muro de contención"
 
+msgid "Jersey Barrier"
+msgstr "Barrera Jersey"
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Zanja"
@@ -19705,6 +20010,9 @@ msgstr "río"
 msgid "Salt Water"
 msgstr "Agua salada"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "¿Es la masa de agua intermitente (desaparece estacionalmente)?"
+
 msgid "Coastline"
 msgstr "Línea de costa"
 
@@ -19771,17 +20079,6 @@ msgstr ""
 "Un gran cuerpo de agua parcialmente cerrado por tierra pero con una gran "
 "boca."
 
-msgid "Cliff"
-msgstr "Acantilado"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Exposición de la cara empinada de una piedra, con una vertical "
-"significativa, o casi vertical (dejar la cara inferior a la derecha de la "
-"vía)."
-
 msgid "Shipping"
 msgstr "Navegación"
 
@@ -20714,66 +21011,6 @@ msgstr "Comida+Bebidas"
 msgid "Restaurant"
 msgstr "Restaurante"
 
-msgid "Cuisine"
-msgstr "Cocina"
-
-msgid "italian"
-msgstr "italiano"
-
-msgid "chinese"
-msgstr "chino"
-
-msgid "pizza"
-msgstr "pizzería"
-
-msgid "burger"
-msgstr "hamburguesería"
-
-msgid "greek"
-msgstr "griego"
-
-msgid "german"
-msgstr "alemán"
-
-msgid "indian"
-msgstr "india"
-
-msgid "regional"
-msgstr "regional"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turco"
-
-msgid "asian"
-msgstr "asiático"
-
-msgid "thai"
-msgstr "tailandés"
-
-msgid "mexican"
-msgstr "mexicano"
-
-msgid "japanese"
-msgstr "japonés"
-
-msgid "french"
-msgstr "francés"
-
-msgid "sandwich"
-msgstr "sandwich / emparedado"
-
-msgid "coffee_shop"
-msgstr "cafetería"
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr "Asador"
-
 msgid "Microbrewery"
 msgstr "Cervecería artesanal"
 
@@ -20786,20 +21023,14 @@ msgstr "Comida para llevar"
 msgid "Fast Food"
 msgstr "Establecimiento de comida rápida"
 
-msgid "fish_and_chips"
-msgstr "fish_and_chips (papas y pescado fritos)"
-
-msgid "chicken"
-msgstr "pollo"
-
 msgid "Food Court"
 msgstr "Comida y Bebidas"
 
 msgid "Cafe"
 msgstr "Cafetería"
 
-msgid "ice_cream"
-msgstr "heladería"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Pub"
@@ -20977,6 +21208,12 @@ msgstr "Parque de atracciones"
 msgid "Water Park"
 msgstr "Parque acuático"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -21011,9 +21248,6 @@ msgstr "hoguera"
 msgid "Fishing"
 msgstr "Pesca"
 
-msgid "Private Swimming Pool"
-msgstr "Piscina privada"
-
 msgid "Night Club"
 msgstr "Club nocturno"
 
@@ -21056,12 +21290,18 @@ msgstr "estatua"
 msgid "Artist Name"
 msgstr "Nombre del artista"
 
-msgid "Recording Studio"
-msgstr "Estudio de grabación"
+msgid "Studio"
+msgstr "Estudio"
 
 msgid "audio"
 msgstr "audio"
 
+msgid "radio"
+msgstr "radio"
+
+msgid "television"
+msgstr "televisión"
+
 msgid "video"
 msgstr "vídeo"
 
@@ -21165,6 +21405,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "adventista del séptimo día"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr "espiritista"
+
 msgid "Mosque"
 msgstr "Mezquita"
 
@@ -21262,7 +21506,7 @@ msgid "Kindergarten"
 msgstr "Jardín de infancia"
 
 msgid "School"
-msgstr "Escuela"
+msgstr "Escuela, colegio o instituto de educación secundaria"
 
 msgid "University"
 msgstr "Universidad"
@@ -21324,8 +21568,127 @@ msgstr "(Utilizar código internacional, como +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinario"
 
+msgid "Emergency"
+msgstr "Emergencia"
+
+msgid "Ambulance Station"
+msgstr "Estación de ambulancias"
+
+msgid "Automated Defibrillator"
+msgstr "Desfibrilador automático"
+
+msgid "Located inside a building?"
+msgstr "¿Ubicado dentro de un edificio?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Última fecha de verificación (YYYY-MM-DD)"
+
+msgid "Last check note"
+msgstr "Nota de la última verificación"
+
+msgid "Fire Extinguisher"
+msgstr "Extintor de fuego"
+
+msgid "Indoor"
+msgstr "Interior"
+
+msgid "Fire Hose"
+msgstr "Manguera contra incendios"
+
+msgid "Fire Hydrant"
+msgstr "Hidrante contra incendios"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "subterráneo"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "columna"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "muro"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "balsa de agua"
+
+msgid "Diameter (in mm)"
+msgstr "Diametro (en mm)"
+
+msgid "Hydrant Position"
+msgstr "Posición de hidrante"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "carril"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "área de estacionamiento"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "vereda/acera"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "verde"
+
+msgid "Pressure (in bar)"
+msgstr "Presión (en bar)"
+
+msgid "suction"
+msgstr "succión"
+
+msgid "Count"
+msgstr "Cuenta"
+
+msgid "Water Tank"
+msgstr "Tanque de agua"
+
+msgid "Volume (in liters)"
+msgstr "Volumen (en litros)"
+
+msgid "Assembly Point"
+msgstr "Punto de reunión"
+
+msgid "Emergency Phone"
+msgstr "Teléfono de emergencia"
+
+msgid "Siren"
+msgstr "Sirena"
+
+msgid "pneumatic"
+msgstr "neumática"
+
+msgid "electronic"
+msgstr "electrónica"
+
+msgid "mechanical"
+msgstr "mecánica"
+
+msgid "Purpose"
+msgstr "Propósito"
+
+msgid "tornado"
+msgstr "tornado"
+
+msgid "fire"
+msgstr "incendio"
+
+msgid "air_raid"
+msgstr "ataque aéreo"
+
+msgid "civil_defense"
+msgstr "defensa civil"
+
+msgid "Range (in meters)"
+msgstr "Rango (en metros)"
+
 msgid "Social Facility"
-msgstr ""
+msgstr "Equipamiento sociosanitario"
 
 msgid "Nursing Home"
 msgstr ""
@@ -21333,23 +21696,25 @@ msgstr ""
 "psíquicos, etc)"
 
 msgid "Group Home"
-msgstr ""
+msgstr "Hogar de acogida"
 
 msgid "For"
-msgstr ""
+msgstr "Para"
 
 msgid "Assisted Living"
-msgstr ""
+msgstr "Servicios asistenciales a domicilio"
 
 msgid "Outreach"
-msgstr ""
+msgstr "Servicios de apoyo"
 
 msgctxt "social_facility"
 msgid "Shelter"
 msgstr ""
+"Albergue temporal (para colectivos en situación de exclusión, riesgo o "
+"desastre)"
 
 msgid "Food Bank"
-msgstr ""
+msgstr "Banco de alimentos"
 
 msgid "Toilets/Restrooms"
 msgstr "Baños"
@@ -21395,10 +21760,10 @@ msgstr "urinario"
 
 msgctxt "toilets"
 msgid "Diaper"
-msgstr ""
+msgstr "Cambiador de pañales"
 
 msgid "room"
-msgstr ""
+msgstr "estancia"
 
 msgid "Post Box"
 msgstr "Buzón de correos"
@@ -21438,24 +21803,9 @@ msgstr "Notas"
 msgid "Telephone cards"
 msgstr "Tarjetas telefónicas"
 
-msgid "Emergency Phone"
-msgstr "Teléfono de emergencia"
-
 msgid "Internet Access"
 msgstr "Acceso a Internet"
 
-msgid "Automated Defibrillator"
-msgstr "Desfibrilador automático"
-
-msgid "Located inside a building?"
-msgstr "¿Ubicado dentro de un edificio?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Última fecha de verificación (YYYY-MM-DD)"
-
-msgid "Last check note"
-msgstr "Nota de la última verificación"
-
 msgid "Clock"
 msgstr "Reloj"
 
@@ -21618,64 +21968,15 @@ msgctxt "height"
 msgid "full"
 msgstr "completa"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Oculto"
+msgstr ""
 
 msgid "Lock"
 msgstr "Esclusa"
 
-msgid "Indoor"
-msgstr "Interior"
-
-msgid "Fire Hydrant"
-msgstr "Hidrante contra incendios"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "subterráneo"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "columna"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "muro"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "balsa de agua"
-
-msgid "Diameter (in mm)"
-msgstr "Diametro (en mm)"
-
-msgid "Hydrant Position"
-msgstr "Posición de hidrante"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "carril"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "área de estacionamiento"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "vereda/acera"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "verde"
-
-msgid "Pressure (in bar)"
-msgstr "Presión (en bar)"
-
-msgid "suction"
-msgstr "succión"
-
-msgid "Count"
-msgstr "Cuenta"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr "Aire comprimido"
@@ -21728,9 +22029,62 @@ msgstr "Tartan (pista para competiciones de atletismo)"
 msgid "Racetrack"
 msgstr "Pista de carreras"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Campo de golf"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Mini golf"
 
@@ -21955,9 +22309,6 @@ msgstr "Voleyplaya"
 msgid "Billiards"
 msgstr "Billar"
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "campo de golf"
 
@@ -22039,7 +22390,7 @@ msgstr "industrial"
 
 msgctxt "building"
 msgid "school"
-msgstr "escuela"
+msgstr "escuela, colegio o instituto de educación secundaria"
 
 msgctxt "building"
 msgid "commercial"
@@ -22122,6 +22473,10 @@ msgid "gasometer"
 msgstr "Contenedor de gas (gasometer)"
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "Establo"
 
@@ -22130,6 +22485,38 @@ msgid "construction"
 msgstr "en construcción"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "basílica"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "catedral"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "capilla"
+
+msgctxt "building"
+msgid "church"
+msgstr "iglesia"
+
+msgctxt "building"
+msgid "temple"
+msgstr "templo"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "mezquita"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "sinagoga"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr "torre transformadora"
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Niveles"
 
@@ -22242,6 +22629,9 @@ msgstr "Molino de viento"
 msgid "Gasometer"
 msgstr "Gasómetro"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "Tanque de almacenamiento"
 
@@ -22643,6 +23033,14 @@ msgstr "Arsenal"
 msgid "hardened_aircraft_shelter"
 msgstr "Refugio reforzado para aviones"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "subterráneo"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "en superficie"
+
 msgid "Historic"
 msgstr "Histórico"
 
@@ -22652,6 +23050,9 @@ msgstr "Ruinas"
 msgid "Range"
 msgstr "Campo de tiro"
 
+msgid "Power"
+msgstr "Energía"
+
 msgid "Power Plant"
 msgstr "Planta generadora de energía"
 
@@ -23085,11 +23486,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Armario eléctrico"
+msgid "Power Street Cabinet"
+msgstr "Gabinete de energía callejero"
 
-msgid "Power Tower"
-msgstr "Torre de electricidad"
+msgid "Transformer Tower"
+msgstr "Torren de transformador"
+
+msgid "Power Portal"
+msgstr "Portal de energía"
 
 msgid "Type of construction"
 msgstr "Tipo de construcción"
@@ -23110,6 +23514,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "rojo/blanco"
 
+msgid "Portal design"
+msgstr "Portal de diseño"
+
+msgctxt "power"
+msgid "portal"
+msgstr "portal"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portal de dos niveles"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portal de tres niveles"
+
+msgid "Power Tower"
+msgstr "Torre de electricidad"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Tipo de torre"
@@ -23233,18 +23655,6 @@ msgid "guyed_h-frame"
 msgstr "marco-h anclado"
 
 msgctxt "power"
-msgid "portal"
-msgstr "portal"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "portal de dos niveles"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "portal de tres niveles"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "marco-v anclado"
 
@@ -23277,6 +23687,9 @@ msgstr "Polo de atributos"
 msgid "Transformer Attributes:"
 msgstr "Transformador de Atributos:"
 
+msgid "Insulator"
+msgstr "Aislante"
+
 msgid "Power Line"
 msgstr "Tendido eléctrico"
 
@@ -23534,6 +23947,9 @@ msgstr "Muebles y decoración"
 msgid "Kitchen"
 msgstr "Cocinas"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Cortinajes"
 
@@ -23576,12 +23992,21 @@ msgstr "Para el cuerpo"
 msgid "Chemist"
 msgstr "Droguería o parafarmacia"
 
-msgid "Hairdresser/Barber"
-msgstr "Peluquería/Barbería"
+msgid "Cosmetics"
+msgstr "Cosméticos"
+
+msgid "Perfumery"
+msgstr "Perfumería"
 
 msgid "Beauty"
 msgstr "Salón de belleza"
 
+msgid "Tobacco"
+msgstr "Tabaco"
+
+msgid "Hairdresser/Barber"
+msgstr "Peluquería/Barbería"
+
 msgid "Tattoo"
 msgstr "Tatuaje"
 
@@ -23613,7 +24038,7 @@ msgid "Garden Centre"
 msgstr "Centro de jardinería"
 
 msgid "Do-It-Yourself Store"
-msgstr "Tienda de Hágalo Usted Mismo"
+msgstr "Tienda de bricolaje"
 
 msgid "Hardware"
 msgstr "Ferretería"
@@ -23907,6 +24332,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Telecomunicaciones"
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geografía"
 
@@ -24081,6 +24581,17 @@ msgstr "Valle"
 msgid "A low area between hills."
 msgstr "Un área baja entre cerros."
 
+msgid "Cliff"
+msgstr "Acantilado"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Exposición de la cara empinada de una piedra, con una vertical "
+"significativa, o casi vertical (dejar la cara inferior a la derecha de la "
+"vía)."
+
 msgid "Cave Entrance"
 msgstr "Entrada de cueva"
 
@@ -24294,6 +24805,51 @@ msgstr "Prado"
 msgid "Orchard"
 msgstr "Huerta"
 
+msgid "Trees"
+msgstr "Árboles"
+
+msgid "olive_trees"
+msgstr "olivar"
+
+msgid "apple_trees"
+msgstr "manzanar"
+
+msgid "oil_palms"
+msgstr "palmas aceiteras"
+
+msgid "orange_trees"
+msgstr "plantación de naranjos"
+
+msgid "almond_trees"
+msgstr "árboles de almendro"
+
+msgid "banana_plants"
+msgstr "bananal"
+
+msgid "coconut_palms"
+msgstr "cocoteros"
+
+msgid "hazel_plants"
+msgstr "plantas de avellanos"
+
+msgid "cherry_trees"
+msgstr "árboles de cerezo"
+
+msgid "persimmon_trees"
+msgstr "árboles de persimón"
+
+msgid "walnut_trees"
+msgstr "árboles de nogal"
+
+msgid "plum_trees"
+msgstr "árboles de ciruelos"
+
+msgid "peach_trees"
+msgstr "duraznal"
+
+msgid "tea_plants"
+msgstr "plantación de té"
+
 msgid "Vineyard"
 msgstr "Viñedo"
 
@@ -25099,9 +25655,6 @@ msgstr "{0} y {1} junto con {2} y valores en conflicto"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Combinación de etiquetas sospechosa: {0} and {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} está obsoleto"
-
 msgid "{0} is deprecated"
 msgstr "{0} está obsoleto"
 
@@ -25131,9 +25684,8 @@ msgstr ""
 "Uso incorrecto de la etiqueta {0}. Elimine {1}, debido a que queda claro que "
 "el nombre está ausente incluso sin una etiqueta adicional ."
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr ""
-"{0}={1} está en desuso. Por favor utilice en su lugar un multipolígono."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr "{0} está en desuso. Por favor utilice en su lugar un multipolígono."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -25184,6 +25736,15 @@ msgstr "clave corta poco frecuente"
 msgid "{0} is inaccurate"
 msgstr "{0} no es exacto"
 
+msgid "{0} is deprecated for {1}"
+msgstr "{0} fue reemplazada por {1}"
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr "{0} está en desuso. Utilice en su lugar el prefijo clave {1}."
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} sobre un nodo. Debería ser utilizado sobre una vía."
 
@@ -25199,6 +25760,9 @@ msgstr "{0} sobre una vía. Debería ser utilizado en un nodo."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} sobre una vía. Debería ser utilizado en una relación"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} en un nodo"
 
@@ -25226,6 +25790,9 @@ msgstr "{0} debe estar conectado a una vía"
 msgid "node connects waterway and bridge"
 msgstr "el nodo conecta a una vía fluvial y puente"
 
+msgid "suspicious roundabout direction"
+msgstr "Dirección de rotonda sospechosa"
+
 msgid "abbreviated street name"
 msgstr "nombre de calle abreviado"
 
@@ -25269,8 +25836,8 @@ msgstr "etiqueta layer con el signo +"
 msgid "layer should be between -5 and 5"
 msgstr "la capa debe estar entre -5 y 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "level debería ser un número con opcional de .5 incrementos"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr ""
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -29072,8 +29639,8 @@ msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 "La fuente de señalética de tráfico en ''{0}'' tiene un formato erróneo."
 
-msgid "Could not read font-file from ''{{0}}''."
-msgstr "No se pudo leer el archivo de fuentes desde ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
+msgstr ""
 
 msgid "Mapillary"
 msgstr "Mapillary"
@@ -29388,6 +29955,9 @@ msgstr "Acceso a Mapillary"
 msgid "Login successful, return to JOSM."
 msgstr "Acceso correcto, volver a JOSM."
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr "Descargando imágenes de Mapillary"
 
@@ -29403,6 +29973,18 @@ msgstr "Carga terminada"
 msgid "Uploading: {0}"
 msgstr "Cargando: {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Valores medidos"
 
@@ -30469,67 +31051,67 @@ msgid "Please load some photos."
 msgstr "Por favor cargue algunas fotos."
 
 msgid "Edit photo GPS data"
-msgstr ""
+msgstr "Editar los datos GPS de la fotografía"
 
 msgid "Edit GPS data of selected photo."
-msgstr ""
+msgstr "Editar los datos GPS de la fotografía seleccionada"
 
 msgid "Edit Photo GPS Data"
-msgstr ""
+msgstr "Editar los datos GPS de la fotografía"
 
 msgid "Please select an image first."
-msgstr ""
+msgstr "Por favor, seleccione un imagen primero"
 
 msgid "No image selected"
-msgstr ""
+msgstr "Ninguna imagen seleccionada"
 
 msgid "(Empty values delete the according fields.)"
-msgstr ""
+msgstr "(Eliminar los valores vacíos según los campos.)"
 
 msgid "coordinates"
 msgstr "coordenadas"
 
 msgid "Latitude and longitude"
-msgstr ""
+msgstr "Latitud y longitud"
 
 msgid "Edit Image Coordinates"
-msgstr ""
+msgstr "Editar las coordenadas de la imagen"
 
 msgid "Edit coordinates in separate editor"
-msgstr ""
+msgstr "Editar las coordenadas en el editor independiente"
 
 msgid "altitude"
-msgstr ""
+msgstr "Altitud"
 
 msgid "Altitude:"
-msgstr ""
+msgstr "Altitud:"
 
 msgid "speed"
-msgstr ""
+msgstr "velocidad"
 
 msgid "positive number or empty"
-msgstr ""
+msgstr "número positivo o vacío"
 
 msgid "Speed:"
-msgstr ""
+msgstr "Velocidad:"
 
 msgid "direction"
-msgstr ""
+msgstr "dirección"
 
 msgid "range -360.0 .. 360.0, or empty"
-msgstr ""
+msgstr "rango entre -360.0 y 360.0 o vacío"
 
 msgid "Direction:"
-msgstr ""
+msgstr "Dirección:"
 
 msgid "°"
-msgstr ""
+msgstr "°"
 
 msgid "Undo changes made in this dialog"
-msgstr ""
+msgstr "Deshacer los cambios realizados en este cuadro de diálogo"
 
 msgid "Reload GPS data from image file"
-msgstr ""
+msgstr "Recargar los datos GPS desde el archivo de imagen"
 
 msgid "New layer for untagged images"
 msgstr "Nueva capa de imágenes sin etiquetar"
@@ -30848,6 +31430,12 @@ msgstr "Complemento Proj4J"
 msgid "Code"
 msgstr "Código"
 
+msgid "Can''t parse a time from this string."
+msgstr "No se puede interpretar una hora con esta cadena de caracteres."
+
+msgid "Invalid value"
+msgstr "Valor no válido"
+
 msgid "added"
 msgstr "añadido"
 
@@ -30936,15 +31524,6 @@ msgstr "Capturar"
 msgid "Join"
 msgstr "Unir"
 
-msgid "Enable"
-msgstr "Activar"
-
-msgid "Can''t parse a time from this string."
-msgstr "No se puede interpretar una hora con esta cadena de caracteres."
-
-msgid "Invalid value"
-msgstr "Valor no válido"
-
 msgid "moved"
 msgstr "Movido"
 
@@ -33125,6 +33704,11 @@ msgstr "El camino con los nodos seleccionados no se puede enderezar."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Error interno: el número de nodos es {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+"Copiar todas las etiquetas de los objetos seleccionados a la memoria de "
+"pegado."
+
 msgid "Extract node"
 msgstr "Extraer nodo"
 
@@ -33802,6 +34386,11 @@ msgstr[1] "Buscando {0} ID de Wikidata para el idioma ''{1}''"
 msgid "Add Wikidata for language ''{0}''"
 msgstr "Añadir Wikidata para el idioma ''{0}''"
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Añadir nombres desde Wikipedia"
 
@@ -33897,3 +34486,6 @@ msgstr "Ir a manejar"
 
 msgid "Drive a race car on this layer"
 msgstr "Conduce un vehículo de carreras en esta capa"
+
+#~ msgid "Could not read font-file from ''{{0}}''."
+#~ msgstr "No se pudo leer el archivo de fuentes desde ''{{0}}''."
diff --git a/i18n/po/et.po b/i18n/po/et.po
index 9a67a9a..cfed16c 100644
--- a/i18n/po/et.po
+++ b/i18n/po/et.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2016-01-02 11:25+0000\n"
 "Last-Translator: AivoK <aivo.kuhlberg at hot.ee>\n"
 "Language-Team: Estonian <et at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:39+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:40+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: et\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -398,6 +398,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr "Pööra joonte suund"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Ühenda {0} tee"
@@ -455,6 +458,12 @@ msgstr "Kustuta"
 msgid "Delete selected objects."
 msgstr "Kustuta valitud objektid."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Lülita dialoogiaken"
 
@@ -1217,9 +1226,6 @@ msgstr "Kliki, et taaskäivitada hiljem"
 msgid "Reverse way"
 msgstr "Pööra joone suund"
 
-msgid "Reverse Ways"
-msgstr "Pööra joonte suund"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Pööra kõigi valitud joonte suund"
 
@@ -1569,6 +1575,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Võta sõlm tee küljest lahti"
 
@@ -2303,6 +2319,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Lisa valik relatsioonile"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2344,6 +2365,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2702,7 +2732,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3280,9 +3313,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3341,6 +3371,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3568,6 +3601,9 @@ msgstr "tekst"
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3645,12 +3681,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3660,6 +3708,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4226,6 +4292,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4920,9 +4989,6 @@ msgstr "Aluskaardi eelistused"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Kliki, et avada aluskaardi sätete leht eelistuste dialoogiaknas"
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4981,12 +5047,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Kursori asukoha geograafiline laiuskraad"
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Kursori asukoha geograafiline pikkuskraad"
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -5013,6 +5073,18 @@ msgstr "Kasutaja:"
 msgid "Do not hide status bar"
 msgstr "Ära peida olekuriba"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Kursori asukoha geograafiline laiuskraad"
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Kursori asukoha geograafiline pikkuskraad"
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5834,6 +5906,18 @@ msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 "Ava ülalolevast nimekirjast valitud kõigi objektide ühendamisdialoog."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5950,6 +6034,9 @@ msgstr "Liiguta filtrit allapoole"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filter Peidetud:{0} Keelatud:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Viga filtris"
 
@@ -6375,6 +6462,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6727,21 +6817,15 @@ msgstr[1] ""
 "<html>Ükski valitud objekt ei ole kättesaadav antud<br>redigeerimiskihis "
 "''{0}''.</html>"
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Laadi alla muutuskogum OSM serverist"
-
-msgid "Update content"
-msgstr "Uuenda sisu"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Värskenda muutuskogumit OSM serverist"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Laadi alla valitud objektid ja näita nende ajalugu"
 
+msgid "Download objects"
+msgstr "Laadi alla objektid"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr ""
 
@@ -6841,6 +6925,18 @@ msgstr ""
 msgid "closed"
 msgstr "suletud"
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Laadi alla muutuskogum OSM serverist"
+
+msgid "Update content"
+msgstr "Uuenda sisu"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Värskenda muutuskogumit OSM serverist"
+
 msgid "Changeset ID: "
 msgstr "Muutuskogumi ID: "
 
@@ -7178,8 +7274,8 @@ msgstr "Muuda kõikide valitud objektide võtme väärtust"
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Abi siltide kasutamise kohta saab OSMi vikist (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr ""
@@ -7214,6 +7310,9 @@ msgstr "Kopeeri kõik võtmed ja väärtused"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7281,6 +7380,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr "Peida"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7393,9 +7513,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7428,108 +7545,83 @@ msgstr ""
 "<html>Püüate lisada relatsiooni iseendale.<br><br>See loob ringviited ning "
 "on seetõttu ebasoovitav.<br>Jätan relatsiooni ''{0}'' vahele.</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 "Select previous Gap"
+msgstr "Vali eelmine lünk"
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr ""
+msgid "Select next Gap"
+msgstr "Vali järgmine lünk"
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Relation Editor: Sort"
-msgstr ""
+msgid "Refers to"
+msgstr "Viitatav objekt"
 
-msgid "Sort below"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "Impordi ajal tekkis {0} vastuolu."
 
-msgid "Reverse"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "Liiguta valitud liiget ülespoole"
-
-msgid "Relation Editor: Move Up"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr "Liiguta valitud liiget allapoole"
-
-msgid "Relation Editor: Move Down"
-msgstr ""
+msgid "Reload"
+msgstr "Lae uuesti"
 
-msgid "Remove the currently selected members from this relation"
-msgstr ""
+msgid "Loading parent relations"
+msgstr "Vanemrelatsioonide allalaadimine"
 
-msgid "Relation Editor: Remove"
-msgstr ""
+msgid "Edit the currently selected relation"
+msgstr "Redigeeri valitud relatsiooni"
 
-msgid "Delete the currently edited relation"
+msgid "Apply Changes"
 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."
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Yes, create a conflict and close"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Click to create a conflict and close this relation editor"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "No, continue editing"
+msgid "Load relation"
 msgstr ""
 
-msgid "Click to return to the relation editor and to resume relation editing"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr "Rakenda jooksvad uuendused"
 
-msgid "Apply the updates and close the dialog"
-msgstr "Sakenda uuendused ja sule dialoog"
-
 msgid "Cancel the updates and close the dialog"
 msgstr "Katkesta uuendused ja sule dialoog"
 
@@ -7548,6 +7640,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7556,7 +7651,10 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
+msgid "Delete the currently edited relation"
+msgstr ""
+
+msgid "Relation Editor: Download Members"
 msgstr ""
 
 msgid "Download all incomplete members"
@@ -7565,101 +7663,151 @@ msgstr "Laadi alla lõpetamata liikmed"
 msgid "Download Members"
 msgstr "Laadi alla liikmed"
 
-msgid "Relation Editor: Download Members"
-msgstr ""
-
 msgid "Download selected incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "Sead tühja rolli {0} objektile."
-msgstr[1] "Sead tühja rolli {0} objektile."
+msgid "Move the currently selected members down"
+msgstr "Liiguta valitud liiget allapoole"
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Move the currently selected members up"
+msgstr "Liiguta valitud liiget ülespoole"
+
+msgid "Apply the updates and close the dialog"
+msgstr "Sakenda uuendused ja sule dialoog"
+
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Refresh"
+msgstr "Värskenda"
+
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
 msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Select previous Gap"
-msgstr "Vali eelmine lünk"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "Select next Gap"
-msgstr "Vali järgmine lünk"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Refers to"
-msgstr "Viitatav objekt"
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
 
-msgid "Download referring relations"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "Impordi ajal tekkis {0} vastuolu."
+msgid "Reverse"
+msgstr ""
 
-msgid "including immediate children of parent relations"
+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 ""
 
-msgid "Load parent relations"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Reload"
-msgstr "Lae uuesti"
+msgid "Click to create a conflict and close this relation editor"
+msgstr ""
 
-msgid "Loading parent relations"
-msgstr "Vanemrelatsioonide allalaadimine"
+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 ""
 
-msgid "Edit the currently selected relation"
-msgstr "Redigeeri valitud relatsiooni"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
 
-msgid "Apply Changes"
+msgid "Select objects for selected relation members"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Sets a role for the selected members"
 msgstr ""
 
-msgid "Load relation"
+msgid "Apply Role"
+msgstr ""
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "Sead tühja rolli {0} objektile."
+msgstr[1] "Sead tühja rolli {0} objektile."
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -8063,6 +8211,11 @@ msgid ""
 msgstr ""
 "<html>Versioon <strong>{0}</strong> loodud <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8166,15 +8319,15 @@ msgid "Upload"
 msgstr "Laadi üles"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Vasaku hiirenupuga klõpsates vali toimingud, mida antud kihiga tuleks "
-"sooritada.<br/>Vali \"Laadi üles\", et laadida üles muudatused OSM "
-"serverisse.<br/>Vali \"Salvesta\", et salvestada kiht vasemal pool "
-"määratletud faili. </html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Kommenteeri lühidalt üleslaaditavaid muudatusi."
@@ -8359,9 +8512,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr "Laadi alla objektid"
-
 msgid "Initializing nodes to download ..."
 msgstr "Lähtestan allalaetavad sõlmed..."
 
@@ -8894,7 +9044,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} objekt kustutada:"
 msgstr[1] "{0} objekti kustutada:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8903,32 +9053,29 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
+msgid "Load tile"
 msgstr ""
 
-msgid "Auto load tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Show errors"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Change resolution"
-msgstr "Muuda resolutsiooni"
-
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
-msgstr ""
+msgid "Change resolution"
+msgstr "Muuda resolutsiooni"
 
 msgid "Increase zoom"
 msgstr ""
@@ -8936,10 +9083,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9369,6 +9516,9 @@ msgstr ""
 "Viga nihke parsimisel.\n"
 "Oodatud vorming: {0}"
 
+msgid "Geotagged Images"
+msgstr "Geosildistatud fotod"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9393,9 +9543,6 @@ msgstr "Viga failide laadimisel kataloogist {0}\n"
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr "Geosildistatud fotod"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9750,9 +9897,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9797,6 +9942,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9857,11 +10008,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9978,6 +10124,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10338,6 +10490,15 @@ msgstr "Registreeritud tööriistariba toiming {0} kirjutati üle: {1} saab {2}"
 msgid "Toolbar: {0}"
 msgstr "Tööriistariba: {0}"
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10422,18 +10583,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -11085,9 +11237,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11361,6 +11510,9 @@ msgid_plural ""
 msgstr[0] "Järgneva plugina allaladimine <strong>ebaõnnestus</strong>:"
 msgstr[1] "Järgneva {0} plugina allalaadimine <strong>ebaõnnestus</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Allalaetud pluginate aktiveerimiseks palun taaskäivita JOSM."
 
@@ -12009,12 +12161,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr "Elektrivõrk"
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Religioon"
 
@@ -12104,6 +12250,9 @@ msgstr "Kasuta eelseadet \"{0}\""
 msgid "Elements of type {0} are supported."
 msgstr "Elemente tüübist {0} toetatakse."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12174,6 +12323,9 @@ msgstr ""
 msgid "Presets"
 msgstr "Eelseaded"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "Otsi objekte eelseadede järgi"
 
@@ -12217,6 +12369,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Rohkem teavet sellest funktsioonist"
 
@@ -12309,16 +12464,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "väär: omadus on selgesõnaliselt välja lülitatud"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "tõene: omadus on selgesõnaliselt sisse lülitatud"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "osaline: erinevad valitud objektid on erineva väärtusega, ei muuda"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "määramata: ei sea seda valikut valitud objektidele"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12802,6 +12971,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "OSM serveri failid"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12816,9 +12988,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr "OSM serveri failid"
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -13012,9 +13181,6 @@ msgstr "Andmete üleslaadimine..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13188,21 +13354,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13214,6 +13387,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13231,19 +13412,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13946,9 +14116,6 @@ msgstr ""
 "Allalaaditav ala oli liiga suur või sisaldas liiga palju andmeid. <br>Proovi "
 "alla laadida väiksem ala või kasuta ekspordifaili."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13980,6 +14147,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13988,9 +14158,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -14138,6 +14305,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr "ms"
 
@@ -14448,9 +14618,6 @@ msgstr "Ava valitud fail"
 msgid "Open selected file."
 msgstr "Ava valitud fail."
 
-msgid "Refresh"
-msgstr "Värskenda"
-
 msgid "Rename File"
 msgstr ""
 
@@ -14544,7 +14711,10 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
-msgid "OpenStreetMap (German Style)"
+msgid "Hike & Bike"
+msgstr ""
+
+msgid "OpenStreetMap (German Style)"
 msgstr ""
 
 msgid "Cambodia, Laos, Thailand, Vietnam bilingual"
@@ -14610,6 +14780,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14706,13 +14879,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14835,6 +15011,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14855,9 +15034,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14928,6 +15104,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14961,10 +15146,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15660,6 +15848,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Loo teede võrgustik."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16324,6 +16515,105 @@ msgstr ""
 msgid "Brand"
 msgstr "Kaubamärk"
 
+msgid "Cuisine"
+msgstr "Rahvuslik köök"
+
+msgid "italian"
+msgstr "itaalia"
+
+msgid "chinese"
+msgstr "hiina"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "burger"
+
+msgid "greek"
+msgstr "kreeka"
+
+msgid "german"
+msgstr "saksa"
+
+msgid "indian"
+msgstr "india"
+
+msgid "regional"
+msgstr "kohalik"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "türgi"
+
+msgid "asian"
+msgstr "aasia"
+
+msgid "thai"
+msgstr "tai"
+
+msgid "mexican"
+msgstr "mehhiko"
+
+msgid "japanese"
+msgstr "jaapani"
+
+msgid "french"
+msgstr "prantsuse"
+
+msgid "sandwich"
+msgstr "võileivad"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr "kana"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "jäätis"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Internetiühendus"
 
@@ -16891,8 +17181,11 @@ msgstr "Suurim mass (tonni)"
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "Kas veekogu on muutuv (sõltuvalt aastaajast)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
+msgstr ""
 
 msgid "In the tidal range"
 msgstr ""
@@ -17645,25 +17938,29 @@ msgstr "Valgusfoori korral:"
 msgid "Traffic Calming"
 msgstr "Liikluse rahustamine"
 
-msgid "bump"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
 msgstr ""
 
-msgid "chicane"
+msgid "Choker"
 msgstr ""
 
-msgid "choker"
+msgid "Cushion"
 msgstr ""
 
-msgid "cushion"
+msgid "Hump"
 msgstr ""
 
-msgid "hump"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17813,6 +18110,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17983,6 +18283,9 @@ msgstr "jõgi"
 msgid "Salt Water"
 msgstr "Soolane vesi"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "Kas veekogu on muutuv (sõltuvalt aastaajast)?"
+
 msgid "Coastline"
 msgstr "Rannik"
 
@@ -18045,14 +18348,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr "Laevandus"
 
@@ -18981,66 +19276,6 @@ msgstr "Toit ja jook"
 msgid "Restaurant"
 msgstr "Restoran"
 
-msgid "Cuisine"
-msgstr "Rahvuslik köök"
-
-msgid "italian"
-msgstr "itaalia"
-
-msgid "chinese"
-msgstr "hiina"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "burger"
-
-msgid "greek"
-msgstr "kreeka"
-
-msgid "german"
-msgstr "saksa"
-
-msgid "indian"
-msgstr "india"
-
-msgid "regional"
-msgstr "kohalik"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "türgi"
-
-msgid "asian"
-msgstr "aasia"
-
-msgid "thai"
-msgstr "tai"
-
-msgid "mexican"
-msgstr "mehhiko"
-
-msgid "japanese"
-msgstr "jaapani"
-
-msgid "french"
-msgstr "prantsuse"
-
-msgid "sandwich"
-msgstr "võileivad"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr "Pisipruulikoda"
 
@@ -19053,20 +19288,14 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Kiirtoit"
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr "kana"
-
 msgid "Food Court"
 msgstr "Söögihall"
 
 msgid "Cafe"
 msgstr "Kohvik"
 
-msgid "ice_cream"
-msgstr "jäätis"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Pubi"
@@ -19243,6 +19472,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "Veepark"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Saun"
 
@@ -19277,9 +19512,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Kalapüük"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr "Ööklubi"
 
@@ -19322,12 +19554,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
-msgstr "Salvestusstuudio"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "heli"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "video"
 
@@ -19431,6 +19669,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Mošee"
 
@@ -19590,6 +19832,125 @@ msgstr "(Kasuta riigikoodi, näiteks +12-345-67890)"
 msgid "Veterinary"
 msgstr "Loomaarst"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Tuletõrjehüdrant"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "maa-alune"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "sambakujuline"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "seina tuletõrjehüdrant"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "kuiv hüdrant"
+
+msgid "Diameter (in mm)"
+msgstr "Läbimõõt (mm)"
+
+msgid "Hydrant Position"
+msgstr "Hüdrandi asukoht"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "sõidutee"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parkla"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "kõnnitee"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "haljasala"
+
+msgid "Pressure (in bar)"
+msgstr "Rõhk (baarides)"
+
+msgid "suction"
+msgstr "imemine"
+
+msgid "Count"
+msgstr "Arv"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Hädaabi telefon"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19702,24 +20063,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "Telefoni kaart"
 
-msgid "Emergency Phone"
-msgstr "Hädaabi telefon"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr "Kell"
 
@@ -19882,64 +20228,15 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Peida"
+msgstr ""
 
 msgid "Lock"
 msgstr "Lukusta"
 
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr "Tuletõrjehüdrant"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "maa-alune"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "sambakujuline"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "seina tuletõrjehüdrant"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "kuiv hüdrant"
-
-msgid "Diameter (in mm)"
-msgstr "Läbimõõt (mm)"
-
-msgid "Hydrant Position"
-msgstr "Hüdrandi asukoht"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "sõidutee"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parkla"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "kõnnitee"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "haljasala"
-
-msgid "Pressure (in bar)"
-msgstr "Rõhk (baarides)"
-
-msgid "suction"
-msgstr "imemine"
-
-msgid "Count"
-msgstr "Arv"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr ""
@@ -19992,9 +20289,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "Võidusõidurada"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golfiväljak"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Minigolf"
 
@@ -20219,9 +20569,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "Golfiväljak"
 
@@ -20386,6 +20733,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20394,6 +20745,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Korruseid"
 
@@ -20506,6 +20889,9 @@ msgstr "Tuuleveski"
 msgid "Gasometer"
 msgstr "Gaasimõõtejaam"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20907,6 +21293,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20916,6 +21310,9 @@ msgstr "Varemed"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Elektrivõrk"
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21347,11 +21744,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
-msgstr "Jaotuskilp"
+msgid "Power Street Cabinet"
+msgstr ""
+
+msgid "Transformer Tower"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Elektriliini mast"
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21372,6 +21772,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Elektriliini mast"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21495,18 +21913,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21539,6 +21945,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Elektriliin"
 
@@ -21796,6 +22205,9 @@ msgstr "Mööbel"
 msgid "Kitchen"
 msgstr "Valmisköögid"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Kardinad"
 
@@ -21838,12 +22250,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Apteek"
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -22169,6 +22590,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geograafia"
 
@@ -22337,6 +22833,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Koopa sissepääs"
 
@@ -22537,6 +23041,51 @@ msgstr "Niit/Karjamaa"
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Viinapuuistandus"
 
@@ -23331,9 +23880,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23355,7 +23901,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23399,6 +23945,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23414,6 +23969,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23441,6 +23999,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23482,7 +24043,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26922,7 +27483,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27235,6 +27796,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27250,6 +27814,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28599,6 +29175,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28685,15 +29267,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30685,6 +31258,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31275,6 +31851,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/eu.po b/i18n/po/eu.po
index 86af211..7776d82 100644
--- a/i18n/po/eu.po
+++ b/i18n/po/eu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-03-09 16:55+0000\n"
 "Last-Translator: Asier Sarasua Garmendia <Unknown>\n"
 "Language-Team: Basque <eu at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:34+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:34+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: eu\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -394,6 +394,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr "Bideen norabidea aldatu"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Konbinatu bide {0}"
@@ -451,6 +454,12 @@ msgstr "Ezabatu"
 msgid "Delete selected objects."
 msgstr "Aukeratutako objektuak ezabatu."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1217,9 +1226,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr "Alderantzizko bidea"
 
-msgid "Reverse Ways"
-msgstr "Bideen norabidea aldatu"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Aukeratutako bide guztien norabidea aldatu."
 
@@ -1572,6 +1578,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2314,6 +2330,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2355,6 +2376,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2719,7 +2749,10 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3309,9 +3342,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "{0} hobespena ezabatu dugu ez bait da jadanik erabiltzen."
 
@@ -3370,6 +3400,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3607,6 +3640,9 @@ msgstr "testua"
 msgid "areatext"
 msgstr "areatext"
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3684,12 +3720,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3699,6 +3747,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4269,6 +4335,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4986,9 +5055,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -5047,12 +5113,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Latitude geografikoa saguaren puntuan."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Longitude geografikoa saguaren puntuan."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Marrazten ari garen segmentuaren norabidea."
 
@@ -5081,6 +5141,18 @@ msgstr "Erabiltzailea:"
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Latitude geografikoa saguaren puntuan."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Longitude geografikoa saguaren puntuan."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5923,6 +5995,18 @@ msgstr "Konpondu"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -6039,6 +6123,9 @@ msgstr "Iragazkia jaitsi"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6466,6 +6553,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6814,19 +6904,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr "Edukia jaitsi"
-
-msgid "Download the changeset content from the OSM server"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update content"
-msgstr "Edukia eguneratu"
-
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6928,6 +7012,18 @@ msgstr "ireki"
 msgid "closed"
 msgstr "itxita"
 
+msgid "Download content"
+msgstr "Edukia jaitsi"
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr "Edukia eguneratu"
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr "Aldaketa-multzoaren IDa: "
 
@@ -7255,7 +7351,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7291,6 +7387,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7358,6 +7457,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr "Ezkutatu"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7470,9 +7590,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7503,108 +7620,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "Inportazioa egitean {0} gatazka egon dira."
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
-msgstr "Alderantzikatu"
+msgid "Reload"
+msgstr "Birkargatu"
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7623,6 +7715,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7631,48 +7726,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7680,61 +7764,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "Inportazioa egitean {0} gatazka egon dira."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
-msgstr "Birkargatu"
+msgid "Remove the currently selected members from this relation"
+msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
+msgstr "Alderantzikatu"
+
+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 ""
 
-msgid "Create new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+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 ""
 
-msgid "Load relation"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -8122,6 +8270,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8225,10 +8378,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8408,9 +8565,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8923,7 +9077,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8932,32 +9086,29 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
+msgid "Load tile"
 msgstr ""
 
-msgid "Auto load tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Show errors"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Change resolution"
-msgstr "Bereizmena aldatu"
-
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
-msgstr ""
+msgid "Change resolution"
+msgstr "Bereizmena aldatu"
 
 msgid "Increase zoom"
 msgstr ""
@@ -8965,10 +9116,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9390,6 +9541,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9414,9 +9568,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9767,9 +9918,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9814,6 +9963,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9870,11 +10025,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9990,6 +10140,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10350,6 +10506,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10431,18 +10596,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -11094,9 +11250,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr "Mesedez, aukeratu kopiatzeko lerro bat gutxienez."
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr "Menu-izena"
 
@@ -11368,6 +11521,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Mesedez, jaitsitako gehigarri guztiak aktibatzeko berrabiarazi JOSM"
 
@@ -11997,12 +12153,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Erlijioa"
 
@@ -12092,6 +12242,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12162,6 +12315,9 @@ msgstr ""
 msgid "Presets"
 msgstr "Aurrezarpenak"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12205,6 +12361,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12293,16 +12452,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "faltsua: propietatea nahita dago kenduta"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "egia: propietatea nahita dago jarrita"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "partziala: objektuek aukera desberdinak dituzte, ez aldatu"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "ezarri gabe: ez ezarri propietate hau aukeratutako objektuetan"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12782,6 +12955,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12796,9 +12972,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12991,9 +13164,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13163,21 +13333,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13189,6 +13366,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13206,19 +13391,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13901,9 +14075,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13935,6 +14106,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13943,9 +14117,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -14079,6 +14250,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14392,9 +14566,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr "Ireki aukeratutako fitxategia."
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr "Fitxategiari izena aldatu"
 
@@ -14488,6 +14659,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14554,6 +14728,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14650,13 +14827,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr ""
+
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14779,6 +14959,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14799,9 +14982,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14872,6 +15052,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14905,10 +15094,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15605,6 +15797,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Bideen lauki bat sortu."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "Sortu eta kudeatu helbide-nodoak eta eraikinak Txekiar Errepublikan"
@@ -16299,9 +16494,108 @@ msgstr "mugatua"
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
-msgstr ""
-
+msgid "Cuisine"
+msgstr "Sukaldaritza"
+
+msgid "italian"
+msgstr "italiarra"
+
+msgid "chinese"
+msgstr "txinatarra"
+
+msgid "pizza"
+msgstr "pizzeria"
+
+msgid "burger"
+msgstr "hanburgesategia"
+
+msgid "greek"
+msgstr "greziarra"
+
+msgid "german"
+msgstr "alemaniarra"
+
+msgid "indian"
+msgstr "indiarra"
+
+msgid "regional"
+msgstr "bertakoa"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turkiarra"
+
+msgid "asian"
+msgstr "asiarra"
+
+msgid "thai"
+msgstr "thailandiarra"
+
+msgid "mexican"
+msgstr "mexikarra"
+
+msgid "japanese"
+msgstr "japoniarra"
+
+msgid "french"
+msgstr "frantsesa"
+
+msgid "sandwich"
+msgstr "sandwich-a"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi-a"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "fish and chips (arraina eta pataten jatetxea)"
+
+msgid "chicken"
+msgstr "oilaskoa"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
 msgid "wlan"
 msgstr ""
 
@@ -16866,7 +17160,10 @@ msgstr "Gehienezko pixua (t)"
 msgid "Toll"
 msgstr "Ordainsaria"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17620,26 +17917,30 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Trafikoaren arinketa"
 
-msgid "bump"
-msgstr "salto"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
+msgstr ""
 
-msgid "chicane"
-msgstr "chicane"
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
-msgstr "estugune"
+msgid "Cushion"
+msgstr ""
 
-msgid "cushion"
+msgid "Hump"
 msgstr ""
 
-msgid "hump"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
-msgstr "taula"
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Aurreratze-lekua"
@@ -17788,6 +18089,9 @@ msgstr "Harresia"
 msgid "Retaining Wall"
 msgstr "Euste-horma"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17958,6 +18262,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Kostaldea"
 
@@ -18020,14 +18327,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Itsaslabarrak"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18956,66 +19255,6 @@ msgstr "Janaria+Edariak"
 msgid "Restaurant"
 msgstr "Jatetxea"
 
-msgid "Cuisine"
-msgstr "Sukaldaritza"
-
-msgid "italian"
-msgstr "italiarra"
-
-msgid "chinese"
-msgstr "txinatarra"
-
-msgid "pizza"
-msgstr "pizzeria"
-
-msgid "burger"
-msgstr "hanburgesategia"
-
-msgid "greek"
-msgstr "greziarra"
-
-msgid "german"
-msgstr "alemaniarra"
-
-msgid "indian"
-msgstr "indiarra"
-
-msgid "regional"
-msgstr "bertakoa"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turkiarra"
-
-msgid "asian"
-msgstr "asiarra"
-
-msgid "thai"
-msgstr "thailandiarra"
-
-msgid "mexican"
-msgstr "mexikarra"
-
-msgid "japanese"
-msgstr "japoniarra"
-
-msgid "french"
-msgstr "frantsesa"
-
-msgid "sandwich"
-msgstr "sandwich-a"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi-a"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -19028,19 +19267,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Otordu lasterreko jatetxea"
 
-msgid "fish_and_chips"
-msgstr "fish and chips (arraina eta pataten jatetxea)"
-
-msgid "chicken"
-msgstr "oilaskoa"
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "Kafetegia"
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19218,6 +19451,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "Ur-jolasen parkea"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19252,9 +19491,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Arrantza"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19297,12 +19533,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19406,6 +19648,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19565,6 +19811,125 @@ msgstr "(Erabili nazioarteko kodea, hala nola +12-345-67890)"
 msgid "Veterinary"
 msgstr "Albaitaria"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Suteentzako hidrantea"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Larrialdietako telefonoa"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19677,24 +20042,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "Telefono-txartelak"
 
-msgid "Emergency Phone"
-msgstr "Larrialdietako telefonoa"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19857,63 +20207,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Ezkutatu"
-
-msgid "Lock"
-msgstr "Esklusa"
-
-msgid "Indoor"
 msgstr ""
 
-msgid "Fire Hydrant"
-msgstr "Suteentzako hidrantea"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
-msgstr ""
+msgid "Lock"
+msgstr "Esklusa"
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19967,9 +20268,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "Lasterketa-pista"
 
+msgid "Golf"
+msgstr "Golfa"
+
 msgid "Golf Course"
 msgstr "Golf-zelaia"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Minigolfa"
 
@@ -20194,9 +20548,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golfa"
-
 msgid "golf_course"
 msgstr "golf-zelaia"
 
@@ -20361,6 +20712,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20369,6 +20724,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20481,6 +20868,9 @@ msgstr "Haize-errota"
 msgid "Gasometer"
 msgstr "Gasometroa"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20882,6 +21272,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20891,6 +21289,9 @@ msgstr "Hondakinak"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21322,11 +21723,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
-msgstr "Elektrizitate-dorrea"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21347,6 +21751,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Elektrizitate-dorrea"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21470,18 +21892,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21514,6 +21924,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Linea elektrikoa"
 
@@ -21771,6 +22184,9 @@ msgstr "Altzariak"
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21813,12 +22229,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Botika"
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -22144,6 +22569,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geografia"
 
@@ -22312,6 +22812,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Itsaslabarrak"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Kobazuloaren sarrera"
 
@@ -22512,6 +23020,51 @@ msgstr "Belardia"
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Mahastia"
 
@@ -23306,9 +23859,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23330,7 +23880,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23374,6 +23924,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23389,6 +23948,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23416,6 +23978,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23457,7 +24022,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26881,7 +27446,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27194,6 +27759,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27209,6 +27777,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28555,6 +29135,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28641,15 +29227,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30636,6 +31213,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31232,6 +31812,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/fa.po b/i18n/po/fa.po
index 89869f9..d165460 100644
--- a/i18n/po/fa.po
+++ b/i18n/po/fa.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:56+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:55+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: fa\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -392,6 +392,9 @@ msgstr ""
 "راه ها را نمی توان ترکیب کرد<br>(آنها نمی توانند در یک رشته از گره ها ترکیب "
 "شوند)"
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -447,6 +450,12 @@ msgstr "حذف"
 msgid "Delete selected objects."
 msgstr "حذف اشياء انتخاب شده."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "میخ پرچ پنل گفتگو"
 
@@ -1241,9 +1250,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1576,6 +1582,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2294,6 +2310,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2335,6 +2356,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2689,7 +2719,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3252,9 +3285,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3313,6 +3343,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3538,6 +3571,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3615,12 +3651,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3630,6 +3678,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4196,6 +4262,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4891,9 +4960,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4952,12 +5018,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4984,6 +5044,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5803,6 +5875,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5919,6 +6003,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6344,6 +6431,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6691,19 +6781,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6805,6 +6889,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7132,7 +7228,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7168,6 +7264,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7235,6 +7334,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7347,9 +7467,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7380,108 +7497,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7500,6 +7592,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7508,48 +7603,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7557,61 +7641,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7999,6 +8147,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8102,10 +8255,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8285,9 +8442,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8805,7 +8959,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8814,31 +8968,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8847,10 +8998,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9270,6 +9421,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9294,9 +9448,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9647,9 +9798,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9694,6 +9843,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9750,11 +9905,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9870,6 +10020,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10230,6 +10386,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10311,18 +10476,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10974,9 +11130,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11248,6 +11401,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11877,12 +12033,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11972,6 +12122,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12042,6 +12195,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12085,6 +12241,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12173,16 +12332,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12662,6 +12835,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12676,9 +12852,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12871,9 +13044,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13042,21 +13212,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13068,6 +13245,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13085,19 +13270,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13780,9 +13954,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13814,6 +13985,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13822,9 +13996,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13958,6 +14129,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14266,9 +14440,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14362,6 +14533,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14428,6 +14602,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14524,13 +14701,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14653,6 +14833,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14673,9 +14856,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14746,6 +14926,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14779,10 +14968,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15478,6 +15670,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16133,25 +16328,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16700,7 +16994,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17454,25 +17751,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17622,6 +17923,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17792,6 +18096,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17854,14 +18161,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18790,66 +19089,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18862,19 +19101,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19052,6 +19285,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19086,9 +19325,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19131,12 +19367,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19240,6 +19482,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19399,6 +19645,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19511,24 +19876,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19691,63 +20041,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19801,9 +20102,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -20028,9 +20382,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20195,6 +20546,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20203,6 +20558,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20315,6 +20702,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20716,6 +21106,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20725,6 +21123,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21156,10 +21557,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21181,6 +21585,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21304,18 +21726,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21348,6 +21758,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21605,6 +22018,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21647,12 +22063,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21978,6 +22403,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22146,6 +22646,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22346,6 +22854,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23140,9 +23693,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23164,7 +23714,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23208,6 +23758,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23223,6 +23782,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23250,6 +23812,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23291,7 +23856,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26715,7 +27280,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27028,6 +27593,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27043,6 +27611,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28384,6 +28964,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28470,15 +29056,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30465,6 +31042,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31053,6 +31633,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/fi.po b/i18n/po/fi.po
index d766cac..593eee6 100644
--- a/i18n/po/fi.po
+++ b/i18n/po/fi.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2015-10-16 12:02+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-01-19 17:11+0000\n"
 "Last-Translator: Lauri Kytömaa <Unknown>\n"
 "Language-Team: Finnish <fi at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:40+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:41+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: fi\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -402,6 +402,9 @@ msgstr ""
 "Polkuja ei voitu yhdistää<br>Valituista poluista ei voi muodostaa yhtä, "
 "katkotonta pistejonoa"
 
+msgid "Reverse Ways"
+msgstr "Käännä polut"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Yhdistä {0} polku"
@@ -459,6 +462,12 @@ msgstr "Poista"
 msgid "Delete selected objects."
 msgstr "Poista valitut objektit."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Näytä paneelit"
 
@@ -1262,9 +1271,6 @@ msgstr "Valitse käynnistääksesi uudelleen vasta myöhemmin."
 msgid "Reverse way"
 msgstr "Käännä polku"
 
-msgid "Reverse Ways"
-msgstr "Käännä polut"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Kääntää valittujen polkujen suunnan."
 
@@ -1473,12 +1479,14 @@ msgstr[1] ""
 
 msgid "Which way segment should reuse the history of {0}?"
 msgstr ""
+"Valitse polun {0} osa, jolle jätetään aiempi historiatieto mukaan katkaisun "
+"jälkeen?"
 
 msgid " [id: {0}]"
 msgstr " [id: {0}]"
 
 msgid "Segment {0}: {1}"
-msgstr ""
+msgstr "Polun osa {0}: {1}"
 
 msgid "You must select two or more nodes to split a circular way."
 msgstr "Vähintään kaksi pistettä tulee valita ympyräpolun katkaisemiseksi."
@@ -1630,6 +1638,16 @@ msgstr ""
 "Olet erottamassa kohteita joita ei ole täysin ladattu.<br>Tästä seurannee "
 "ongelmia, koska et näe kohdetta oikein.<br>Haluatko varmasti erottaa kohteet?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Irrota piste polusta"
 
@@ -2406,6 +2424,11 @@ msgstr "Lisää kaikki valitut objektit relaatioon nykyisten jäsenten jälkeen.
 msgid "Add selection to relation"
 msgstr "Lisää valinta relaatioon"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Lisää valinta {0}:een relaatioon"
@@ -2451,6 +2474,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Relaatiomuokkain: {0}"
+
 msgid "Select in relation list"
 msgstr "Valitse relaatioluettelosta"
 
@@ -2819,8 +2851,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "''timestamp'':n jälkeen pitäisi olla <i>alaraja</i>/<i>yläraja</i>"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr ""
@@ -3423,9 +3458,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr " (rivillä {0}, sarakkeessa {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Asetus {0} on poistettu koska sitä ei enää tarvita."
 
@@ -3486,6 +3518,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "I"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "Projektiota \"{0}\" ei löytynyt, kirjanmerkki \"{1}\" ei ole käytettävissä"
@@ -3730,6 +3765,9 @@ msgstr "teksti"
 msgid "areatext"
 msgstr "alueteksti"
 
+msgid " (at line {0}, column {1})"
+msgstr " (rivillä {0}, sarakkeessa {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "UTM projektio (''+proj=utm'') edellyttää parametria ''+zone=...''"
 
@@ -3807,12 +3845,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3822,6 +3872,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Sveitsin vino Mercator"
 
@@ -4129,7 +4197,7 @@ msgstr ""
 "virheitä."
 
 msgid "Very long segment of {0} kilometers"
-msgstr ""
+msgstr "Polussa erittäin pitkä pisteiden välimatka {0} kilometriä"
 
 msgid "Tag checker (MapCSS based)"
 msgstr ""
@@ -4295,7 +4363,7 @@ msgid "Overlapping railways"
 msgstr "Päällekkäiset radat"
 
 msgid "Way contains segment twice"
-msgstr ""
+msgstr "Polussa sama pisteväli useammin kuin kerran."
 
 msgid "Power lines"
 msgstr "Sähkölinjat"
@@ -4419,6 +4487,9 @@ msgstr "Virheellinen välilyönti avaimessa"
 msgid "Property values start or end with white space"
 msgstr "Arvossa välilyönti alussa tai lopussa"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Avaimen arvossa HTML-entiteettikoodeja"
 
@@ -5134,9 +5205,6 @@ msgstr "Kuvatasojen asetukset"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Avaa asetusikkunaan suoraan kuvatasojen asetukset -välilehti"
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -5195,12 +5263,6 @@ msgstr "Tilapalkin tekstin väri"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Leveysaste osoittimen kohdalla."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Pituusaste osoittimen kohdalla."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Piirrettävän segmentin suuntima."
 
@@ -5229,6 +5291,18 @@ msgstr "Käyttäjä:"
 msgid "Do not hide status bar"
 msgstr "Älä ikinä piilota tilapalkkia"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Leveysaste osoittimen kohdalla."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Pituusaste osoittimen kohdalla."
+
 msgid "System of measurement changed to {0}"
 msgstr "Mittayksiköt vaihdettiin, uusi järjestelmä on: {0}"
 
@@ -6088,6 +6162,18 @@ msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 "Avaa yhdistämiskehotteen kaikista valituista kohteista ylläolevalle listalle."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Havaittiin {0} ristiriita."
@@ -6210,6 +6296,9 @@ msgstr "Laske suodinta"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Suodin: {0} piilossa, {1} himmeänä"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Virhe suodattimessa"
 
@@ -6654,6 +6743,9 @@ msgstr "Tyylin asetukset"
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr "Pikkukartta"
 
@@ -7011,21 +7103,15 @@ msgstr[1] ""
 "<html>Mikään valituista kohteista ei ole mukana aktiivisessa<br>datatasossa "
 "\"{0}\".</html>"
 
-msgid "Download content"
-msgstr "Ladataan sisältöä"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Lataa muutoskokoelman sisältö OSM-palvelimelta"
-
-msgid "Update content"
-msgstr "Päivitä sisältö"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Päivitä muutoskokoelman sisältö OSM-palvelimelta"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Hae ja näytä valittujen kohteiden muutoshistoria"
 
+msgid "Download objects"
+msgstr "Lataa kohteet"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "Valitse kohteet"
 
@@ -7132,6 +7218,18 @@ msgstr "avoin"
 msgid "closed"
 msgstr "suljettu"
 
+msgid "Download content"
+msgstr "Ladataan sisältöä"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Lataa muutoskokoelman sisältö OSM-palvelimelta"
+
+msgid "Update content"
+msgstr "Päivitä sisältö"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Päivitä muutoskokoelman sisältö OSM-palvelimelta"
+
 msgid "Changeset ID: "
 msgstr "Muutoskokoelman ID: "
 
@@ -7490,8 +7588,8 @@ msgstr "Muokkaa valitun avaimen arvoa kaikissa objekteissa"
 msgid "Edit Tags"
 msgstr "Muokkaa tagia"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Avaa tagin tietosivu OSM-wikistä. (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Avaa selaimeen tagin ohjesivun, sikäli kuin OSM-wikistä löytyy."
@@ -7526,6 +7624,9 @@ msgstr "Kopioi kaikki avaimet/arvot"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Etsi avain/arvo/tyyppi"
 
@@ -7596,6 +7697,27 @@ msgstr "Valitse muistettavien tagien määrä"
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7711,9 +7833,6 @@ msgstr "Uusi relaatio"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr "Relaatiomuokkain: {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 "
@@ -7751,125 +7870,92 @@ msgstr ""
 "<html>Olet lisäämässä relaatiota itseensä.<br><br>Tämä johtaa sykliseen "
 "riippuvuuteen, jota on syytä välttää.<br>Ohitetaan relaatio ''{0}''.</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr "Lisää kaikki valitut objektit relaatioon nykyisten jäsenten edelle."
-
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
-msgstr ""
-"Lisää kaikki valitut karttakohteet relaatioon,  ennen ensimmäistä valittua "
-"relaatiojäsentä."
+msgid "Select previous Gap"
+msgstr "Valitse edeltävä katkos"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
-"Lisää kaikki valitut karttakohteet relaatioon, viimeisen valitun "
-"relaatiojäsenen jälkeen."
+"Valitsee listasta tätä edeltävän jäsenen, jonka kohdalla peräkkäisten "
+"polkujen jono katkeaa"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Poista kaikki karttadatasta valitut kohteet relaatiosta."
+msgid "Select next Gap"
+msgstr "Valitse seuraava katkos"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
-"Valitse relaation jäsenlistasta jäsenet, jotka on valittuna karttadatasta."
+"Valitsee listasta tästä alempana olevan jäsenen, jonka kohdalla peräkkäisten "
+"polkujen jono katkeaa"
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr ""
-"Valitsee relaation jäsenlistasta {0} kohdetta, jotka ovat osa valittuna "
-"olevista karttakohteista."
+msgid "Zoom to Gap"
+msgstr "Sovita näkymä aukkoon"
 
-msgid "Select objects for selected relation members"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
-"Valitsee kartalta ne kohteet, jotka olet valinnut relaation jäsenlistasta."
+"Sovittaa karttanäkymän peräkkäisten polkujen jonossa olevaan aukkokohtaan"
 
-msgid "Sort the relation members"
-msgstr "Lajittele relaation jäsenet"
+msgid "Refers to"
+msgstr "Viittaa"
 
-msgid "Relation Editor: Sort"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Sort below"
-msgstr ""
+msgid "Download referring relations"
+msgstr "Ladataan emorelaatiot"
 
-msgid "Sort the selected relation members and all members below"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "Tuonnin aikana todettiin {0} ristiriitaa."
 
-msgid "Reverse the order of the relation members"
-msgstr "Käännä jäsenten järjestys ympäri"
+msgid "including immediate children of parent relations"
+msgstr "myös emorelaatioiden välittömät lapsirelaatiot"
 
-msgid "Reverse"
-msgstr "Käännä järjestys"
+msgid "Load parent relations"
+msgstr "Lataa emorelaatiot"
 
-msgid "Move the currently selected members up"
-msgstr "Siirrä valittuja jäseniä ylöspäin"
+msgid "Reload"
+msgstr "Lataa uudelleen"
 
-msgid "Relation Editor: Move Up"
-msgstr "Relaatiomuokkain: Siirrä ylöspäin"
+msgid "Loading parent relations"
+msgstr "Ladataan emorelaatioita"
 
-msgid "Move the currently selected members down"
-msgstr "Siirrä valittuja jäseniä alaspäin"
+msgid "Edit the currently selected relation"
+msgstr "Muokkaa valittua relaatiota"
 
-msgid "Relation Editor: Move Down"
-msgstr "Relaatiomuokkain: Siirrä alaspäin"
+msgid "Apply Changes"
+msgstr "Toteuta muutokset"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Poista valitut jäsenet tästä relaatiosta"
+msgid "Create new relation in layer ''{0}''"
+msgstr "Luo uusi relaatio tasolle \"{0}\""
 
-msgid "Relation Editor: Remove"
-msgstr "Relaatiomuokkain: Poista"
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Muokkaa uutta relaatiota tasolla \"{0}\""
 
-msgid "Delete the currently edited relation"
-msgstr "Poista relaatio, jota ollaan muokkaamassa"
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Muokkaa relaatiota #{0} tasolla ''{1}''"
+
+msgid "Load relation"
+msgstr "Lataa relaatio"
 
 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."
+"Add all objects selected in the current dataset after the last selected "
+"member"
 msgstr ""
-"Vähintään yksi juuri tehdyn relaation jäsenistä on poistettu, sillä aikaa "
-"kun relaatiota\n"
-"muokattiin. Ne on poistettu relaation jäsenluettelosta."
+"Lisää kaikki valitut karttakohteet relaatioon, viimeisen valitun "
+"relaatiojäsenen jälkeen."
 
-msgid "Yes, create a conflict and close"
-msgstr "Kyllä, luo ristiriita ja sulje relaatiomuokkain"
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr "Luo ristiriita ja sulje relaatiomuokkain"
-
-msgid "No, continue editing"
-msgstr "Ei, jatka relaatiomuokkaimen käyttöä."
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr "Palaa muokkaimeen jatkamaan relaation muokkaamista"
-
-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>Relaatiota on muutettu muokkaimen ulkopuolelta.<br>Et voi tallentaa "
-"muutoksiasi etkä jatkaa muokkaamista.<br><br>Luodaanko ristiriita ja "
-"suljetaan muokkain?</html>"
+msgid ""
+"Add all objects selected in the current dataset before the first member"
+msgstr "Lisää kaikki valitut objektit relaatioon nykyisten jäsenten edelle."
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
-"<html>Tasolla \"{0}\" on jo ristiriita "
-"karttakohteelle<br>\"{1}\".<br>Ratkaise ensin tuo ristiriita ja yritä sitten "
-"uudelleen.</html>"
+"Lisää kaikki valitut karttakohteet relaatioon,  ennen ensimmäistä valittua "
+"relaatiojäsentä."
 
 msgid "Apply the current updates"
 msgstr "Tee muutokset"
 
-msgid "Apply the updates and close the dialog"
-msgstr "Tee muutokset ja sulje tämä ikkuna"
-
 msgid "Cancel the updates and close the dialog"
 msgstr "Peruuta muutokset ja sulje tämä ikkuna"
 
@@ -7890,6 +7976,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr "Peruuta, jatka muokkausta"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr "Palaa muokkaimeen jatkamaan relaation muokkaamista"
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7900,8 +7989,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr "Muutoksia tallentamatta"
 
-msgid "Add an empty tag"
-msgstr "Lisää tyhjä tagi"
+msgid "Delete the currently edited relation"
+msgstr "Poista relaatio, jota ollaan muokkaamassa"
+
+msgid "Relation Editor: Download Members"
+msgstr "Relaatiomuokkain: Lataa jäsenet"
 
 msgid "Download all incomplete members"
 msgstr "Lataa kaikki keskeneräiset jäsenet"
@@ -7909,40 +8001,26 @@ msgstr "Lataa kaikki keskeneräiset jäsenet"
 msgid "Download Members"
 msgstr "Lataa jäsenet"
 
-msgid "Relation Editor: Download Members"
-msgstr "Relaatiomuokkain: Lataa jäsenet"
-
 msgid "Download selected incomplete members"
 msgstr "Lataa valitut keskeneräiset jäsenet"
 
-msgid "Sets a role for the selected members"
-msgstr "Aseta rooli valituille jäsenille"
-
-msgid "Apply Role"
-msgstr "Aseta rooli"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "Olet asettamassa tyhjän roolin {0} objektille."
-msgstr[1] "Olet asettamassa tyhjän roolin {0} objektille."
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "Tämä vastaa roolien poistamista."
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Muokkaa relaatiota, johon valittu relaatiojäsen viittaa"
 
-msgid "Do you really want to apply the new role?"
-msgstr "Haluatko varmasti asettaa uuden roolin?"
+msgid "Relation Editor: Move Down"
+msgstr "Relaatiomuokkain: Siirrä alaspäin"
 
-msgid "Yes, apply it"
-msgstr "Kyllä"
+msgid "Move the currently selected members down"
+msgstr "Siirrä valittuja jäseniä alaspäin"
 
-msgid "No, do not apply"
-msgstr "Ei"
+msgid "Relation Editor: Move Up"
+msgstr "Relaatiomuokkain: Siirrä ylöspäin"
 
-msgid "Confirm empty role"
-msgstr "Vahvista tyhjän roolin asettaminen"
+msgid "Move the currently selected members up"
+msgstr "Siirrä valittuja jäseniä ylöspäin"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Muokkaa relaatiota, johon valittu relaatiojäsen viittaa"
+msgid "Apply the updates and close the dialog"
+msgstr "Tee muutokset ja sulje tämä ikkuna"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
@@ -7951,67 +8029,139 @@ msgstr ""
 "Liitettäviä relaatiojäseniä ei voida lisätä, koska niitä ei löydy nykyisellä "
 "datatasolla."
 
-msgid "Select previous Gap"
-msgstr "Valitse edeltävä katkos"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
-"Valitsee listasta tätä edeltävän jäsenen, jonka kohdalla peräkkäisten "
-"polkujen jono katkeaa"
 
-msgid "Select next Gap"
-msgstr "Valitse seuraava katkos"
+msgid "Refresh"
+msgstr "Päivitä"
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
-"Valitsee listasta tästä alempana olevan jäsenen, jonka kohdalla peräkkäisten "
-"polkujen jono katkeaa"
 
-msgid "Zoom to Gap"
-msgstr "Sovita näkymä aukkoon"
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
-"Sovittaa karttanäkymän peräkkäisten polkujen jonossa olevaan aukkokohtaan"
 
-msgid "Refers to"
-msgstr "Viittaa"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Download referring relations"
-msgstr "Ladataan emorelaatiot"
+msgid "No, continue editing"
+msgstr "Ei, jatka relaatiomuokkaimen käyttöä."
 
-msgid "There were {0} conflicts during import."
-msgstr "Tuonnin aikana todettiin {0} ristiriitaa."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "including immediate children of parent relations"
-msgstr "myös emorelaatioiden välittömät lapsirelaatiot"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "Load parent relations"
-msgstr "Lataa emorelaatiot"
+msgid "Relation Editor: Remove"
+msgstr "Relaatiomuokkain: Poista"
 
-msgid "Reload"
-msgstr "Lataa uudelleen"
+msgid "Remove the currently selected members from this relation"
+msgstr "Poista valitut jäsenet tästä relaatiosta"
 
-msgid "Loading parent relations"
-msgstr "Ladataan emorelaatioita"
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Poista kaikki karttadatasta valitut kohteet relaatiosta."
 
-msgid "Edit the currently selected relation"
-msgstr "Muokkaa valittua relaatiota"
+msgid "Reverse the order of the relation members"
+msgstr "Käännä jäsenten järjestys ympäri"
 
-msgid "Apply Changes"
-msgstr "Toteuta muutokset"
+msgid "Reverse"
+msgstr "Käännä järjestys"
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Luo uusi relaatio tasolle \"{0}\""
+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 ""
+"Vähintään yksi juuri tehdyn relaation jäsenistä on poistettu, sillä aikaa "
+"kun relaatiota\n"
+"muokattiin. Ne on poistettu relaation jäsenluettelosta."
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Muokkaa uutta relaatiota tasolla \"{0}\""
+msgid "Yes, create a conflict and close"
+msgstr "Kyllä, luo ristiriita ja sulje relaatiomuokkain"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Muokkaa relaatiota #{0} tasolla ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
+msgstr "Luo ristiriita ja sulje relaatiomuokkain"
 
-msgid "Load relation"
-msgstr "Lataa relaatio"
+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>Relaatiota on muutettu muokkaimen ulkopuolelta.<br>Et voi tallentaa "
+"muutoksiasi etkä jatkaa muokkaamista.<br><br>Luodaanko ristiriita ja "
+"suljetaan muokkain?</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>Tasolla \"{0}\" on jo ristiriita "
+"karttakohteelle<br>\"{1}\".<br>Ratkaise ensin tuo ristiriita ja yritä sitten "
+"uudelleen.</html>"
+
+msgid "Select objects for selected relation members"
+msgstr ""
+"Valitsee kartalta ne kohteet, jotka olet valinnut relaation jäsenlistasta."
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+"Valitse relaation jäsenlistasta jäsenet, jotka on valittuna karttadatasta."
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Valitsee relaation jäsenlistasta {0} kohdetta, jotka ovat osa valittuna "
+"olevista karttakohteista."
+
+msgid "Sets a role for the selected members"
+msgstr "Aseta rooli valituille jäsenille"
+
+msgid "Apply Role"
+msgstr "Aseta rooli"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "Olet asettamassa tyhjän roolin {0} objektille."
+msgstr[1] "Olet asettamassa tyhjän roolin {0} objektille."
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "Tämä vastaa roolien poistamista."
+
+msgid "Do you really want to apply the new role?"
+msgstr "Haluatko varmasti asettaa uuden roolin?"
+
+msgid "Yes, apply it"
+msgstr "Kyllä"
+
+msgid "No, do not apply"
+msgstr "Ei"
+
+msgid "Confirm empty role"
+msgstr "Vahvista tyhjän roolin asettaminen"
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr "Lajittele relaation jäsenet"
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "Polku on yhteydessä edelliseen ja seuraavaan relaatiojäseneen"
@@ -8440,6 +8590,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr "<html>Versio <strong>{0}</strong> luotu <strong>{1}</strong><html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8566,10 +8721,14 @@ msgid "Upload"
 msgstr "Lähetä"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8762,9 +8921,6 @@ msgid ""
 msgstr ""
 "Käyttäjätunnuksen tietojen haku palvelimelta ei onnistunut. Poikkeus oli: {0}"
 
-msgid "Download objects"
-msgstr "Lataa kohteet"
-
 msgid "Initializing nodes to download ..."
 msgstr "Valmistellaan ladattavia kohteita ..."
 
@@ -9362,8 +9518,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} kohde poistetaan:"
 msgstr[1] "{0} kohdetta poistetaan:"
 
-msgid "Show Tile Info"
-msgstr "Näytä kuvapalan tiedot"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr ""
@@ -9371,32 +9527,29 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
 msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Lataa kuvapalat automaattisesti"
 
-msgid "Load All Tiles"
-msgstr "Lataa kaikki näkyvät kuvapalat"
-
-msgid "Load All Error Tiles"
-msgstr "Lataa epäonnistuneet kuvapalat"
-
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
-msgstr "Vaihda resoluutiota"
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
-msgstr "Lataa kuvapala"
+msgid "Change resolution"
+msgstr "Vaihda resoluutiota"
 
 msgid "Increase zoom"
 msgstr ""
@@ -9404,11 +9557,11 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
-msgstr "Täsmäytä mittakaava kuvapalojen resoluutioon"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Tyhjennä kuvapalojen välimuisti"
+msgid "Failed to create tile source"
+msgstr ""
 
 msgid "zoom in to load any tiles"
 msgstr ""
@@ -9839,6 +9992,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr "Geo-merkityt kuvat"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Hakee sijaintitietoja kuvien EXIF-tiedoista"
 
@@ -9863,9 +10019,6 @@ msgstr "Virhe haettaessa tiedostoja kansiosta {0}\n"
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr "Geo-merkityt kuvat"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -10222,12 +10375,8 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
-"Kohteessa \"{1}\" on vanhentunut merkintätapa: \"{0}\", jota ei pian enää "
-"tueta. Uusi merkintä on: \"{2}\"."
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr ""
@@ -10271,6 +10420,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Valinta palauttaa OAuth-asetukset oletusarvoihin"
 
@@ -10333,11 +10488,6 @@ msgstr "Käyttäjänimi: "
 msgid "Password: "
 msgstr "Salasana: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -10453,6 +10603,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10815,6 +10971,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "Lisäasetukset"
 
@@ -10900,18 +11065,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -11609,9 +11765,6 @@ msgstr "Kopioi valitut kuvatasot valikossa näkyvien tasojen listaan"
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr "Lataa uudelleen tunnettujen kuvatasojen lista"
-
 msgid "Menu Name"
 msgstr "Nimi valikossa"
 
@@ -11901,6 +12054,9 @@ msgid_plural ""
 msgstr[0] "Littännäisen lataus <strong>epäonnistui</strong>:"
 msgstr[1] "{0}:n littännäisen lataus <strong>epäonnistui</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Uudelleenkäynnistä JOSM ottaaksesi ladatut liitännäiset käyttöön."
 
@@ -12558,12 +12714,6 @@ msgstr "Lukuarvot"
 msgid "Checks for wrong numeric values"
 msgstr "Etsii virheellisiä lukuarvoja"
 
-msgid "Power"
-msgstr "Sähkön jakelu ja tuotto"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Etsii virheitä sähköinfrastruktuuria merkkaavista kohteista"
-
 msgid "Religion"
 msgstr "Uskonto"
 
@@ -12655,6 +12805,9 @@ msgstr "Käytä esivalintaa ”{0}”"
 msgid "Elements of type {0} are supported."
 msgstr "Soveltuu {0}-tyyppisille karttakohteille."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12726,6 +12879,9 @@ msgstr ""
 msgid "Presets"
 msgstr "Esivalinnat"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "Etsi esivalintaa vastaavat kohteet"
 
@@ -12772,6 +12928,9 @@ msgstr ""
 "''short_descriptions''  voi olla vain yhtä monta kohtaa kuin kentässä "
 "''values'' on  arvona"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Lisää tietoja tästä ominaisuudesta"
 
@@ -12864,16 +13023,30 @@ msgstr "Arvo ei ole OSM ID-numero. Anna positiivinen kokonaisluku."
 msgid "false: the property is explicitly switched off"
 msgstr "epätosi: asetus on pois päältä"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "tosi: asetus on päällä"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "osittainen: valituilla objekteilla on eri arvoja, älä muuta"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "pois päältä: älä aseta tätä ominaisuutta valituille kohteille"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -13385,6 +13558,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "OSM-palvelintiedostot"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -13401,9 +13577,6 @@ msgstr "OSM-palvelintiedostot gzip-pakattuina"
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr "OSM-palvelintiedostot"
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -13603,9 +13776,6 @@ msgstr "Lähetetään dataa..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Havaittiin OSM-objektille odottamaton tunniste \"0\"."
 
-msgid "OSM Server Files zip compressed"
-msgstr "OSM-palvelintiedostot zip-pakattuina"
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13788,21 +13958,28 @@ msgstr ""
 "JOSM:n etähallintaa on pyydetty raportoimaan sen käyttämän protokollan "
 "versionumero. Verkkosivut voivat tunnistaa että koneellasi on JOSM käynnissä."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
 msgstr ""
 
-msgid "Data:"
+msgid "include"
 msgstr ""
 
-msgid "local file"
+msgid "Layer contains unsaved data - save to file."
+msgstr "Tasolla on tallentamattomia tietoja - tallenna tiedostoon."
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Data:"
 msgstr ""
 
-msgid "include"
+msgid "Link to a OSM data file on your local disk."
+msgstr ""
+
+msgid "Include OSM data in the .joz session file."
+msgstr "Sisällytä OSM-karttatiedot .joz -istuntotiedostoon."
+
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13814,6 +13991,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13831,19 +14016,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Tasolla on tallentamattomia tietoja - tallenna tiedostoon."
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Sisällytä OSM-karttatiedot .joz -istuntotiedostoon."
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -14579,9 +14753,6 @@ msgstr ""
 "karttakohteita.<br>Yritä ladata pienempi alue tai hae selaimella "
 "planeettatiedostosta valmiiksi irrotettu alue."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -14617,6 +14788,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Käännöstä ei löydy: {0}. Käytetään oletusasetusta: {1}."
 
@@ -14625,9 +14799,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Pakatun tiedoston ''{0}'' käsittely epäonnistui. Virhetieto oli: {1}"
 
@@ -14773,6 +14944,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -15085,9 +15259,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr "Päivitä"
-
 msgid "Rename File"
 msgstr ""
 
@@ -15181,6 +15352,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -15247,6 +15421,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -15343,13 +15520,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -15472,6 +15652,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -15492,9 +15675,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -15565,6 +15745,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -15598,10 +15787,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -16301,6 +16493,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16991,6 +17186,105 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
+msgid "Cuisine"
+msgstr ""
+
+msgid "italian"
+msgstr "italialainen"
+
+msgid "chinese"
+msgstr "kiinalainen"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hampurilainen"
+
+msgid "greek"
+msgstr "kreikkalainen"
+
+msgid "german"
+msgstr "saksalainen"
+
+msgid "indian"
+msgstr "intialainen"
+
+msgid "regional"
+msgstr "paikallinen"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turkkilainen"
+
+msgid "asian"
+msgstr "aasialainen"
+
+msgid "thai"
+msgstr "thaimaalainen"
+
+msgid "mexican"
+msgstr "meksikolainen"
+
+msgid "japanese"
+msgstr "japanilainen"
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr ""
 
@@ -17558,7 +17852,10 @@ msgstr "Maksimipaino (tonnia)"
 msgid "Toll"
 msgstr "Tietulli"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -18314,25 +18611,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Liikennehidastin"
 
-msgid "bump"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
 msgstr ""
 
-msgid "chicane"
+msgid "Choker"
 msgstr ""
 
-msgid "choker"
+msgid "Cushion"
 msgstr ""
 
-msgid "cushion"
+msgid "Hump"
 msgstr ""
 
-msgid "hump"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -18482,6 +18783,9 @@ msgstr "Kaupunginmuuri"
 msgid "Retaining Wall"
 msgstr "Pengermuuri"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Oja"
@@ -18652,6 +18956,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Rantaviiva"
 
@@ -18714,14 +19021,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Kallio"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr "Vesiliikenne"
 
@@ -19650,66 +19949,6 @@ msgstr "Ruoka ja juoma"
 msgid "Restaurant"
 msgstr "Ravintola"
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr "italialainen"
-
-msgid "chinese"
-msgstr "kiinalainen"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hampurilainen"
-
-msgid "greek"
-msgstr "kreikkalainen"
-
-msgid "german"
-msgstr "saksalainen"
-
-msgid "indian"
-msgstr "intialainen"
-
-msgid "regional"
-msgstr "paikallinen"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turkkilainen"
-
-msgid "asian"
-msgstr "aasialainen"
-
-msgid "thai"
-msgstr "thaimaalainen"
-
-msgid "mexican"
-msgstr "meksikolainen"
-
-msgid "japanese"
-msgstr "japanilainen"
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -19722,19 +19961,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Pikaruoka"
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "Kahvila"
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19912,6 +20145,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "Vesipuisto"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19946,9 +20185,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Kalastus"
 
-msgid "Private Swimming Pool"
-msgstr "Yksityinen uima-allas"
-
 msgid "Night Club"
 msgstr "Yökerho"
 
@@ -19991,12 +20227,18 @@ msgstr "patsas"
 msgid "Artist Name"
 msgstr "Taiteilijan nimi"
 
-msgid "Recording Studio"
-msgstr "Äänitysstudio"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -20100,6 +20342,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Moskeija"
 
@@ -20259,6 +20505,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr "Eläinlääkäri"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Automaattinen defibrillaattori"
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Hätäpuhelin"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -20371,24 +20736,9 @@ msgstr "Setelit"
 msgid "Telephone cards"
 msgstr "Puhelinkortit"
 
-msgid "Emergency Phone"
-msgstr "Hätäpuhelin"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr "Automaattinen defibrillaattori"
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr "Kello"
 
@@ -20551,63 +20901,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
 msgstr ""
 
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -20661,9 +20962,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "Kilparata"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golfkenttä"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Pienoisgolf"
 
@@ -20888,9 +21242,6 @@ msgstr "Rantalentopallo"
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golfkenttä"
 
@@ -21055,6 +21406,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -21063,6 +21418,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -21175,6 +21562,9 @@ msgstr "Tuulimylly"
 msgid "Gasometer"
 msgstr "Kaasukello"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -21576,6 +21966,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -21585,6 +21983,9 @@ msgstr "Rauniot"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Sähkön jakelu ja tuotto"
+
 msgid "Power Plant"
 msgstr "Voimalaitos"
 
@@ -22016,11 +22417,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
-msgstr "Kaapelijakokaappi"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Korkeajännitelinjan torni"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -22041,6 +22445,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Korkeajännitelinjan torni"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -22164,18 +22586,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -22208,6 +22618,9 @@ msgstr "Sähköpylvään ominaisuudet:"
 msgid "Transformer Attributes:"
 msgstr "Muuntajan ominaisuudet:"
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Sähkölinja"
 
@@ -22465,6 +22878,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -22507,12 +22923,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -22838,6 +23263,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Maantiede"
 
@@ -23006,6 +23506,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Kallio"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Luolan suuaukko"
 
@@ -23206,6 +23714,51 @@ msgstr "Niitty"
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Viinitarha"
 
@@ -24001,9 +24554,6 @@ msgstr "{0} ja {1} samassa kohteessa {2}:n kanssa ja arvot ristiriidassa"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Epäilyttävä tagiyhdistelmä: {0} and {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} ei ole enää suositeltu merkintätapa"
-
 msgid "{0} is deprecated"
 msgstr "{0} ei ole enää suositeltu merkintätapa"
 
@@ -24027,10 +24577,8 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
-"{0}={1} ei ole enää suositeltu merkintätapa. Käytä mieluummin "
-"monimonikulmiota."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -24079,6 +24627,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -24094,6 +24651,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -24121,6 +24681,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -24162,7 +24725,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -27648,7 +28211,7 @@ msgstr "kuvaa"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27961,6 +28524,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27976,6 +28542,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Mitatut arvot"
 
@@ -29336,6 +29914,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -29422,15 +30006,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -31431,6 +32006,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -32070,6 +32648,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Lisää nimen puuttuvat kieliversiot Wikipediasta"
 
diff --git a/i18n/po/fil.po b/i18n/po/fil.po
index bafccff..41d92d0 100644
--- a/i18n/po/fil.po
+++ b/i18n/po/fil.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 05:10+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:09+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: fil\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/fo.po b/i18n/po/fo.po
index b1009dd..ea369f0 100644
--- a/i18n/po/fo.po
+++ b/i18n/po/fo.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-02-28 16:15+0000\n"
 "Last-Translator: LiFo <Unknown>\n"
 "Language-Team: Faroese <fo at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:40+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:40+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr "{0}: valmøguleiki ''{1}'' er tvítýddur"
@@ -385,6 +385,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -440,6 +443,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1171,9 +1180,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1506,6 +1512,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2224,6 +2240,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2265,6 +2286,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2619,7 +2649,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3182,9 +3215,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3243,6 +3273,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3470,6 +3503,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3547,12 +3583,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3562,6 +3610,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4128,6 +4194,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4822,9 +4891,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4883,12 +4949,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4915,6 +4975,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5734,6 +5806,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5850,6 +5934,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6275,6 +6362,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6622,19 +6712,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6736,6 +6820,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7063,7 +7159,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7099,6 +7195,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7166,6 +7265,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7278,9 +7398,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7311,108 +7428,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7431,6 +7523,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7439,48 +7534,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7488,61 +7572,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7930,6 +8078,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8033,10 +8186,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8216,9 +8373,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8731,7 +8885,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8740,31 +8894,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8773,10 +8924,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9196,6 +9347,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9220,9 +9374,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9573,9 +9724,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9620,6 +9769,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9676,11 +9831,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9796,6 +9946,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10156,6 +10312,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10237,18 +10402,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10900,9 +11056,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11174,6 +11327,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11803,12 +11959,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11898,6 +12048,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11968,6 +12121,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12011,6 +12167,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12099,16 +12258,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12588,6 +12761,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12602,9 +12778,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12797,9 +12970,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12968,21 +13138,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12994,6 +13171,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13011,19 +13196,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13706,9 +13880,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13740,6 +13911,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13748,9 +13922,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13884,6 +14055,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14192,9 +14366,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14288,6 +14459,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14354,6 +14528,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14450,13 +14627,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14579,6 +14759,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14599,9 +14782,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14672,6 +14852,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14705,10 +14894,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15404,6 +15596,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16059,25 +16254,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16626,7 +16920,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17380,25 +17677,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17548,6 +17849,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17718,6 +18022,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17780,14 +18087,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18716,66 +19015,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18788,19 +19027,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18978,6 +19211,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19012,9 +19251,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19057,12 +19293,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19166,6 +19408,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19325,6 +19571,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19437,24 +19802,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19617,63 +19967,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19727,9 +20028,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19954,9 +20308,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20121,6 +20472,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20129,6 +20484,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20241,6 +20628,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20642,6 +21032,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20651,6 +21049,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21082,10 +21483,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21107,6 +21511,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21230,18 +21652,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21274,6 +21684,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21531,6 +21944,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21573,12 +21989,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21904,6 +22329,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22072,6 +22572,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22272,6 +22780,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23066,9 +23619,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23090,7 +23640,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23134,6 +23684,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23149,6 +23708,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23176,6 +23738,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23217,7 +23782,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26641,7 +27206,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26954,6 +27519,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26969,6 +27537,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28310,6 +28890,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28396,15 +28982,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30391,6 +30968,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30979,6 +31559,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/fr.po b/i18n/po/fr.po
index d359e8a..5b9eddd 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: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-05 23:48+0000\n"
-"Last-Translator: Simon Legner <Unknown>\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-09 22:31+0000\n"
+"Last-Translator: Don-vip <Unknown>\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: 2016-01-06 04:41+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:41+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: fr\n"
 "X-Poedit-Bookmarks: 1767,-1,-1,2669,-1,-1,-1,-1,-1,-1\n"
 
@@ -406,6 +406,9 @@ msgstr ""
 "Impossible de combiner les chemins<br>(Ils n''ont pas pu être fusionnés en "
 "une unique suite de nœuds)"
 
+msgid "Reverse Ways"
+msgstr "Inverser le chemin"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Combiner {0} chemin"
@@ -463,6 +466,12 @@ msgstr "Supprimer"
 msgid "Delete selected objects."
 msgstr "Supprimer la sélection"
 
+msgid "Delete Layer"
+msgstr "Supprimer le calque"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Supprime le calque actif, mais ne supprime pas le fichier associé."
+
 msgid "Toggle dialogs panel"
 msgstr "Afficher/Masquer le panneau des fenêtres latérales"
 
@@ -1278,9 +1287,6 @@ msgstr "Cliquer pour redémarrer ultérieurement"
 msgid "Reverse way"
 msgstr "Inverser le sens du chemin"
 
-msgid "Reverse Ways"
-msgstr "Inverser le chemin"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Inverser le sens du chemin"
 
@@ -1461,6 +1467,7 @@ msgstr "Couper le chemin au nœud sélectionné"
 
 msgid "Cannot split since another split operation is already in progress"
 msgstr ""
+"Impossible de séparer, car une autre opération de séparation est en cours"
 
 msgid ""
 "The current selection cannot be used for splitting - no node is selected."
@@ -1605,13 +1612,13 @@ msgid "Tags / Memberships"
 msgstr "Attributs / Appartenance"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Décoller"
 
 msgid "Where should the tags of the node be put?"
 msgstr "Où devraient aller les attributs du nœud ?"
 
 msgid "Where should the memberships of this node be put?"
-msgstr ""
+msgstr "Où doivent être placés les membres de ce noeud ?"
 
 msgid "Unglued Node"
 msgstr "Nœud séparé"
@@ -1647,6 +1654,16 @@ msgstr ""
 "des problèmes parce que vous ne voyez pas l''objet réel.<br>Souhaitez-vous "
 "continuer ?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Assurez-vous que la relation n''a pas été cassée !"
+msgstr[1] "Assurez-vous que les relations n''ont pas été cassées !"
+
 msgid "Disconnect Node from Way"
 msgstr "Déconnexion d’un nœud à partir d’un chemin"
 
@@ -2434,6 +2451,11 @@ msgstr "Ajouter les objets après le dernier membre"
 msgid "Add selection to relation"
 msgstr "Ajouter la sélection à la relation"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Ajouter la sélection à {0} relation"
@@ -2479,6 +2501,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Confirmer"
 
+msgid "List of recent relations"
+msgstr "Liste des relations récentes"
+
+msgid "Open recent relation"
+msgstr "Ouvrir une relation récente"
+
+msgid "Relation Editor: {0}"
+msgstr "Éditeur de relation : {0}"
+
 msgid "Select in relation list"
 msgstr "Sélectionner la relation dans la liste"
 
@@ -2858,8 +2889,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "<i>min</i>/<i>max</i> attendu après ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr "{1} doit être suivi par {0}"
 
 msgid "Range of primitive ids expected"
 msgstr "Intervalle d’identifiants d’objets attendu"
@@ -3361,7 +3395,7 @@ msgid "Unable to delete backup file {0}"
 msgstr "Impossible de supprimer le fichier de sauvegarde {0}"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "Impossible de supprimer le fichier PID {0}"
 
 msgid "Unable to delete archived backup file {0}"
 msgstr "Impossible de supprimer le fichier de sauvegarde archivé {0}"
@@ -3494,9 +3528,6 @@ msgstr ""
 "Test d''activation du réseau IPv6, préférant IPv6 par rapport à IPv4 (ne "
 "fonctionne qu''au début du démarrage)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (à la ligne {0}, colonne {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "La préférence {0} a été supprimée car elle n’est plus utilisée."
 
@@ -3557,6 +3588,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "La projection ''{0}'' est introuvable, le signet ''{1}'' n’est pas utilisable"
@@ -3816,6 +3850,9 @@ msgstr "texte"
 msgid "areatext"
 msgstr "zone de texte"
 
+msgid " (at line {0}, column {1})"
+msgstr " (à la ligne {0}, colonne {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 "Le paramètre \"+zone=...\" est requis pour la projection UTM (''+proj=utm'')."
@@ -3903,12 +3940,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr ""
+msgid "Albers Equal Area"
+msgstr "Projection d''Albers"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Paramètre ''{0}'' requis."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr "Projection de Cassini"
+
+msgid "Double Stereographic"
+msgstr "Projection stéréographique"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Conique conforme de Lambert"
 
@@ -3918,6 +3967,24 @@ msgstr "Lat/lon (Géodétique)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Mercator oblique suisse"
 
@@ -4520,6 +4587,9 @@ msgstr "Espace invalide dans la clé"
 msgid "Property values start or end with white space"
 msgstr "Les valeurs commencent ou finissent par un espace blanc"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Les valeurs contiennent du code HTML"
 
@@ -5262,9 +5332,6 @@ msgstr "Préférences d''imagerie"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Cliquez pour ouvrir l''onglet d''imagerie dans les préférences"
 
-msgid "Search menu items"
-msgstr "Rechercher dans les éléments du menu"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Audio"
@@ -5323,12 +5390,6 @@ msgstr "Avant-plan de la barre dʼétat: activé"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Latitude"
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Longitude"
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Orientation du segment de chemin"
 
@@ -5357,6 +5418,18 @@ msgstr "Utilisateur :"
 msgid "Do not hide status bar"
 msgstr "Ne pas cacher la barre de statut"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Latitude"
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Longitude"
+
 msgid "System of measurement changed to {0}"
 msgstr "Le système de mesure à été changé en {0}"
 
@@ -6269,6 +6342,18 @@ msgstr "Résoudre"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "Ouvrir une fenêtre de fusion pour le conflit"
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "{0} conflit a été détecté."
@@ -6392,6 +6477,9 @@ msgstr "Descendre le filtre"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filtre activé : {0} Désactivé : {1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Erreur dans le filtre"
 
@@ -6844,6 +6932,9 @@ msgstr "Paramètres de style"
 msgid "Customize the style"
 msgstr "Personnaliser le style"
 
+msgid "Search menu items"
+msgstr "Rechercher dans les éléments du menu"
+
 msgid "Mini map"
 msgstr "Mini carte"
 
@@ -7212,21 +7303,15 @@ msgstr[1] ""
 "<html>Aucun des objets sélectionnés n’est disponible sur<br>le calque actuel "
 "''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Télécharger le contenu"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Télécharger le contenu du groupe de modifications"
-
-msgid "Update content"
-msgstr "Modifier le contenu"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Mettre à jour le contenu du groupe de modifications"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Télécharger et afficher l’historique de la sélection"
 
+msgid "Download objects"
+msgstr "Télécharger les objets"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "Sélectionner dans le calque"
 
@@ -7330,6 +7415,18 @@ msgstr "ouvrir"
 msgid "closed"
 msgstr "fermé"
 
+msgid "Download content"
+msgstr "Télécharger le contenu"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Télécharger le contenu du groupe de modifications"
+
+msgid "Update content"
+msgstr "Modifier le contenu"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Mettre à jour le contenu du groupe de modifications"
+
 msgid "Changeset ID: "
 msgstr "Identifiant du groupe de modifications : "
 
@@ -7703,8 +7800,8 @@ msgstr "Modifier l’attribut"
 msgid "Edit Tags"
 msgstr "Modifier les attributs"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Aller sur la page wiki de description de l’attribut (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Afficher le wiki d’aide"
@@ -7745,6 +7842,9 @@ msgstr ""
 "Copier la(es) clé(s) et la(es) valeur(s) de tous les attributs dans le "
 "presse-papier"
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Rechercher Clé/Valeur/Type"
 
@@ -7814,6 +7914,27 @@ msgstr "Fixer le nombre d’attributs récemment ajoutés"
 msgid "Remember last used tags after a restart"
 msgstr "Mémoriser les derniers attributs utilisés après un redémarrage"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Activer"
+
+msgid "Hide"
+msgstr "Camouflé"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "pour appliquer la première suggestion"
 
@@ -7932,9 +8053,6 @@ msgstr ""
 "Donner le focus à l''éditeur de relation avec la relation ''{0}'' du calque "
 "''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Éditeur de relation : {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 "
@@ -7976,119 +8094,83 @@ msgstr ""
 "références circulaires et n’est pas recommandé.<br>Abandon de la relation "
 "''{0}''.</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr "Ajouter les objets avant le premier membre"
-
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
-msgstr "Ajouter les objets avant le membre sélectionné"
-
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr "Ajouter les objets après le membre sélectionné"
-
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Retirer les membres se référant aux objets"
+msgid "Select previous Gap"
+msgstr "Sélectionner la séparation précédente"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr "Sélectionner les membres se réfèrant aux objets"
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Sélectionner le membre précédent qui donne lieu à une séparation"
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr ""
-"Sélectionner les membres qui se réfèrent à {0} objets de la sélection"
+msgid "Select next Gap"
+msgstr "Sélectionner la séparation suivante"
 
-msgid "Select objects for selected relation members"
-msgstr "Sélectionner les objets des membres"
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Sélectionner le membre suivant qui donne lieu à une séparation"
 
-msgid "Sort the relation members"
-msgstr "Trier les membres"
+msgid "Zoom to Gap"
+msgstr "Zoomer sur la séparation"
 
-msgid "Relation Editor: Sort"
-msgstr "Éditeur de relation: Trier"
+msgid "Zoom to the gap in the way sequence"
+msgstr "Zoomer sur la séparation dans la séquence de chemins"
 
-msgid "Sort below"
-msgstr "Trier ci-dessous"
+msgid "Refers to"
+msgstr "Se réfèrant à"
 
-msgid "Sort the selected relation members and all members below"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
-"Trier les membres de la relation sélectionnée et tous les membres en dessous"
 
-msgid "Reverse the order of the relation members"
-msgstr "Inverser l’ordre des membres"
-
-msgid "Reverse"
-msgstr "Inverser"
+msgid "Download referring relations"
+msgstr "Télécharger les relations s’y référant"
 
-msgid "Move the currently selected members up"
-msgstr "Monter le membre"
+msgid "There were {0} conflicts during import."
+msgstr "Il y a eu {0} conflits lors de l’importation."
 
-msgid "Relation Editor: Move Up"
-msgstr "Éditeur de relation : déplacer vers le haut"
+msgid "including immediate children of parent relations"
+msgstr "Inclure les enfants des relations parentes"
 
-msgid "Move the currently selected members down"
-msgstr "Descendre le membre"
+msgid "Load parent relations"
+msgstr "Charger les relations parentes"
 
-msgid "Relation Editor: Move Down"
-msgstr "Éditeur de relation : déplacer vers le bas"
+msgid "Reload"
+msgstr "Actualiser"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Retirer le membre de la relation"
+msgid "Loading parent relations"
+msgstr "Chargement des relations parentes."
 
-msgid "Relation Editor: Remove"
-msgstr "Éditeur de relation : retirer"
+msgid "Edit the currently selected relation"
+msgstr "Modifier la relation sélectionnée"
 
-msgid "Delete the currently edited relation"
-msgstr "Supprimer la relation"
+msgid "Apply Changes"
+msgstr "Appliquer les modifications"
 
-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 ""
-"Un ou plusieurs membres de cette nouvelle relation ont été supprimés depuis\n"
-"l’ouverture de l’éditeur de relations. Ils ont été retirés de\n"
-"la liste des membres."
+msgid "Create new relation in layer ''{0}''"
+msgstr "Créer une nouvelle relation dans le calque ''{0}''"
 
-msgid "Yes, create a conflict and close"
-msgstr "Oui, créer un conflit et fermer."
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Modifier la nouvelle relation dans le calque ''{0}''"
 
-msgid "Click to create a conflict and close this relation editor"
-msgstr "Créer un conflit et fermer l’éditeur de relation"
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Modifier la relation ? {0} dans le calque ''{1}''"
 
-msgid "No, continue editing"
-msgstr "Non, continuer les modifications"
+msgid "Load relation"
+msgstr "Charger la relation"
 
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr "Reprendre la modification de la relation"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr "Ajouter les objets après le membre sélectionné"
 
 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>Cette relation a été modifiée à l’extérieur de l’éditeur.<br><br>Vous "
-"ne pouvez pas appliquer ni continuer les modifications.<br><br>Voulez-vous "
-"créer un conflit et fermer l’éditeur ?</html>"
+"Add all objects selected in the current dataset before the first member"
+msgstr "Ajouter les objets avant le premier membre"
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
-msgstr ""
-"<html>Le calque ''{0}'' a déjà un conflit pour "
-"l’objet<br>''{1}''.<br>Veuillez d’abord résoudre ce conflit puis "
-"réessayer.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
+msgstr "Ajouter les objets avant le membre sélectionné"
 
 msgid "Apply the current updates"
 msgstr "Mettre à jour la relation"
 
-msgid "Apply the updates and close the dialog"
-msgstr "Appliquer les modifications et fermer la fenêtre"
-
 msgid "Cancel the updates and close the dialog"
 msgstr "Annuler les modifications et fermer la fenêtre"
 
@@ -8109,6 +8191,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr "Annuler, continuer l’’édition"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr "Reprendre la modification de la relation"
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -8119,8 +8204,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr "Modifications non enregistrées"
 
-msgid "Add an empty tag"
-msgstr "Ajouter un attribut vide"
+msgid "Delete the currently edited relation"
+msgstr "Supprimer la relation"
+
+msgid "Relation Editor: Download Members"
+msgstr "Éditeur de relation : télécharger les membres"
 
 msgid "Download all incomplete members"
 msgstr "Télécharger les membres incomplets"
@@ -8128,40 +8216,26 @@ msgstr "Télécharger les membres incomplets"
 msgid "Download Members"
 msgstr "Télécharger les membres"
 
-msgid "Relation Editor: Download Members"
-msgstr "Éditeur de relation : télécharger les membres"
-
 msgid "Download selected incomplete members"
 msgstr "Télécharger les membres incomplets sélectionnés"
 
-msgid "Sets a role for the selected members"
-msgstr "Appliquer le rôle aux membres sélectionnés"
-
-msgid "Apply Role"
-msgstr "Appliquer le rôle"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "Vous avez placé un rôle vide sur {0} objet."
-msgstr[1] "Vous avez placé un rôle vide sur {0} objets."
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "Cela équivaut à supprimer le rôle de ces objets."
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Modifier la relation à laquelle se réfère le membre"
 
-msgid "Do you really want to apply the new role?"
-msgstr "Voulez-vous vraiment appliquer le nouveau rôle ?"
+msgid "Relation Editor: Move Down"
+msgstr "Éditeur de relation : déplacer vers le bas"
 
-msgid "Yes, apply it"
-msgstr "Oui, l’appliquer"
+msgid "Move the currently selected members down"
+msgstr "Descendre le membre"
 
-msgid "No, do not apply"
-msgstr "Non, ne pas appliquer"
+msgid "Relation Editor: Move Up"
+msgstr "Éditeur de relation : déplacer vers le haut"
 
-msgid "Confirm empty role"
-msgstr "Confirmer le rôle vide"
+msgid "Move the currently selected members up"
+msgstr "Monter le membre"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Modifier la relation à laquelle se réfère le membre"
+msgid "Apply the updates and close the dialog"
+msgstr "Appliquer les modifications et fermer la fenêtre"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
@@ -8170,62 +8244,137 @@ msgstr ""
 "Les membres du presse-papier ne peuvent pas être ajoutés parce qu’ils ne "
 "sont pas inclus dans ce calque"
 
-msgid "Select previous Gap"
-msgstr "Sélectionner la séparation précédente"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Sélectionner le membre précédent qui donne lieu à une séparation"
+msgid "Refresh relation from data layer"
+msgstr ""
 
-msgid "Select next Gap"
-msgstr "Sélectionner la séparation suivante"
+msgid "Refresh"
+msgstr "Actualiser"
 
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Sélectionner le membre suivant qui donne lieu à une séparation"
+msgid "Yes, discard changes and reload"
+msgstr ""
 
-msgid "Zoom to Gap"
-msgstr "Zoomer sur la séparation"
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
-msgstr "Zoomer sur la séparation dans la séquence de chemins"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
 
-msgid "Refers to"
-msgstr "Se réfèrant à"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Download referring relations"
-msgstr "Télécharger les relations s’y référant"
+msgid "No, continue editing"
+msgstr "Non, continuer les modifications"
 
-msgid "There were {0} conflicts during import."
-msgstr "Il y a eu {0} conflits lors de l’importation."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "including immediate children of parent relations"
-msgstr "Inclure les enfants des relations parentes"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "Load parent relations"
-msgstr "Charger les relations parentes"
+msgid "Relation Editor: Remove"
+msgstr "Éditeur de relation : retirer"
 
-msgid "Reload"
-msgstr "Actualiser"
+msgid "Remove the currently selected members from this relation"
+msgstr "Retirer le membre de la relation"
 
-msgid "Loading parent relations"
-msgstr "Chargement des relations parentes."
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Retirer les membres se référant aux objets"
 
-msgid "Edit the currently selected relation"
-msgstr "Modifier la relation sélectionnée"
+msgid "Reverse the order of the relation members"
+msgstr "Inverser l’ordre des membres"
 
-msgid "Apply Changes"
-msgstr "Appliquer les modifications"
+msgid "Reverse"
+msgstr "Inverser"
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Créer une nouvelle relation dans le calque ''{0}''"
+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 ""
+"Un ou plusieurs membres de cette nouvelle relation ont été supprimés depuis\n"
+"l’ouverture de l’éditeur de relations. Ils ont été retirés de\n"
+"la liste des membres."
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Modifier la nouvelle relation dans le calque ''{0}''"
+msgid "Yes, create a conflict and close"
+msgstr "Oui, créer un conflit et fermer."
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Modifier la relation ? {0} dans le calque ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
+msgstr "Créer un conflit et fermer l’éditeur de relation"
 
-msgid "Load relation"
-msgstr "Charger la relation"
+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>Cette relation a été modifiée à l’extérieur de l’éditeur.<br><br>Vous "
+"ne pouvez pas appliquer ni continuer les modifications.<br><br>Voulez-vous "
+"créer un conflit et fermer l’éditeur ?</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>Le calque ''{0}'' a déjà un conflit pour "
+"l’objet<br>''{1}''.<br>Veuillez d’abord résoudre ce conflit puis "
+"réessayer.</html>"
+
+msgid "Select objects for selected relation members"
+msgstr "Sélectionner les objets des membres"
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr "Sélectionner les membres se réfèrant aux objets"
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Sélectionner les membres qui se réfèrent à {0} objets de la sélection"
+
+msgid "Sets a role for the selected members"
+msgstr "Appliquer le rôle aux membres sélectionnés"
+
+msgid "Apply Role"
+msgstr "Appliquer le rôle"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "Vous avez placé un rôle vide sur {0} objet."
+msgstr[1] "Vous avez placé un rôle vide sur {0} objets."
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "Cela équivaut à supprimer le rôle de ces objets."
+
+msgid "Do you really want to apply the new role?"
+msgstr "Voulez-vous vraiment appliquer le nouveau rôle ?"
+
+msgid "Yes, apply it"
+msgstr "Oui, l’appliquer"
+
+msgid "No, do not apply"
+msgstr "Non, ne pas appliquer"
+
+msgid "Confirm empty role"
+msgstr "Confirmer le rôle vide"
+
+msgid "Relation Editor: Sort"
+msgstr "Éditeur de relation: Trier"
+
+msgid "Sort the relation members"
+msgstr "Trier les membres"
+
+msgid "Sort below"
+msgstr "Trier ci-dessous"
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
+"Trier les membres de la relation sélectionnée et tous les membres en dessous"
 
 msgid "way is connected"
 msgstr "le chemin est connecté"
@@ -8662,6 +8811,11 @@ msgid ""
 msgstr ""
 "<html>Version <strong>{0}</strong> créée le <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "Groupe de modifications"
 
@@ -8788,15 +8942,15 @@ msgid "Upload"
 msgstr "Envoyer"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Sélectionner quelles actions effectuer pour ce calque, si vous cliquez "
-"sur le bouton le plus à gauche.<br/>Cochez \"envoyer\" pour envoyer les "
-"modifications vers le serveur OSM.<br/>Cochez \"enregistrer\" pour "
-"enregistrer le calque dans le fichier spécifié à gauche.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Ajoutez un commentaire :"
@@ -9002,9 +9156,6 @@ msgstr ""
 "Impossible de retrouver les informations de l''utilisateur courant. "
 "L''exception était : {0}"
 
-msgid "Download objects"
-msgstr "Télécharger les objets"
-
 msgid "Initializing nodes to download ..."
 msgstr "Initialisation des nœuds à télécharger…"
 
@@ -9632,8 +9783,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} objet supprimé :"
 msgstr[1] "{0} objets supprimés :"
 
-msgid "Show Tile Info"
-msgstr "Afficher l’information de la tuile"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr "Info de la tuile"
@@ -9641,17 +9792,23 @@ msgstr "Info de la tuile"
 msgid "Metadata "
 msgstr "Métadonnées "
 
-msgid "Auto Zoom"
-msgstr "Zoomer automatiquement"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Charger automatiquement les tuiles"
 
-msgid "Load All Tiles"
-msgstr "Charger toutes les tuiles"
+msgid "Show errors"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "Charger les tuiles avec des erreurs"
+msgid "Load all tiles"
+msgstr ""
+
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "Zoomer à la résolution native"
@@ -9659,26 +9816,17 @@ msgstr "Zoomer à la résolution native"
 msgid "Change resolution"
 msgstr "Changer la résolution"
 
-msgid "Failed to create tile source"
-msgstr "Impossible de créer la source de la tuile"
-
-msgid "Show Errors"
-msgstr "Afficher les erreurs"
-
-msgid "Load Tile"
-msgstr "Charger la tuile"
-
 msgid "Increase zoom"
 msgstr "Zoomer en avant"
 
 msgid "Decrease zoom"
 msgstr "Zoomer en arrière"
 
-msgid "Snap to tile size"
-msgstr "Revenir à la taille de la tuile"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Réinitialiser le cache"
+msgid "Failed to create tile source"
+msgstr "Impossible de créer la source de la tuile"
 
 msgid "zoom in to load any tiles"
 msgstr "zoomer pour charger des tuiles"
@@ -10129,6 +10277,9 @@ msgstr ""
 "Erreur d’analyse du décalage.\n"
 "Format attendu : {0}"
 
+msgid "Geotagged Images"
+msgstr "Images géolocalisées"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Extraction des positions GPS depuis les informations EXIF"
 
@@ -10154,9 +10305,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr "Un des fichiers sélectionnés était vide"
 
-msgid "Geotagged Images"
-msgstr "Images géolocalisées"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} image chargée."
@@ -10553,12 +10701,8 @@ msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 "Echec de lʼanalyse des styles Mappaint de ''{0}''. Lʼerreur était: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Détection de l’élément déprécié ''{0}'' dans ''{1}'' qui sera bientôt "
-"supprimé. Utilisez ''{2}'' à la place."
+msgid "Failed to locate image ''{0}''"
+msgstr "Impossible de trouver l''image \"{0}\""
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Le motif est erroné, les valeurs doivent être positives"
@@ -10607,6 +10751,12 @@ msgstr "Adresse web de l’autorisation d’accès :"
 msgid "Authorize URL:"
 msgstr "Adresse web d’autorisation :"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Rétablir les paramètres OAuth par défaut"
 
@@ -10680,13 +10830,6 @@ msgstr "Nom d’utilisateur : "
 msgid "Password: "
 msgstr "Mot de passe : "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Attention :</strong> JOSM se connecte <strong>une seule "
-"fois</strong> en utilisant une connexion sécurisée."
-
 msgid "Granted rights"
 msgstr "Droits accordés"
 
@@ -10828,6 +10971,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Méthode : "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Obtenir une autorisation d’accès pour ''{0}''"
 
@@ -11239,6 +11388,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr "Barre d’outils : {0}"
 
+msgid "add entry"
+msgstr "Ajouter une entrée"
+
+msgid "Remove the selected entry"
+msgstr "Supprimer l’’entrée sélectionnée"
+
+msgid "Key: {0}"
+msgstr "Clé: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Paramètres avancés"
 
@@ -11335,18 +11493,9 @@ msgstr "Choisir le fichier de profil"
 msgid "Change list setting"
 msgstr "Modifier un paramètre \"liste\""
 
-msgid "Key: {0}"
-msgstr "Clé: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Modifier un paramètre \"liste de listes\""
 
-msgid "add entry"
-msgstr "Ajouter une entrée"
-
-msgid "Remove the selected entry"
-msgstr "Supprimer l’’entrée sélectionnée"
-
 msgid "Change list of maps setting"
 msgstr "Modifier un paramètre \"liste de tables d’’association\""
 
@@ -12052,9 +12201,6 @@ msgstr "Ajouter le fournisseur"
 msgid "Please select at least one row to copy."
 msgstr "Sélectionnez au moins une ligne à copier."
 
-msgid "reload defaults"
-msgstr "Mettre à jour la liste"
-
 msgid "Menu Name"
 msgstr "Fournisseur"
 
@@ -12362,6 +12508,9 @@ msgstr[0] "Le téléchargement du greffon suivant a <strong>échoué</strong> :"
 msgstr[1] ""
 "Le téléchargement des greffons suivants  {0} a <strong>échoué</strong> :"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Message d’erreur : {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Veuillez redémarrer JOSM pour activer les greffons téléchargés."
 
@@ -13047,12 +13196,6 @@ msgstr "Valeurs numériques"
 msgid "Checks for wrong numeric values"
 msgstr "Contrôle les valeurs numériques erronées"
 
-msgid "Power"
-msgstr "Électricité"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Vérifier les erreurs sur les infrastructures électriques"
-
 msgid "Religion"
 msgstr "Religion"
 
@@ -13143,6 +13286,9 @@ msgstr "Utiliser l’attribut « {0} »"
 msgid "Elements of type {0} are supported."
 msgstr "Les éléments du type {0} sont supportés."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "Modifie aussi …"
 
@@ -13216,6 +13362,9 @@ msgstr "Préreglages de recherche"
 msgid "Presets"
 msgstr "Attributs"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "Rechercher des objets par attribut"
 
@@ -13269,6 +13418,9 @@ msgstr ""
 "Le modèle d’attributs  « {0}-{1} » n’est pas valide - « short_descriptions » "
 "doit avoir le même nombre d’éléments que « values »"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Plus d’infos…"
 
@@ -13366,17 +13518,31 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "faux : la propriété est désactivée"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "coché : la propriété est activée"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "partiel : les objets sélectionnés ont différentes valeurs, ne pas modifier"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "décoché : ne pas utiliser cette propriété sur la sélection"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "Couper"
 
@@ -13950,6 +14116,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Valeur invalide pour la préférence ''{0}''. Actuellement ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "Fichiers du serveur OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 "<html>Une erreur est survenue lors de l’enregistrement.<br>Erreur "
@@ -13968,9 +14137,6 @@ msgstr "Fichiers compressés gzip du serveur OSM"
 msgid "Parsing OSM history data ..."
 msgstr "Analyse des données de l’historique…"
 
-msgid "OSM Server Files"
-msgstr "Fichiers du serveur OSM"
-
 msgid "Invalid dataset"
 msgstr "Jeu de données non valide"
 
@@ -14194,9 +14360,6 @@ msgstr "Téléchargement des données…"
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Un identifiant 0 inattendu a été trouvé sur un objet OSM"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Fichiers serveur OSM compressés zip"
-
 msgid "Downloading data..."
 msgstr "Téléchargement des données..."
 
@@ -14393,24 +14556,31 @@ msgstr ""
 "La version de protocole a été demandée au contrôle à distance. Cela permet "
 "aux sites web de détecter le fonctionnement de JOSM."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr "fichier local"
+
+msgid "include"
+msgstr "inclure"
+
+msgid "Layer contains unsaved data - save to file."
 msgstr ""
-"La version ''{0}'' de la méta-donnée pour la couche géoimage nʼest pas "
-"supportée. Attendu: 0.1"
+"La calque contient des données non enregistrées - enregistrer dans un "
+"fichier."
+
+msgid "Layer does not contain unsaved data."
+msgstr "La couche ne contient pas de données non sauvegardées"
 
 msgid "Data:"
 msgstr "Données :"
 
-msgid "local file"
-msgstr "fichier local"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Lier à un fichier de données OSM sur votre disque."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Lien vers le fichier GPX sur votre disque local"
+msgid "Include OSM data in the .joz session file."
+msgstr "Inclure les données OSM dans le fichier de session .joz."
 
-msgid "include"
-msgstr "inclure"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Include les données GPX sur le fichier .joz de session"
@@ -14421,6 +14591,16 @@ msgstr "Pas d’’association de fichier"
 msgid "GPX data will be included in the session file."
 msgstr "Les données GPX seront inclues dans le fichier de session"
 
+msgid "OSM data will be included in the session file."
+msgstr "Les données OSM seront inclues dans le fichier de session."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"La version ''{0}'' de la méta-donnée pour la couche géoimage nʼest pas "
+"supportée. Attendu: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14444,22 +14624,9 @@ msgstr ""
 "La version « {0} » des méta-données pour la couche de marqueurs n’est pas "
 "prise en charge. Version attendue : 0.1"
 
-msgid "Layer contains unsaved data - save to file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
-"La calque contient des données non enregistrées - enregistrer dans un "
-"fichier."
-
-msgid "Layer does not contain unsaved data."
-msgstr "La couche ne contient pas de données non sauvegardées"
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Lier à un fichier de données OSM sur votre disque."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Inclure les données OSM dans le fichier de session .joz."
-
-msgid "OSM data will be included in the session file."
-msgstr "Les données OSM seront inclues dans le fichier de session."
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15327,9 +15494,6 @@ msgstr ""
 "trop grosse. <br>Veuillez sélectionner une zone plus petite ou utiliser un "
 "fichier d’export fourni par la communauté OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Message d’erreur : {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15375,6 +15539,9 @@ msgstr "Téléchargement redirigé vers ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Trop de redirections ont été détectées. Abandon."
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "Impossible de trouver la traduction pour la langue {0}. Retour à la langue "
@@ -15387,9 +15554,6 @@ msgstr ""
 "Erreur fatale : la localisation de l’image ''{0}'' a échoué. Il s’agit d’un "
 "important problème de configuration. JOSM va être arrêté."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Impossible de trouver l''image \"{0}\""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Impossible de traiter le fichier zip ''{0}''. Lʼexception était: {1}"
 
@@ -15550,6 +15714,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr "Impossible de supprimer le fichier {0}"
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr "ms"
 
@@ -15884,9 +16051,6 @@ msgstr "Ouvrir le fichier sélectionné"
 msgid "Open selected file."
 msgstr "Ouvrir le fichier sélectionné."
 
-msgid "Refresh"
-msgstr "Actualiser"
-
 msgid "Rename File"
 msgstr "Renommer le Fichier"
 
@@ -15980,6 +16144,9 @@ msgstr "OSM MapQuest"
 msgid "Public Transport (ÖPNV)"
 msgstr "Transport Public (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (Style allemand)"
 
@@ -16046,6 +16213,9 @@ msgstr "OSM Inspector : Adresses"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector : Frontières (Europe)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI noir et blanc 2.5 m"
 
@@ -16142,14 +16312,17 @@ msgstr "Imagerie aérienne URBIS 2015"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "Imagerie numérique SPW(allonie) PICC"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 photos aériennes"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "Imagerie aérienne SPW(allonie) 2015"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 photos aériennes"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "Imagerie aérienne SPW(allonie) 2012-2013"
 
-msgid "TEC bus lines"
-msgstr ""
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "Imagerie aérienne SPW(allonie) 2009-2010"
+
+msgid "TEC bus lines (2014)"
+msgstr "Lignes du réseau TEC (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Carte des secteurs urbains"
@@ -16271,6 +16444,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -16293,9 +16469,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Langue Sorabe)"
 
@@ -16368,6 +16541,15 @@ msgstr "Imagerie drone 2014 (Haïti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Drone Imagery Canaan(Haiti) novembre 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Irlande Bureau de la guerre britannique 1:25k GSGS 3906"
 
@@ -16401,11 +16583,14 @@ msgstr "Zones d''élections locales OSMIE"
 msgid "OSMIE Dail Election Areas"
 msgstr "Zone d''élection Dail OSMIE"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italie"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardie - Italie (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr ""
 
 msgid "Sicily - Italy"
 msgstr "Sicile - Italie"
@@ -17131,6 +17316,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Crée un réseau de chemins."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -17900,6 +18088,105 @@ msgstr "limité"
 msgid "Brand"
 msgstr "Marque"
 
+msgid "Cuisine"
+msgstr "Cuisine"
+
+msgid "italian"
+msgstr "italienne"
+
+msgid "chinese"
+msgstr "chinoise"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamburger"
+
+msgid "greek"
+msgstr "grecque"
+
+msgid "german"
+msgstr "allemande"
+
+msgid "indian"
+msgstr "indienne"
+
+msgid "regional"
+msgstr "régionale"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turque"
+
+msgid "asian"
+msgstr "asiatique"
+
+msgid "thai"
+msgstr "thaïlandaise"
+
+msgid "mexican"
+msgstr "mexicaine"
+
+msgid "japanese"
+msgstr "japonaise"
+
+msgid "french"
+msgstr "française"
+
+msgid "sandwich"
+msgstr "sandwich"
+
+msgid "coffee_shop"
+msgstr "Brasserie"
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr "rôtisserie"
+
+msgid "fish_and_chips"
+msgstr "fish and chips"
+
+msgid "chicken"
+msgstr "poulet"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "glaces"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Accès Internet"
 
@@ -18472,10 +18759,11 @@ msgstr "Poids maximal (tonnes)"
 msgid "Toll"
 msgstr "Péage"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
-"Est-ce que la masse d''eau est intermittente (disparaît-elle "
-"saisonnièrement) ?"
 
 msgid "In the tidal range"
 msgstr "Est dans la zone de marée"
@@ -19245,26 +19533,30 @@ msgstr "En cas de feux de signalisation:"
 msgid "Traffic Calming"
 msgstr "Ralentisseur"
 
-msgid "bump"
-msgstr "petit dos d’âne"
+msgid "Bump"
+msgstr ""
 
-msgid "chicane"
-msgstr "chicane"
+msgid "Chicane"
+msgstr ""
 
-msgid "choker"
-msgstr "rétrécissement"
+msgid "Choker"
+msgstr ""
 
-msgid "cushion"
-msgstr "coussin berlinois"
+msgid "Cushion"
+msgstr ""
+
+msgid "Hump"
+msgstr ""
 
-msgid "hump"
-msgstr "dos d’âne"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "bande_rugueuse"
+msgid "Rumble strip"
+msgstr ""
 
-msgid "table"
-msgstr "plateau"
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Aire de croisement"
@@ -19415,6 +19707,9 @@ msgstr "Rempart"
 msgid "Retaining Wall"
 msgstr "Mur de soutènement"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Fossé"
@@ -19587,6 +19882,11 @@ msgstr "rivière"
 msgid "Salt Water"
 msgstr "Eau salée"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+"Est-ce que la masse d''eau est intermittente (disparaît-elle "
+"saisonnièrement) ?"
+
 msgid "Coastline"
 msgstr "Ligne côtière"
 
@@ -19655,16 +19955,6 @@ msgstr ""
 "Un grand plan d''eau partiellement entouré par la terre, qui possède "
 "cependant une grande ouverture."
 
-msgid "Cliff"
-msgstr "Falaise"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Une paroi rocheuse abrupte, avec une pente verticale ou quasi-verticale (le "
-"pied de la falaise doit être à droite du tracé)."
-
 msgid "Shipping"
 msgstr "Navigation"
 
@@ -20596,66 +20886,6 @@ msgstr "Restauration"
 msgid "Restaurant"
 msgstr "Restaurant"
 
-msgid "Cuisine"
-msgstr "Cuisine"
-
-msgid "italian"
-msgstr "italienne"
-
-msgid "chinese"
-msgstr "chinoise"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hamburger"
-
-msgid "greek"
-msgstr "grecque"
-
-msgid "german"
-msgstr "allemande"
-
-msgid "indian"
-msgstr "indienne"
-
-msgid "regional"
-msgstr "régionale"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turque"
-
-msgid "asian"
-msgstr "asiatique"
-
-msgid "thai"
-msgstr "thaïlandaise"
-
-msgid "mexican"
-msgstr "mexicaine"
-
-msgid "japanese"
-msgstr "japonaise"
-
-msgid "french"
-msgstr "française"
-
-msgid "sandwich"
-msgstr "sandwich"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr "rôtisserie"
-
 msgid "Microbrewery"
 msgstr "Microbrasserie"
 
@@ -20668,20 +20898,14 @@ msgstr "Plat à emporter"
 msgid "Fast Food"
 msgstr "Fast-food"
 
-msgid "fish_and_chips"
-msgstr "fish and chips"
-
-msgid "chicken"
-msgstr "poulet"
-
 msgid "Food Court"
 msgstr "Aire de restauration"
 
 msgid "Cafe"
 msgstr "Café"
 
-msgid "ice_cream"
-msgstr "glaces"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Pub"
@@ -20863,6 +21087,12 @@ msgstr "Parc d’attractions/Parc à thème"
 msgid "Water Park"
 msgstr "Parc aquatique"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20897,9 +21127,6 @@ msgstr "Emplacement de feu"
 msgid "Fishing"
 msgstr "Pêche"
 
-msgid "Private Swimming Pool"
-msgstr "Piscine privée"
-
 msgid "Night Club"
 msgstr "Boîte de nuit"
 
@@ -20942,12 +21169,18 @@ msgstr "statue"
 msgid "Artist Name"
 msgstr "Nom de lʼartiste"
 
-msgid "Recording Studio"
-msgstr "Studio d’enregistrement"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "audio"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "vidéo"
 
@@ -21051,6 +21284,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "adventiste du septième jour"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Mosquée"
 
@@ -21210,6 +21447,125 @@ msgstr "(Utiliser un code international, par exemple +12-345-67890)"
 msgid "Veterinary"
 msgstr "Cabinet vétérinaire"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Défibrillateur automatique"
+
+msgid "Located inside a building?"
+msgstr "Situé à lʼintérieur dʼun batiment?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Dernière date de vérification (AAAA-MM-JJ)"
+
+msgid "Last check note"
+msgstr "Dernière note de vérification"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr "Intérieur"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Borne incendie"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "souterrain"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "colonne"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "mural"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "bassin"
+
+msgid "Diameter (in mm)"
+msgstr "Diamètre (en mm)"
+
+msgid "Hydrant Position"
+msgstr "Position de borne incendie"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "voie"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parking"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "trottoir"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "pelouse"
+
+msgid "Pressure (in bar)"
+msgstr "Pression (en bars)"
+
+msgid "suction"
+msgstr "aspirante"
+
+msgid "Count"
+msgstr "Quantité"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Borne d’appel d’urgence"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -21322,24 +21678,9 @@ msgstr "Billets"
 msgid "Telephone cards"
 msgstr "Cartes téléphoniques"
 
-msgid "Emergency Phone"
-msgstr "Borne d’appel d’urgence"
-
 msgid "Internet Access"
 msgstr "Accès Internet"
 
-msgid "Automated Defibrillator"
-msgstr "Défibrillateur automatique"
-
-msgid "Located inside a building?"
-msgstr "Situé à lʼintérieur dʼun batiment?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Dernière date de vérification (AAAA-MM-JJ)"
-
-msgid "Last check note"
-msgstr "Dernière note de vérification"
-
 msgid "Clock"
 msgstr "Horloge"
 
@@ -21502,64 +21843,15 @@ msgctxt "height"
 msgid "full"
 msgstr "haut"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Camouflé"
+msgstr ""
 
 msgid "Lock"
 msgstr "Verrouillé"
 
-msgid "Indoor"
-msgstr "Intérieur"
-
-msgid "Fire Hydrant"
-msgstr "Borne incendie"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "souterrain"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "colonne"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "mural"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "bassin"
-
-msgid "Diameter (in mm)"
-msgstr "Diamètre (en mm)"
-
-msgid "Hydrant Position"
-msgstr "Position de borne incendie"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "voie"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parking"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "trottoir"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "pelouse"
-
-msgid "Pressure (in bar)"
-msgstr "Pression (en bars)"
-
-msgid "suction"
-msgstr "aspirante"
-
-msgid "Count"
-msgstr "Quantité"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr "Air comprimé"
@@ -21612,9 +21904,62 @@ msgstr "piste d’athlétisme"
 msgid "Racetrack"
 msgstr "Circuit"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golf"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Minigolf"
 
@@ -21839,9 +22184,6 @@ msgstr "Volleyball de plage"
 msgid "Billiards"
 msgstr "Billiard"
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golf_course"
 
@@ -22006,6 +22348,10 @@ msgid "gasometer"
 msgstr "gazomètre"
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "étable"
 
@@ -22014,6 +22360,38 @@ msgid "construction"
 msgstr "construction"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "basilique"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "cathédrale"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "chapelle"
+
+msgctxt "building"
+msgid "church"
+msgstr "église"
+
+msgctxt "building"
+msgid "temple"
+msgstr "temple"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "mosquée"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "synagogue"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Niveaux"
 
@@ -22126,6 +22504,9 @@ msgstr "Moulin à vent"
 msgid "Gasometer"
 msgstr "Gazomètre"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "Réservoir de stockage"
 
@@ -22527,6 +22908,14 @@ msgstr "munitions"
 msgid "hardened_aircraft_shelter"
 msgstr "hangar pour avion"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "souterrain"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "au-dessus du sol"
+
 msgid "Historic"
 msgstr "Historique"
 
@@ -22536,6 +22925,9 @@ msgstr "Ruine"
 msgid "Range"
 msgstr "Champ de tir"
 
+msgid "Power"
+msgstr "Électricité"
+
 msgid "Power Plant"
 msgstr "Centrale électrique"
 
@@ -22969,11 +23361,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Transformateur"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Pylône haute-tension"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr "Type de construction"
@@ -22994,6 +23389,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "rouge/blanc"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr "portail"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portique à deux niveaux"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portique à trois niveaux"
+
+msgid "Power Tower"
+msgstr "Pylône haute-tension"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Type de pylône"
@@ -23117,18 +23530,6 @@ msgid "guyed_h-frame"
 msgstr "portique haubané"
 
 msgctxt "power"
-msgid "portal"
-msgstr "portail"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "portique à deux niveaux"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "portique à trois niveaux"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "haubanné en X"
 
@@ -23161,6 +23562,9 @@ msgstr "Attributs du pylône"
 msgid "Transformer Attributes:"
 msgstr "Attributs du transformateur"
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Ligne électrique"
 
@@ -23423,6 +23827,9 @@ msgstr "Ameublement"
 msgid "Kitchen"
 msgstr "Cuisine"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Rideaux"
 
@@ -23465,12 +23872,21 @@ msgstr "Soin du corps"
 msgid "Chemist"
 msgstr "Droguerie"
 
-msgid "Hairdresser/Barber"
-msgstr "Coiffeur/Barbier"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "Salon de beauté"
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr "Coiffeur/Barbier"
+
 msgid "Tattoo"
 msgstr "Tatouages"
 
@@ -23796,6 +24212,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Télécommunication"
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Géographie"
 
@@ -23966,6 +24457,16 @@ msgstr "Vallée"
 msgid "A low area between hills."
 msgstr "Une zone basse entre des collines."
 
+msgid "Cliff"
+msgstr "Falaise"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Une paroi rocheuse abrupte, avec une pente verticale ou quasi-verticale (le "
+"pied de la falaise doit être à droite du tracé)."
+
 msgid "Cave Entrance"
 msgstr "Grotte"
 
@@ -24180,6 +24681,51 @@ msgstr "Prairie"
 msgid "Orchard"
 msgstr "Verger"
 
+msgid "Trees"
+msgstr "Arbres"
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Vigne"
 
@@ -24980,9 +25526,6 @@ msgstr "{0} et {1} tous deux avec {2} et valeurs conflictuelles"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Combinaison suspecte de tags : {0} et {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} est obsolète"
-
 msgid "{0} is deprecated"
 msgstr "{0} est déprécié"
 
@@ -25012,9 +25555,8 @@ msgstr ""
 "Usage incorrect du tag {0}. Supprimez {1} car il est évident que le nom est "
 "manquant même sans un tag additionnel."
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
-"{0}={1} est déprécié. Veuillez utiliser un multi-polygone à la place."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -25065,6 +25607,15 @@ msgstr "clé courte peu commune"
 msgid "{0} is inaccurate"
 msgstr "{0} est imprécis"
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} sur un nœud. Devrait être employé sur un chemin."
 
@@ -25080,6 +25631,9 @@ msgstr "{0} sur un chemin. Devrait être employé sur un nœud."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} sur un chemin. Devrait être employé dans une relation."
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} sur un nœud"
 
@@ -25107,6 +25661,9 @@ msgstr "{0} doit être relié à un chemin"
 msgid "node connects waterway and bridge"
 msgstr "le noeud est à l’intersection d’un cours d’eau et d’un pont"
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "abbréviation du nom de rue"
 
@@ -25150,8 +25707,8 @@ msgstr "Attribut layer avec un signe +"
 msgid "layer should be between -5 and 5"
 msgstr "Le niveau doit être compris entre -5 et 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "le niveau doit être un nombre avec un incrémentage optionnel de .5."
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr ""
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -28952,8 +29509,8 @@ msgstr "images"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr "La police de caractère du panneau ''{0}'' est mal formattée."
 
-msgid "Could not read font-file from ''{{0}}''."
-msgstr "Impossible de lire le fichier de polices depuis ''{{0}}''"
+msgid "Could not read font-file from ''{0}''."
+msgstr ""
 
 msgid "Mapillary"
 msgstr "Mapillary"
@@ -29271,6 +29828,9 @@ msgstr "Connexion à Mapillary"
 msgid "Login successful, return to JOSM."
 msgstr "Connexion réussie, retour à JOSM."
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr "Téléchargement des photos Mapillary en cours"
 
@@ -29286,6 +29846,18 @@ msgstr "Envoi terminé"
 msgid "Uploading: {0}"
 msgstr "Envoi en cours : {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Valeurs mesurées"
 
@@ -30357,10 +30929,10 @@ msgid "Edit Photo GPS Data"
 msgstr "Éditer les données GPS de la photo"
 
 msgid "Please select an image first."
-msgstr "Veuillez sélectionner une image d'abord."
+msgstr "Veuillez sélectionner une image d''abord."
 
 msgid "No image selected"
-msgstr "Pas d'image sélectionnée"
+msgstr "Pas d''image sélectionnée"
 
 msgid "(Empty values delete the according fields.)"
 msgstr "(Les valeurs vides suppriment les champs correspondants.)"
@@ -30372,7 +30944,7 @@ msgid "Latitude and longitude"
 msgstr "Latitude et longitude"
 
 msgid "Edit Image Coordinates"
-msgstr "Éditer les coordonnées de l'image"
+msgstr "Éditer les coordonnées de l''image"
 
 msgid "Edit coordinates in separate editor"
 msgstr "Éditer les coordonnées dans un éditeur séparé"
@@ -30726,6 +31298,12 @@ msgstr "Proj4J greffon"
 msgid "Code"
 msgstr "Code"
 
+msgid "Can''t parse a time from this string."
+msgstr "Impossible de lire l’heure depuis cette chaîne."
+
+msgid "Invalid value"
+msgstr "Valeur invalide"
+
 msgid "added"
 msgstr "ajouté"
 
@@ -30814,15 +31392,6 @@ msgstr "Récupérer"
 msgid "Join"
 msgstr "Joindre"
 
-msgid "Enable"
-msgstr "Activer"
-
-msgid "Can''t parse a time from this string."
-msgstr "Impossible de lire l’heure depuis cette chaîne."
-
-msgid "Invalid value"
-msgstr "Valeur invalide"
-
 msgid "moved"
 msgstr "déplacé"
 
@@ -33021,6 +33590,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr "Erreur interne: le nombre de nœuds est {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Extraire un nœud"
 
@@ -33727,6 +34299,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Ajout du nom depuis Wikipedia"
 
@@ -33821,5 +34398,5 @@ msgstr "En voiture !"
 msgid "Drive a race car on this layer"
 msgstr "Conduire une voiture de course sur ce calque"
 
-#~ msgid "Retirement Home"
-#~ msgstr "Maison de retraite"
+#~ msgid "Could not read font-file from ''{{0}}''."
+#~ msgstr "Impossible de lire le fichier de polices depuis ''{{0}}''"
diff --git a/i18n/po/ga.po b/i18n/po/ga.po
index 961fc43..6e7a840 100644
--- a/i18n/po/ga.po
+++ b/i18n/po/ga.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-05-17 11:43+0000\n"
 "Last-Translator: Thorsten <Unknown>\n"
 "Language-Team: Irish <ga at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:42+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:43+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr ""
@@ -385,6 +385,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -440,6 +443,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1171,9 +1180,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1506,6 +1512,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2224,6 +2240,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2265,6 +2286,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2619,7 +2649,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3182,9 +3215,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3243,6 +3273,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3470,6 +3503,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3547,12 +3583,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3562,6 +3610,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4128,6 +4194,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4822,9 +4891,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4883,12 +4949,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4915,6 +4975,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5734,6 +5806,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5850,6 +5934,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6275,6 +6362,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6622,19 +6712,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6736,6 +6820,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7063,7 +7159,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7099,6 +7195,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7166,6 +7265,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7278,9 +7398,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7311,108 +7428,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7431,6 +7523,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7439,48 +7534,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7488,61 +7572,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7930,6 +8078,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8033,10 +8186,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8216,9 +8373,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8731,7 +8885,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8740,31 +8894,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8773,10 +8924,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9196,6 +9347,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9220,9 +9374,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9573,9 +9724,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9620,6 +9769,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9676,11 +9831,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9796,6 +9946,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10156,6 +10312,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10237,18 +10402,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10900,9 +11056,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11174,6 +11327,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11803,12 +11959,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11898,6 +12048,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11968,6 +12121,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12011,6 +12167,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12099,16 +12258,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12588,6 +12761,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12602,9 +12778,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12797,9 +12970,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12968,21 +13138,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12994,6 +13171,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13011,19 +13196,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13706,9 +13880,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13740,6 +13911,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13748,9 +13922,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13884,6 +14055,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14192,9 +14366,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14288,6 +14459,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14354,6 +14528,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14450,13 +14627,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14579,6 +14759,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14599,9 +14782,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14672,6 +14852,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14705,10 +14894,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15404,6 +15596,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16059,25 +16254,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16626,7 +16920,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17380,25 +17677,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17548,6 +17849,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17718,6 +18022,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17780,14 +18087,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18716,66 +19015,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18788,19 +19027,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18978,6 +19211,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19012,9 +19251,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19057,12 +19293,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19166,6 +19408,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19325,6 +19571,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19437,24 +19802,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19617,63 +19967,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19727,9 +20028,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19954,9 +20308,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20121,6 +20472,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20129,6 +20484,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20241,6 +20628,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20642,6 +21032,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20651,6 +21049,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21082,10 +21483,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21107,6 +21511,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21230,18 +21652,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21274,6 +21684,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21531,6 +21944,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21573,12 +21989,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21904,6 +22329,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22072,6 +22572,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22272,6 +22780,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23066,9 +23619,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23090,7 +23640,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23134,6 +23684,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23149,6 +23708,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23176,6 +23738,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23217,7 +23782,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26641,7 +27206,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26954,6 +27519,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26969,6 +27537,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28310,6 +28890,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28396,15 +28982,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30391,6 +30968,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30979,6 +31559,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/gl.po b/i18n/po/gl.po
index fb167fe..1245e77 100644
--- a/i18n/po/gl.po
+++ b/i18n/po/gl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2016-01-01 15:11+0000\n"
 "Last-Translator: Marcos Lans <Unknown>\n"
 "Language-Team: Galician <proxecto at trasno.net>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:43+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:43+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: gl\n"
 "X-Poedit-Language: Galician\n"
 
@@ -407,6 +407,9 @@ msgstr ""
 "Non foi posíbel combinar as vías.<br> Non foi posíbel combinalos nunha única "
 "cadea de nodos."
 
+msgid "Reverse Ways"
+msgstr "Invertir Vías"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Combinar {0} vía"
@@ -464,6 +467,12 @@ msgstr "Eliminar"
 msgid "Delete selected objects."
 msgstr "Eliminar os obxectos seleccionados."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Alternar o panel de diálogos."
 
@@ -1285,9 +1294,6 @@ msgstr "Preme para reiniciares máis tarde."
 msgid "Reverse way"
 msgstr "Invertir vía"
 
-msgid "Reverse Ways"
-msgstr "Invertir Vías"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Invertir a dirección de todas as vías seleccionadas."
 
@@ -1647,6 +1653,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2385,6 +2401,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2426,6 +2447,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr "Escoller na lista de relacións"
 
@@ -2787,7 +2817,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3377,9 +3410,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "A opción de configuración {0} foi retirada porque xa non se usa."
 
@@ -3438,6 +3468,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3681,6 +3714,9 @@ msgstr "texto"
 msgid "areatext"
 msgstr "área de texto"
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3758,12 +3794,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3773,6 +3821,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4345,6 +4411,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -5048,9 +5117,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -5109,12 +5175,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "A latitude xeográfica na posición do punteiro do rato."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "A lonxitude xeográfica na posición do punteiro do rato."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "A dirección (da brúxula) do segmento de liña que se está a debuxar."
 
@@ -5143,6 +5203,18 @@ msgstr "Usuario:"
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "A latitude xeográfica na posición do punteiro do rato."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "A lonxitude xeográfica na posición do punteiro do rato."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -6017,6 +6089,18 @@ msgstr ""
 "Abrir un diálogo de combinación de todos os elementos seleccionados na lista "
 "superior."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -6139,6 +6223,9 @@ msgstr "Mover o filtro cara abaixo."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filtro agochado:{0} desactivado:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Produciuse un erro no filtro"
 
@@ -6565,6 +6652,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6920,19 +7010,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr "Descargar contido"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Descargar o contido do conxunto de cambios do servidor de OSM"
-
-msgid "Update content"
-msgstr "Actualizar contido"
+msgid "Download and show the history of the selected objects"
+msgstr ""
 
-msgid "Update the changeset content from the OSM server"
-msgstr "Actualizar o contido do conxunto de cambios desde o servidor de OSM"
+msgid "Download objects"
+msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -7037,6 +7121,18 @@ msgstr "abrir"
 msgid "closed"
 msgstr "pechado"
 
+msgid "Download content"
+msgstr "Descargar contido"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Descargar o contido do conxunto de cambios do servidor de OSM"
+
+msgid "Update content"
+msgstr "Actualizar contido"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Actualizar o contido do conxunto de cambios desde o servidor de OSM"
+
 msgid "Changeset ID: "
 msgstr "ID do conxunto de cambios: "
 
@@ -7390,7 +7486,7 @@ msgstr "Editar o valor da clave seleccionada para todos os obxectos"
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7426,6 +7522,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7493,6 +7592,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr "Agochar"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7605,9 +7725,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7641,115 +7758,83 @@ msgstr ""
 "unha relación circular e polo tanto no se recomenda.<br>Omitindo a relación "
 "«{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"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select next Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Sort the relation members"
-msgstr "Ordenar os membros da relación"
-
-msgid "Relation Editor: Sort"
-msgstr ""
+msgid "Refers to"
+msgstr "Refírese a"
 
-msgid "Sort below"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
-msgstr ""
+msgid "Download referring relations"
+msgstr "Descargar as relacións referidas"
 
-msgid "Reverse the order of the relation members"
-msgstr "Invertir a orde dos membros da relación"
+msgid "There were {0} conflicts during import."
+msgstr "Houbo {0} conflitos durante a importación"
 
-msgid "Reverse"
-msgstr "Inverter"
+msgid "including immediate children of parent relations"
+msgstr "incluíndo os fillos inmediatos das relacións pai"
 
-msgid "Move the currently selected members up"
-msgstr "Mover os membros actualmente seleccionados cara arriba"
+msgid "Load parent relations"
+msgstr "Cagar relacións pais"
 
-msgid "Relation Editor: Move Up"
-msgstr "Editor de relacións: mover cara arriba"
+msgid "Reload"
+msgstr "Recargar"
 
-msgid "Move the currently selected members down"
-msgstr "Mover os membros seleccionados actualmente cara abaixo"
+msgid "Loading parent relations"
+msgstr "Cagando relacións pais"
 
-msgid "Relation Editor: Move Down"
-msgstr "Editor de relacións: mover cara abaixo"
+msgid "Edit the currently selected relation"
+msgstr "Editar a relación escollida actualmente"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Retirar os membros seleccionados para esta relación"
+msgid "Apply Changes"
+msgstr "Aplicar Cambios"
 
-msgid "Relation Editor: Remove"
-msgstr "Editor de relación: retirar"
+msgid "Create new relation in layer ''{0}''"
+msgstr "Crear unha nova relación na capa «{0}»"
 
-msgid "Delete the currently edited relation"
-msgstr "Eliminar a relación que se está a editar"
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Editar nova relación na capa «{0}»"
 
-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."
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
-"Un ou mais membros desta nova relación foron eliminados mentres o editor de "
-"relacións\n"
-"estaba aberto. Foron retiradas da lista de relación de membros."
-
-msgid "Yes, create a conflict and close"
-msgstr "Si, crear un conflito e pechar"
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr "Prema para crear un conflito e pechar este editor de relación"
 
-msgid "No, continue editing"
-msgstr "Non, continuar editando"
+msgid "Load relation"
+msgstr "Cargar relacióm"
 
-msgid "Click to return to the relation editor and to resume relation editing"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
 msgstr ""
-"Prema para volver ao editor de relación e continuar editando a relación"
 
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
-"<html>Esta relación foi cambiada fora do editor.<br>Non pode aplicar os seus "
-"cambios e continuar editando.<br><br>Desexa crear un conflito e pechar o "
-"editor?</html>"
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr "Aplicar as actualizacións actuais"
 
-msgid "Apply the updates and close the dialog"
-msgstr "Aplicar as actualizacións actuais e pecha o diálogo"
-
 msgid "Cancel the updates and close the dialog"
 msgstr "Pecha as actualizacións actuais e pecha o diálogo"
 
@@ -7768,6 +7853,10 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+"Prema para volver ao editor de relación e continuar editando a relación"
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7776,8 +7865,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr "Engadir unha etiqueta baleira"
+msgid "Delete the currently edited relation"
+msgstr "Eliminar a relación que se está a editar"
+
+msgid "Relation Editor: Download Members"
+msgstr "Editor de relación: Descargar Membros"
 
 msgid "Download all incomplete members"
 msgstr "Descargar todos os membros incompletos"
@@ -7785,40 +7877,26 @@ msgstr "Descargar todos os membros incompletos"
 msgid "Download Members"
 msgstr "Descargar Membros"
 
-msgid "Relation Editor: Download Members"
-msgstr "Editor de relación: Descargar Membros"
-
 msgid "Download selected incomplete members"
 msgstr "Descargar membros escollidos incompletos"
 
-msgid "Sets a role for the selected members"
-msgstr "Estabelece un rol para os membros escollidos"
-
-msgid "Apply Role"
-msgstr "Aplicar rol"
-
-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] ""
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr ""
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Editar a relación a cal a relación escollida fai referencia"
 
-msgid "Do you really want to apply the new role?"
-msgstr "Está seguro de que quere aplicar o novo rol?"
+msgid "Relation Editor: Move Down"
+msgstr "Editor de relacións: mover cara abaixo"
 
-msgid "Yes, apply it"
-msgstr "Si, Aplicar"
+msgid "Move the currently selected members down"
+msgstr "Mover os membros seleccionados actualmente cara abaixo"
 
-msgid "No, do not apply"
-msgstr "Non, non aplicar"
+msgid "Relation Editor: Move Up"
+msgstr "Editor de relacións: mover cara arriba"
 
-msgid "Confirm empty role"
-msgstr "Confirmar rol baleiro"
+msgid "Move the currently selected members up"
+msgstr "Mover os membros actualmente seleccionados cara arriba"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Editar a relación a cal a relación escollida fai referencia"
+msgid "Apply the updates and close the dialog"
+msgstr "Aplicar as actualizacións actuais e pecha o diálogo"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
@@ -7827,62 +7905,132 @@ msgstr ""
 "Os membros do portapapeis non poden engadirse porque non están incluídos na "
 "capa actual"
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
+msgstr "Actualizar"
+
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Refers to"
-msgstr "Refírese a"
+msgid "No, continue editing"
+msgstr "Non, continuar editando"
 
-msgid "Download referring relations"
-msgstr "Descargar as relacións referidas"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "Houbo {0} conflitos durante a importación"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "including immediate children of parent relations"
-msgstr "incluíndo os fillos inmediatos das relacións pai"
+msgid "Relation Editor: Remove"
+msgstr "Editor de relación: retirar"
 
-msgid "Load parent relations"
-msgstr "Cagar relacións pais"
+msgid "Remove the currently selected members from this relation"
+msgstr "Retirar os membros seleccionados para esta relación"
 
-msgid "Reload"
-msgstr "Recargar"
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
 
-msgid "Loading parent relations"
-msgstr "Cagando relacións pais"
+msgid "Reverse the order of the relation members"
+msgstr "Invertir a orde dos membros da relación"
 
-msgid "Edit the currently selected relation"
-msgstr "Editar a relación escollida actualmente"
+msgid "Reverse"
+msgstr "Inverter"
 
-msgid "Apply Changes"
-msgstr "Aplicar Cambios"
+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 ""
+"Un ou mais membros desta nova relación foron eliminados mentres o editor de "
+"relacións\n"
+"estaba aberto. Foron retiradas da lista de relación de membros."
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Crear unha nova relación na capa «{0}»"
+msgid "Yes, create a conflict and close"
+msgstr "Si, crear un conflito e pechar"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Editar nova relación na capa «{0}»"
+msgid "Click to create a conflict and close this relation editor"
+msgstr "Prema para crear un conflito e pechar este editor de relación"
 
-msgid "Edit relation #{0} in layer ''{1}''"
+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>Esta relación foi cambiada fora do editor.<br>Non pode aplicar os seus "
+"cambios e continuar editando.<br><br>Desexa crear un conflito e pechar o "
+"editor?</html>"
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
 msgstr ""
 
-msgid "Load relation"
-msgstr "Cargar relacióm"
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr "Estabelece un rol para os membros escollidos"
+
+msgid "Apply Role"
+msgstr "Aplicar rol"
+
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr "Está seguro de que quere aplicar o novo rol?"
+
+msgid "Yes, apply it"
+msgstr "Si, Aplicar"
+
+msgid "No, do not apply"
+msgstr "Non, non aplicar"
+
+msgid "Confirm empty role"
+msgstr "Confirmar rol baleiro"
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr "Ordenar os membros da relación"
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "a vía está conectada"
@@ -8287,6 +8435,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8403,10 +8556,14 @@ msgid "Upload"
 msgstr "Enviar"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8586,9 +8743,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -9110,7 +9264,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} obxecto para eliminar:"
 msgstr[1] "{0} obxectos para eliminar:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -9119,43 +9273,40 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr "Ampliación automática"
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
-msgstr "Cambiar a resolución"
-
-msgid "Failed to create tile source"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Zoom to native resolution"
 msgstr ""
 
+msgid "Change resolution"
+msgstr "Cambiar a resolución"
+
 msgid "Increase zoom"
 msgstr ""
 
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9577,6 +9728,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr "Imaxes xeo-etiquetadas"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9601,9 +9755,6 @@ msgstr "Erro obtendo ficheiros do directorio {0}\n"
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr "Imaxes xeo-etiquetadas"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} imaxe cargada."
@@ -9966,9 +10117,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -10013,6 +10162,12 @@ msgstr "URL do código de acceso:"
 msgid "Authorize URL:"
 msgstr "Autorizar o URL:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -10069,11 +10224,6 @@ msgstr "Nome de usuario: "
 msgid "Password: "
 msgstr "Contrasinal: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -10189,6 +10339,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10557,6 +10713,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "Configuración avanzada"
 
@@ -10638,18 +10803,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -11342,9 +11498,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr "Escolla polo menos unha fila para copiar"
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr "Nome do menú"
 
@@ -11622,6 +11775,9 @@ msgstr[1] ""
 "<strong>Produciuse un fallo</strong> na descarga dos seguintes {0} "
 "complementos:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Mensaxe de erro (sen traducir): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Reinicie JOSM para activar os complementos descargados."
 
@@ -12253,12 +12409,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr "Potencia"
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Relixión"
 
@@ -12348,6 +12498,9 @@ msgstr "Usar o axuste prestabelecido «{0}»"
 msgid "Elements of type {0} are supported."
 msgstr "Os elementos do tipo {0} están admitidos."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12418,6 +12571,9 @@ msgstr ""
 msgid "Presets"
 msgstr "Axustes prestablecidos"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12461,6 +12617,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Máis información sobre desta característica"
 
@@ -12553,19 +12712,33 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "falso: a propiedade está explícitamente desactivada"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "verdadeiro: a propiedade está explícitamente activada"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "parcial: distintos obxectos seleccionados teñen valores diferentes, non "
 "cambiar"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 "non establecido: non estabelecer esta propiedade nos obxectos seleccionados"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -13063,6 +13236,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "Ficheiros de Servidor OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Ocurriu un erro mentres se gardaba.<br>O Erro é:<br>{0}</html>"
 
@@ -13079,9 +13255,6 @@ msgstr "Ficheiros do servidor OSM comprimidos con gzip"
 msgid "Parsing OSM history data ..."
 msgstr "Procesando a historia dos datos OSM…"
 
-msgid "OSM Server Files"
-msgstr "Ficheiros de Servidor OSM"
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -13285,9 +13458,6 @@ msgstr "Subindo datos…"
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Atopouse un ID 0 inesperado para primitivas de osm"
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13461,21 +13631,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13487,6 +13664,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13504,19 +13689,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -14236,9 +14410,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Mensaxe de erro (sen traducir): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -14270,6 +14441,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "Non foi posíbel atopar a tradución para o idioma local {0}. Volvendo a {1}."
@@ -14279,9 +14453,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -14415,6 +14586,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14725,9 +14899,6 @@ msgstr "Abrir ficheiro escollido"
 msgid "Open selected file."
 msgstr "Abrir ficheiro escollido."
 
-msgid "Refresh"
-msgstr "Actualizar"
-
 msgid "Rename File"
 msgstr "Mudar o nome do ficheiro"
 
@@ -14821,6 +14992,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14887,6 +15061,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14983,13 +15160,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -15112,6 +15292,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -15132,9 +15315,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -15205,6 +15385,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -15238,10 +15427,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15937,6 +16129,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Crea unha cuadrícula de vías."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16624,6 +16819,105 @@ msgstr "limitado"
 msgid "Brand"
 msgstr "Marca"
 
+msgid "Cuisine"
+msgstr "Cociña"
+
+msgid "italian"
+msgstr "italiano"
+
+msgid "chinese"
+msgstr "chino"
+
+msgid "pizza"
+msgstr "pizzería"
+
+msgid "burger"
+msgstr "hamburguesería"
+
+msgid "greek"
+msgstr "grego"
+
+msgid "german"
+msgstr "alemán"
+
+msgid "indian"
+msgstr "india"
+
+msgid "regional"
+msgstr "rexional"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turco"
+
+msgid "asian"
+msgstr "asiático"
+
+msgid "thai"
+msgstr "tailandés"
+
+msgid "mexican"
+msgstr "mexicano"
+
+msgid "japanese"
+msgstr "xaponés"
+
+msgid "french"
+msgstr "francés"
+
+msgid "sandwich"
+msgstr "sandwich"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "fish_and_chips (patacas e pescado fritos)"
+
+msgid "chicken"
+msgstr "polo"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "helado"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Acceso a internet"
 
@@ -17191,7 +17485,10 @@ msgstr "Peso máximo (t)"
 msgid "Toll"
 msgstr "Peaxe"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17945,26 +18242,30 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Calmado de tráfico"
 
-msgid "bump"
-msgstr "badén"
+msgid "Bump"
+msgstr ""
 
-msgid "chicane"
-msgstr "chicán"
+msgid "Chicane"
+msgstr ""
 
-msgid "choker"
-msgstr "garganta"
+msgid "Choker"
+msgstr ""
 
-msgid "cushion"
-msgstr "coxín"
+msgid "Cushion"
+msgstr ""
 
-msgid "hump"
-msgstr "resalte"
+msgid "Hump"
+msgstr ""
 
-msgid "rumble_strip"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "table"
-msgstr "táboa"
+msgid "Rumble strip"
+msgstr ""
+
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Lugar de cruces frecuentes"
@@ -18113,6 +18414,9 @@ msgstr "Muralla da cidade"
 msgid "Retaining Wall"
 msgstr "Muro de contención"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -18284,6 +18588,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Liña de costa"
 
@@ -18346,14 +18653,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Acantilado"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr "Gastos de envío"
 
@@ -19282,66 +19581,6 @@ msgstr "Comida+Bebidas"
 msgid "Restaurant"
 msgstr "Restaurante"
 
-msgid "Cuisine"
-msgstr "Cociña"
-
-msgid "italian"
-msgstr "italiano"
-
-msgid "chinese"
-msgstr "chino"
-
-msgid "pizza"
-msgstr "pizzería"
-
-msgid "burger"
-msgstr "hamburguesería"
-
-msgid "greek"
-msgstr "grego"
-
-msgid "german"
-msgstr "alemán"
-
-msgid "indian"
-msgstr "india"
-
-msgid "regional"
-msgstr "rexional"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turco"
-
-msgid "asian"
-msgstr "asiático"
-
-msgid "thai"
-msgstr "tailandés"
-
-msgid "mexican"
-msgstr "mexicano"
-
-msgid "japanese"
-msgstr "xaponés"
-
-msgid "french"
-msgstr "francés"
-
-msgid "sandwich"
-msgstr "sandwich"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -19354,20 +19593,14 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Comida rápida"
 
-msgid "fish_and_chips"
-msgstr "fish_and_chips (patacas e pescado fritos)"
-
-msgid "chicken"
-msgstr "polo"
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "Cafetería"
 
-msgid "ice_cream"
-msgstr "helado"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Pub"
@@ -19544,6 +19777,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "Parque acuático"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "sauna"
 
@@ -19578,9 +19817,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Pesca"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19623,12 +19859,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
-msgstr "Estudio de grabación"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "son"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "video"
 
@@ -19732,6 +19974,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19891,6 +20137,125 @@ msgstr "(Utilizar código internacional, como +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinario"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Hidrante contra incendios"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "baixo terra"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Teléfono de emerxencia"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -20003,24 +20368,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "Tarxetas telefónicas"
 
-msgid "Emergency Phone"
-msgstr "Teléfono de emerxencia"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr "Reloxo"
 
@@ -20183,63 +20533,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Agochar"
-
-msgid "Lock"
-msgstr "Bloquear"
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr "Hidrante contra incendios"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "baixo terra"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
 msgstr ""
 
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
-msgstr ""
+msgid "Lock"
+msgstr "Bloquear"
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -20293,9 +20594,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "Pista de carreiras"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Campo de golf"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Mini golf"
 
@@ -20520,9 +20874,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "campo de golf"
 
@@ -20687,6 +21038,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20695,6 +21050,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20807,6 +21194,9 @@ msgstr "Muíño de vento"
 msgid "Gasometer"
 msgstr "Gasómetro"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -21208,6 +21598,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -21217,6 +21615,9 @@ msgstr "Ruínas"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Potencia"
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21648,11 +22049,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
-msgstr "Torre de electricidade"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21673,6 +22077,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Torre de electricidade"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21796,18 +22218,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21840,6 +22250,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Tendido eléctrico"
 
@@ -22097,6 +22510,9 @@ msgstr "Mobles"
 msgid "Kitchen"
 msgstr "Cociña"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Cortinas"
 
@@ -22139,12 +22555,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Farmacia"
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -22470,6 +22895,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Xeografía"
 
@@ -22638,6 +23138,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Acantilado"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Entrada de cova"
 
@@ -22838,6 +23346,51 @@ msgstr "Prado"
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Viñedo"
 
@@ -23632,9 +24185,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23656,7 +24206,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23700,6 +24250,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23715,6 +24274,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23742,6 +24304,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23783,7 +24348,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -27228,7 +27793,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27541,6 +28106,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27556,6 +28124,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Valores medidos"
 
@@ -28903,6 +29483,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28989,15 +29575,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -31000,6 +31577,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31589,6 +32169,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/he.po b/i18n/po/he.po
index de612de..309701e 100644
--- a/i18n/po/he.po
+++ b/i18n/po/he.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:44+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:45+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: he\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr "הפוך דרכים"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -442,6 +445,12 @@ msgstr "מחק"
 msgid "Delete selected objects."
 msgstr "מחק את הפריטים הנבחרים."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1175,9 +1184,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr "הפוך דרכים"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "הפוך את הכיוונים של כל הדרכים הנבחרות."
 
@@ -1511,6 +1517,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2233,6 +2249,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2274,6 +2295,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2631,7 +2661,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3196,9 +3229,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3257,6 +3287,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "מזרח"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3484,6 +3517,9 @@ msgstr "טקסט"
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3561,12 +3597,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3576,6 +3624,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "מרקטור"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4146,6 +4212,9 @@ msgstr "רווח לא תקין במפתח תכונה"
 msgid "Property values start or end with white space"
 msgstr "ערכי תכונות מתחילים או מסתיימים ברווח"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4840,9 +4909,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4901,12 +4967,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "קו הרוחב הגיאוגרפי בסמן העכבר."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "קו האורך הגיאוגרפי בסמן העכבר."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "כיוון (המצפן) של קטע הדרך מצויר."
 
@@ -4933,6 +4993,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "קו הרוחב הגיאוגרפי בסמן העכבר."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "קו האורך הגיאוגרפי בסמן העכבר."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5760,6 +5832,18 @@ msgstr "פתור"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "פתח את תיבת דו-שיח עבור כל הפריטים הנבחרים ברשימה שלהלן."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5876,6 +5960,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6301,6 +6388,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6649,19 +6739,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6763,6 +6847,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7090,7 +7186,7 @@ msgstr "ערוך את הערך של המפתח הנבחר עבור כל הפרי
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7126,6 +7222,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7193,6 +7292,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7305,9 +7425,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7338,108 +7455,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-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"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Select next Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort below"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "נמצאו {0} התנגשויות במהלך היבוא"
 
-msgid "Reverse"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "הזז את החברים הנבחרים מעלה"
-
-msgid "Relation Editor: Move Up"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr "הזז מטה את החברים שנבחרו"
-
-msgid "Relation Editor: Move Down"
-msgstr ""
+msgid "Reload"
+msgstr "טען מחדש"
 
-msgid "Remove the currently selected members from this relation"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Delete the currently edited relation"
-msgstr ""
+msgid "Apply Changes"
+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."
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Yes, create a conflict and close"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Click to create a conflict and close this relation editor"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "No, continue editing"
+msgid "Load relation"
 msgstr ""
 
-msgid "Click to return to the relation editor and to resume relation editing"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7458,6 +7550,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7466,7 +7561,10 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
+msgid "Delete the currently edited relation"
+msgstr ""
+
+msgid "Relation Editor: Download Members"
 msgstr ""
 
 msgid "Download all incomplete members"
@@ -7475,101 +7573,151 @@ msgstr ""
 msgid "Download Members"
 msgstr "הורד חברים"
 
-msgid "Relation Editor: Download Members"
+msgid "Download selected incomplete members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Move the currently selected members down"
+msgstr "הזז מטה את החברים שנבחרו"
+
+msgid "Relation Editor: Move Up"
 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] ""
+msgid "Move the currently selected members up"
+msgstr "הזז את החברים הנבחרים מעלה"
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Refresh"
+msgstr "רענן"
+
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
 msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "Select next Gap"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Refers to"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "נמצאו {0} התנגשויות במהלך היבוא"
+msgid "Reverse"
+msgstr ""
 
-msgid "including immediate children of parent relations"
+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 ""
 
-msgid "Load parent relations"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Reload"
-msgstr "טען מחדש"
+msgid "Click to create a conflict and close this relation editor"
+msgstr ""
 
-msgid "Loading parent relations"
+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 ""
 
-msgid "Edit the currently selected relation"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
 msgstr ""
 
-msgid "Apply Changes"
-msgstr "החל שינויים"
+msgid "Select objects for selected relation members"
+msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Sets a role for the selected members"
 msgstr ""
 
-msgid "Load relation"
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7958,6 +8106,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8061,10 +8214,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8244,9 +8401,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8759,7 +8913,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8768,32 +8922,29 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
+msgid "Load tile"
 msgstr ""
 
-msgid "Auto load tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Tiles"
-msgstr "טען את כל המשטחים"
-
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
-msgstr "שנה רזולוציה"
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
-msgstr "טען משטח"
+msgid "Change resolution"
+msgstr "שנה רזולוציה"
 
 msgid "Increase zoom"
 msgstr "הגדל"
@@ -8801,10 +8952,10 @@ msgstr "הגדל"
 msgid "Decrease zoom"
 msgstr "הקטן"
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9230,6 +9381,9 @@ msgstr ""
 "שגיאה בזמן ניתוח היסט.\n"
 "פורמט מצופה: {0}"
 
+msgid "Geotagged Images"
+msgstr "תמונות בעלות גאותגיות"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "מחלץ מיקומי GPS מ-EXIF"
 
@@ -9254,9 +9408,6 @@ msgstr "שגיאה בזמן קבלת קבצים מהסיפריה {0}\n"
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr "תמונות בעלות גאותגיות"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9611,9 +9762,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9658,6 +9807,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9714,11 +9869,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9834,6 +9984,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10194,6 +10350,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "מאפיינים מתקדמים"
 
@@ -10275,18 +10440,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10938,9 +11094,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr "שם תפריט"
 
@@ -11212,6 +11365,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11841,12 +11997,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "דת"
 
@@ -11936,6 +12086,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12006,6 +12159,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12049,6 +12205,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "עוד מידע על הכלי הזה"
 
@@ -12137,16 +12296,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12628,6 +12801,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "קבצי שרת OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12642,9 +12818,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr "קבצי שרת OSM"
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12837,9 +13010,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13008,21 +13178,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13034,6 +13211,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13051,19 +13236,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13746,9 +13920,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13780,6 +13951,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13788,9 +13962,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13924,6 +14095,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14234,9 +14408,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr "רענן"
-
 msgid "Rename File"
 msgstr ""
 
@@ -14330,6 +14501,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14396,6 +14570,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14492,13 +14669,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14621,6 +14801,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14641,9 +14824,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14714,6 +14894,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14747,10 +14936,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15446,6 +15638,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16101,13 +16296,112 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
+msgstr ""
+
+msgid "pizza"
+msgstr ""
+
+msgid "burger"
+msgstr ""
+
+msgid "greek"
+msgstr ""
+
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr "קבב"
+
+msgid "turkish"
+msgstr "תורכי"
+
+msgid "asian"
+msgstr "אסייתי"
+
+msgid "thai"
+msgstr "תאילנדי"
+
+msgid "mexican"
+msgstr "מקסיקני"
+
+msgid "japanese"
+msgstr "יפני"
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
 msgstr ""
 
 msgid "terminal"
@@ -16668,7 +16962,10 @@ msgstr "משקל מירבי (טונות)"
 msgid "Toll"
 msgstr "אגרה"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17422,25 +17719,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17590,6 +17891,9 @@ msgstr "חומת עיר"
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17760,6 +18064,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "קו חוף"
 
@@ -17822,14 +18129,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "צוק"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18758,66 +19057,6 @@ msgstr "מזון ושתיה"
 msgid "Restaurant"
 msgstr "מסעדה"
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr "קבב"
-
-msgid "turkish"
-msgstr "תורכי"
-
-msgid "asian"
-msgstr "אסייתי"
-
-msgid "thai"
-msgstr "תאילנדי"
-
-msgid "mexican"
-msgstr "מקסיקני"
-
-msgid "japanese"
-msgstr "יפני"
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18830,19 +19069,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr "מזון מהיר"
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "בית קפה"
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19020,6 +19253,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "פארק מים"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19054,9 +19293,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "דייג"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19099,12 +19335,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19208,6 +19450,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19367,6 +19613,125 @@ msgstr "(השתמש בקדומת בינלאומית, למשל +12-345-67890)"
 msgid "Veterinary"
 msgstr "וטרינרי"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "טלפון חירום"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19479,24 +19844,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "כרטיסי טלפון"
 
-msgid "Emergency Phone"
-msgstr "טלפון חירום"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19659,63 +20009,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
 msgstr ""
 
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19769,9 +20070,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "מסלול מירוצים"
 
+msgid "Golf"
+msgstr "גולף"
+
 msgid "Golf Course"
 msgstr "מגרש גולף"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "מיני-גולף"
 
@@ -19996,9 +20350,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "גולף"
-
 msgid "golf_course"
 msgstr "מגרש גולף"
 
@@ -20163,6 +20514,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20171,6 +20526,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20283,6 +20670,9 @@ msgstr "טחנת רוח"
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20684,6 +21074,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20693,6 +21091,9 @@ msgstr "חורבות"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21124,11 +21525,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
-msgstr "עמוד חשמל"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21149,6 +21553,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "עמוד חשמל"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21272,18 +21694,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21316,6 +21726,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "קו מתח"
 
@@ -21573,6 +21986,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21615,12 +22031,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21946,6 +22371,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22114,6 +22614,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "צוק"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "פתח מערה"
 
@@ -22314,6 +22822,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "כרם"
 
@@ -23108,9 +23661,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23132,7 +23682,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23176,6 +23726,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23191,6 +23750,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23218,6 +23780,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23259,7 +23824,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26686,7 +27251,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26999,6 +27564,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27014,6 +27582,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "ערכים נמדדים"
 
@@ -28356,6 +28936,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28442,15 +29028,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30437,6 +31014,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31025,6 +31605,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/hi.po b/i18n/po/hi.po
index b9b2828..b1a600d 100644
--- a/i18n/po/hi.po
+++ b/i18n/po/hi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:45+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:45+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: hi\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr "मिटाएँ"
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/hr.po b/i18n/po/hr.po
index d75bece..03dae16 100644
--- a/i18n/po/hr.po
+++ b/i18n/po/hr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2016-01-04 15:56+0000\n"
 "Last-Translator: gogo <trebelnik2 at gmail.com>\n"
 "Language-Team: Croatian <hr at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:00+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:59+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: hr\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -394,6 +394,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr "Preokreni smjer puta"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -449,6 +452,12 @@ msgstr "Obriši"
 msgid "Delete selected objects."
 msgstr "Obriši izabrane objekte."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1224,9 +1233,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr "Suprotan smjer"
 
-msgid "Reverse Ways"
-msgstr "Preokreni smjer puta"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Promijeni smjer svih izabranih puteva."
 
@@ -1589,6 +1595,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2316,6 +2332,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Dodaj selekciju u relaciju"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Dodaj selekciju u {0} relaciju"
@@ -2358,6 +2379,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2712,7 +2742,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3293,9 +3326,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3354,6 +3384,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3584,6 +3617,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3661,12 +3697,24 @@ msgstr ""
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3676,6 +3724,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4242,6 +4308,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4937,9 +5006,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4998,12 +5064,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -5030,6 +5090,18 @@ msgstr "Korisnik:"
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5852,6 +5924,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5968,6 +6052,9 @@ msgstr "Pomakni filter dolje"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Greška u filteru"
 
@@ -6394,6 +6481,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6742,19 +6832,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
-msgstr ""
+msgid "Download objects"
+msgstr "Preuzmi objekte"
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6856,6 +6940,18 @@ msgstr "otvori"
 msgid "closed"
 msgstr "zatvoreni"
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7183,7 +7279,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7219,6 +7315,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7287,6 +7386,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Omogući"
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7401,9 +7521,6 @@ msgstr "Nova relacija"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7434,108 +7551,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "Dogodilo se {0} konflikata tijekom uvoza"
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
-msgstr ""
+msgid "Reload"
+msgstr "Ponovno učitati"
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
-msgstr ""
+msgid "Create new relation in layer ''{0}''"
+msgstr "Napravi novu relaciju u sloju ''{0}''"
 
-msgid "Remove the currently selected members from this relation"
-msgstr ""
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Uredi novu relaciju u sloju ''{0}''"
 
-msgid "Relation Editor: Remove"
-msgstr ""
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Uredi relaciju #{0} u sloju ''{1}''"
 
-msgid "Delete the currently edited relation"
-msgstr ""
+msgid "Load relation"
+msgstr "Učitaj relaciju"
 
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7554,6 +7646,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7562,8 +7657,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr "Dodaj prazan tag"
+msgid "Delete the currently edited relation"
+msgstr ""
+
+msgid "Relation Editor: Download Members"
+msgstr ""
 
 msgid "Download all incomplete members"
 msgstr "Preuzmi sve nepotpune članove"
@@ -7571,102 +7669,152 @@ msgstr "Preuzmi sve nepotpune članove"
 msgid "Download Members"
 msgstr "Preuzmi članove"
 
-msgid "Relation Editor: Download Members"
+msgid "Download selected incomplete members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Move the currently selected members down"
 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] ""
+msgid "Relation Editor: Move Up"
+msgstr ""
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Refresh"
+msgstr ""
+
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
 msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "Select next Gap"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Refers to"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "Dogodilo se {0} konflikata tijekom uvoza"
+msgid "Reverse"
+msgstr ""
 
-msgid "including immediate children of parent relations"
+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 ""
 
-msgid "Load parent relations"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Reload"
-msgstr "Ponovno učitati"
+msgid "Click to create a conflict and close this relation editor"
+msgstr ""
 
-msgid "Loading parent relations"
+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 ""
 
-msgid "Edit the currently selected relation"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Select objects for selected relation members"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Napravi novu relaciju u sloju ''{0}''"
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Uredi novu relaciju u sloju ''{0}''"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Uredi relaciju #{0} u sloju ''{1}''"
+msgid "Sets a role for the selected members"
+msgstr ""
 
-msgid "Load relation"
-msgstr "Učitaj relaciju"
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "put je spojen"
@@ -8053,6 +8201,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8168,10 +8321,14 @@ msgid "Upload"
 msgstr "Upload"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8351,9 +8508,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr "Preuzmi objekte"
-
 msgid "Initializing nodes to download ..."
 msgstr "Inicjaliziram ročke za preuzimanje ..."
 
@@ -8877,7 +9031,7 @@ msgstr[0] "{0} objekt za izbrisati:"
 msgstr[1] "{0} objekta za izbrisati:"
 msgstr[2] "{0} objekta za izbrisati:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8886,16 +9040,22 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr "Automatski zum"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Automatski učitaj naslove"
 
-msgid "Load All Tiles"
-msgstr "Učitaj sve naslove"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Load all error tiles"
 msgstr ""
 
 msgid "Zoom to native resolution"
@@ -8904,25 +9064,16 @@ msgstr ""
 msgid "Change resolution"
 msgstr "Promijeni rezoluciju"
 
-msgid "Failed to create tile source"
-msgstr ""
-
-msgid "Show Errors"
-msgstr "Pokaži pogreške"
-
-msgid "Load Tile"
-msgstr "Učitaj naslov"
-
 msgid "Increase zoom"
 msgstr "Povećaj zim"
 
 msgid "Decrease zoom"
 msgstr "Smanji zum"
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9346,6 +9497,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9370,9 +9524,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} slika je učitana."
@@ -9724,9 +9875,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9771,6 +9920,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9827,11 +9982,6 @@ msgstr "Korisničko ime "
 msgid "Password: "
 msgstr "Lozinka: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9947,6 +10097,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10307,6 +10463,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10388,18 +10553,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -11051,9 +11207,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11325,6 +11478,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11954,12 +12110,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -12049,6 +12199,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12119,6 +12272,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12162,6 +12318,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12250,16 +12409,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12739,6 +12912,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12753,9 +12929,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12948,9 +13121,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13119,21 +13289,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13145,6 +13322,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13162,19 +13347,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13857,9 +14031,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13891,6 +14062,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13899,9 +14073,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -14035,6 +14206,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14343,9 +14517,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14439,6 +14610,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14505,6 +14679,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14601,13 +14778,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14730,6 +14910,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14750,9 +14933,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14823,10 +15003,19 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
-msgid "Ireland British War Office 1:25k GSGS 3906"
+msgid "FÖMI ortophoto 2000"
 msgstr ""
 
-msgid "Ireland British War Office One-Inch 1941-43 GSGS 4136"
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
+msgid "Ireland British War Office 1:25k GSGS 3906"
+msgstr ""
+
+msgid "Ireland British War Office One-Inch 1941-43 GSGS 4136"
 msgstr ""
 
 msgid "Ireland Bartholomew Quarter-Inch 1940"
@@ -14856,10 +15045,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15555,6 +15747,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16210,6 +16405,105 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
+msgid "Cuisine"
+msgstr ""
+
+msgid "italian"
+msgstr ""
+
+msgid "chinese"
+msgstr ""
+
+msgid "pizza"
+msgstr ""
+
+msgid "burger"
+msgstr ""
+
+msgid "greek"
+msgstr ""
+
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr ""
 
@@ -16777,7 +17071,10 @@ msgstr "Max. težina (t)"
 msgid "Toll"
 msgstr "Cestarina (Toll)"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17531,25 +17828,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Objekti za uporavanje prometa"
 
-msgid "bump"
-msgstr "Uspornik (ležeći policajac)"
+msgid "Bump"
+msgstr ""
 
-msgid "chicane"
-msgstr "šikana (chicane)"
+msgid "Chicane"
+msgstr ""
+
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
+msgid "Cushion"
 msgstr ""
 
-msgid "cushion"
+msgid "Hump"
 msgstr ""
 
-msgid "hump"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17699,6 +18000,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17869,6 +18173,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17931,14 +18238,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18867,66 +19166,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18939,19 +19178,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19129,6 +19362,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19163,9 +19402,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19208,12 +19444,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19317,6 +19559,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19476,6 +19722,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Telefon za hitne slučajeve"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19588,24 +19953,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr "Telefon za hitne slučajeve"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19768,63 +20118,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19878,9 +20179,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -20105,9 +20459,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20272,6 +20623,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20280,6 +20635,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20392,6 +20779,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20793,6 +21183,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20802,6 +21200,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21233,10 +21634,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21258,6 +21662,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21381,18 +21803,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21425,6 +21835,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21682,6 +22095,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21724,12 +22140,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -22055,6 +22480,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22223,6 +22723,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22423,6 +22931,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23217,9 +23770,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23241,7 +23791,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23285,6 +23835,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23300,6 +23859,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23327,6 +23889,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23368,7 +23933,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26792,7 +27357,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27105,6 +27670,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27120,6 +27688,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28465,6 +29045,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr "Pogrešna vrijednost"
+
 msgid "added"
 msgstr "dodano"
 
@@ -28551,15 +29137,6 @@ msgstr "Uhvati"
 msgid "Join"
 msgstr "Spoji"
 
-msgid "Enable"
-msgstr "Omogući"
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr "Pogrešna vrijednost"
-
 msgid "moved"
 msgstr "pomaknuto"
 
@@ -30547,6 +31124,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31136,6 +31716,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/ht.po b/i18n/po/ht.po
index fd84ffe..e846483 100644
--- a/i18n/po/ht.po
+++ b/i18n/po/ht.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:44+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:44+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/hu.po b/i18n/po/hu.po
index ae85002..227e3bd 100644
--- a/i18n/po/hu.po
+++ b/i18n/po/hu.po
@@ -8,16 +8,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2015-11-18 10:01+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-04 21:15+0000\n"
 "Last-Translator: Báthory Péter <bathory86p at gmail.com>\n"
 "Language-Team: Hungarian <kde-l10n-hu at kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:45+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:46+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: hu\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -406,6 +406,9 @@ msgid ""
 msgstr ""
 "Nem lehet a vonalakat egyesíteni<br>(Nem őket egy pontsorozattá olvasztani)"
 
+msgid "Reverse Ways"
+msgstr "Vonalak megfordítása"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "{0} vonal egyesítése"
@@ -463,6 +466,12 @@ msgstr "Törlés"
 msgid "Delete selected objects."
 msgstr "Kijelölt objektumok törlése."
 
+msgid "Delete Layer"
+msgstr "Réteg törlése"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Törli az aktív réteget, de nem törli a hozzá tartozó fájlt."
+
 msgid "Toggle dialogs panel"
 msgstr "Párbeszédpanelek megjelenítése"
 
@@ -1283,9 +1292,6 @@ msgstr "Újraindítás később."
 msgid "Reverse way"
 msgstr "Vonal megfordítása"
 
-msgid "Reverse Ways"
-msgstr "Vonalak megfordítása"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Az összes kijelölt vonal irányának megfordítása."
 
@@ -1332,13 +1338,13 @@ msgid "You must enter a search term"
 msgstr "Meg kell adnod keresési kifejezést"
 
 msgid "Select All"
-msgstr "Mindent kijelöl"
+msgstr "Összes kiválasztása"
 
 msgid ""
 "Select all undeleted objects in the data layer. This selects incomplete "
 "objects too."
 msgstr ""
-"Az adatréteg minden nem törölt objektumának kijelölése. Ez kijelöli a "
+"Az adatréteg minden nem törölt objektumának kiválasztása. Ez kiválasztja a "
 "félkész objektumokat is."
 
 msgid "Non-branching way sequences"
@@ -1464,7 +1470,7 @@ msgid "Split a way at the selected node."
 msgstr "Vonal kettévágása a kijelölt pontnál."
 
 msgid "Cannot split since another split operation is already in progress"
-msgstr ""
+msgstr "Nem lehet elvágni, mivel egy másik vágási művelet is folyamatban van"
 
 msgid ""
 "The current selection cannot be used for splitting - no node is selected."
@@ -1598,25 +1604,25 @@ msgstr ""
 "kijelölődik."
 
 msgid "Existing node"
-msgstr ""
+msgstr "Meglévő pont"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Mindegyik pont"
 
 msgid "New node"
-msgstr ""
+msgstr "Új pont"
 
 msgid "Tags / Memberships"
 msgstr "Címkék / Tagságok"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Szétválasztás"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "A címkéket melyik pont örökölje?"
 
 msgid "Where should the memberships of this node be put?"
-msgstr ""
+msgstr "A kapcsolat tagságokat melyik pont örökölje?"
 
 msgid "Unglued Node"
 msgstr "Szétválasztott pont"
@@ -1650,6 +1656,16 @@ msgstr ""
 "Félkész objektumokat próbáltál szétválasztani.<br>Ez gondot okozhat, mert "
 "nem látod a valódi objektumot.<br>Biztosan szétválasztod?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "A szétválasztás {0} kapcsolatot érintett: {1}"
+msgstr[1] "A szétválasztás {0} kapcsolatot érintett: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Győződj meg róla, hogy a kapcsolat nem szakadt meg!"
+msgstr[1] "Győződj meg róla, hogy a kapcsolat nem szakadt meg!"
+
 msgid "Disconnect Node from Way"
 msgstr "Pont leválasztása vonalról"
 
@@ -1689,7 +1705,7 @@ msgid "Undo {0}"
 msgstr "{0} visszavonása"
 
 msgid "Unselect All"
-msgstr "Kijelölés megszüntetése"
+msgstr "Kiválasztás megszüntetése"
 
 msgid "Unselect all objects."
 msgstr "Minden objektum kijelölésének megszüntetése."
@@ -2427,6 +2443,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Kiválasztott elemek kapcsolathoz adása"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Kiválasztott elemek {0} kapcsolathoz adása"
@@ -2473,6 +2494,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Megerősítés"
 
+msgid "List of recent relations"
+msgstr "Legutóbbi kapcsolatok listája"
+
+msgid "Open recent relation"
+msgstr "Legutóbbi kapcsolat megnyitása"
+
+msgid "Relation Editor: {0}"
+msgstr "Kapcsolat szerkesztő: {0}"
+
 msgid "Select in relation list"
 msgstr "Kijelölés a kapcsolat listában"
 
@@ -2690,7 +2720,7 @@ msgid "metadata"
 msgstr "metaadat"
 
 msgid "objects changed by user"
-msgstr ""
+msgstr "a felhasználó által módosított objektumok"
 
 msgid "objects with given ID"
 msgstr "adott azonosítójú objektumok"
@@ -2849,8 +2879,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Hiányzó <i>min</i>/<i>max</i> ''timestamp'' után"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr "Elemazonosító tartományok szükségesek"
@@ -3336,13 +3369,13 @@ msgid "Restoring files"
 msgstr "Fájlok visszaállítása"
 
 msgid "Unable to delete backup file {0}"
-msgstr ""
+msgstr "{0} biztonsági mentés fájl nem törölhető"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "{0} PID fájl nem törölhető"
 
 msgid "Unable to delete archived backup file {0}"
-msgstr ""
+msgstr "{0} archivált biztonsági mentés fájl nem törölhető"
 
 msgid "Illegal latitude value ''{0}''"
 msgstr "Rossz széleségi érték: ''{0}''"
@@ -3469,9 +3502,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr " ({0}. sor {1}. oszlopában)"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "A {0} beállítás törölve, mivel már nincs használatban."
 
@@ -3530,6 +3560,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "K"
 
+msgid "Update default entries"
+msgstr "Alapértelmezett bejegyzések frissítése"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr "''{0}'' vetület nem található, ''{1}'' könyvjelző nem használható"
 
@@ -3778,6 +3811,9 @@ msgstr "szöveg"
 msgid "areatext"
 msgstr "területszöveg"
 
+msgid " (at line {0}, column {1})"
+msgstr " ({0}. sor {1}. oszlopában)"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 "Az UTM vetülethez (''+proj=utm'') szükséges a ''+zone=...'' paraméter "
@@ -3860,12 +3896,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr ""
+msgid "Albers Equal Area"
+msgstr "Albers területtartó"
 
 msgid "Parameter ''{0}'' required."
 msgstr "''{0}'' paraméter kötelező."
 
+msgid "standard parallels are opposite"
+msgstr "metszési paralellkörök fordítottak"
+
+msgid "Cassini-Soldner"
+msgstr "Cassini-Soldner"
+
+msgid "Double Stereographic"
+msgstr "Dupla sztereografikus"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Lambert területtartó síkvetület"
+
 msgid "Lambert Conformal Conic"
 msgstr "Lambert szögtartó kúpvetület"
 
@@ -3875,11 +3923,29 @@ msgstr "Lat/lon (geodéziai)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr "Ferdetengelyű Mercator"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr "Poláris sztereografikus"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr "Poláris sztereografikus: „{0}” paraméter 90 vagy -90 kell legyen."
+
 msgid "Swiss Oblique Mercator"
-msgstr "Svájci ferde Mercator"
+msgstr "Svájci ferdetengelyű Mercator"
 
 msgid "Transverse Mercator"
-msgstr "Átlós Mercator"
+msgstr "Transzverzális Mercator"
 
 msgid ""
 "Error initializing test {0}:\n"
@@ -4473,6 +4539,9 @@ msgstr "Érvénytelen szóköz a tulajdonságkulcsban"
 msgid "Property values start or end with white space"
 msgstr "Tulajdonságérték szóközzel kezdődik vagy végződik"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Tulajdonságérték HTML kódot tartalmaz"
 
@@ -4585,7 +4654,7 @@ msgid "No \"to\" way found"
 msgstr "Nem található \"to\" vonal"
 
 msgid "\"from\" way equals \"to\" way"
-msgstr ""
+msgstr "a „from” vonal megegyezik a „to” vonallal"
 
 msgid "No \"via\" node or way found"
 msgstr "Nem található \"via\" pont"
@@ -5202,9 +5271,6 @@ msgstr "Légifelvételek beállításai"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Kattintásra megnyílik a légifelvételek fül a beállításokból"
 
-msgid "Search menu items"
-msgstr "Menüelemek keresése"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Audio"
@@ -5263,12 +5329,6 @@ msgstr "Státuszsor előtér: aktív"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "A fölrdajzi szélesség az egérmutató alatt."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "A fölrdajzi hosszúság az egérmutató alatt."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "A rajzolt vonalszakasz (iránytű szerinti) iránya."
 
@@ -5297,6 +5357,18 @@ msgstr "Felhasználó:"
 msgid "Do not hide status bar"
 msgstr "Ne rejtse el az állapotsort"
 
+msgid "The northing at the mouse pointer."
+msgstr "Az északi koordináta az egérmutató alatt."
+
+msgid "The easting at the mouse pointer."
+msgstr "A keleti koordináta az egérmutató alatt."
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "A fölrdajzi szélesség az egérmutató alatt."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "A fölrdajzi hosszúság az egérmutató alatt."
+
 msgid "System of measurement changed to {0}"
 msgstr "Mérési rendszer módosult erre: {0}"
 
@@ -6192,6 +6264,18 @@ msgstr "Megold"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "Egyesítő ablak megnyitása a kijelölt objektumokkal."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "{0} ütközés észlelve."
@@ -6315,6 +6399,9 @@ msgstr "Szűrő mozgatása lejjebb"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Szűrő rejtett:{0} letiltott:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Hiba a szűrőben"
 
@@ -6767,6 +6854,9 @@ msgstr "Stílusbeállítások"
 msgid "Customize the style"
 msgstr "Stílus testreszabása"
 
+msgid "Search menu items"
+msgstr "Menüelemek keresése"
+
 msgid "Mini map"
 msgstr "Mini térkép"
 
@@ -7133,21 +7223,15 @@ msgstr[1] ""
 "<html>A kiválasztott objektumok nem elérhetőek a jelenlegi<br>''{0}'' "
 "szerkesztési rétegen.</html>"
 
-msgid "Download content"
-msgstr "Tartalom letöltése"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Módosításcsomag tartalmának letöltése az OSM szerverről"
-
-msgid "Update content"
-msgstr "Tartalom frissítése"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Módosításcsomag-tartalom frissítése az OSM szerverről"
-
 msgid "Download and show the history of the selected objects"
 msgstr "A kiválasztott objektum előzményeinek letöltése és megjelenítése"
 
+msgid "Download objects"
+msgstr "Objektumok letöltése"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "Kiválasztás a rétegen"
 
@@ -7251,6 +7335,18 @@ msgstr "nyitott"
 msgid "closed"
 msgstr "lezárt"
 
+msgid "Download content"
+msgstr "Tartalom letöltése"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Módosításcsomag tartalmának letöltése az OSM szerverről"
+
+msgid "Update content"
+msgstr "Tartalom frissítése"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Módosításcsomag-tartalom frissítése az OSM szerverről"
+
 msgid "Changeset ID: "
 msgstr "Módosításcsomag azonosító: "
 
@@ -7624,8 +7720,8 @@ msgstr "A kijelölt kulcs értékének szereksztése az összes objektumban"
 msgid "Edit Tags"
 msgstr "Címkék szerkesztése"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "OSM wiki súgó oldala a címkéhez (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Böngésző indítása a kijelölt objektum wiki-leírásával"
@@ -7660,6 +7756,9 @@ msgstr "Összes Kulcs/Érték másolása"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Az összes címke kulcs-érték párjának másolása vágólapra"
 
+msgid "Copy Tags"
+msgstr "Címkék másolása"
+
 msgid "Search Key/Value/Type"
 msgstr "Kulcs/Érték/Típus keresése"
 
@@ -7729,6 +7828,27 @@ msgstr "Nemrég használt címkék száma"
 msgid "Remember last used tags after a restart"
 msgstr "Emlékezzen a legutóbb használt cimkékre újraindítás után is"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Engedélyez"
+
+msgid "Hide"
+msgstr "Rejtett"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "az első javaslat elfogadása"
 
@@ -7846,9 +7966,6 @@ msgstr "Új kapcsolat"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Kapcsolatszerkesztő aktiválása ''{0}'' kapcsolattal ''{1}'' rétegen"
 
-msgid "Relation Editor: {0}"
-msgstr "Kapcsolat szerkesztő: {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 "
@@ -7889,6 +8006,73 @@ msgstr ""
 "hivatkozásokat hoz létre, ezért nem ajánlott.<br>''{0}'' kapcsolat "
 "átugrása.</html>"
 
+msgid "Select previous Gap"
+msgstr "Előző rés kijelölése"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Az előző hézagot okozó kapcsolattag kijelölése"
+
+msgid "Select next Gap"
+msgstr "Következő rés kijelölése"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "A következő hézagot okozó kapcsolattag kijelölése"
+
+msgid "Zoom to Gap"
+msgstr "Közelítés a résre"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "A vonalszakaszban lévő résre közelítés"
+
+msgid "Refers to"
+msgstr "Erre vonatkozik"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
+
+msgid "Download referring relations"
+msgstr "Kapcsolódó kapcsolatok letöltése"
+
+msgid "There were {0} conflicts during import."
+msgstr "{0} ütközés volt az importálás során."
+
+msgid "including immediate children of parent relations"
+msgstr "Beleértve a szülő-kapcsolat közvetlen gyerekét"
+
+msgid "Load parent relations"
+msgstr "Szülő-kapcsolatok letöltése"
+
+msgid "Reload"
+msgstr "Újratöltés"
+
+msgid "Loading parent relations"
+msgstr "Szülő-kapcsolatok letöltése"
+
+msgid "Edit the currently selected relation"
+msgstr "A kijelölt kapcsolatok szerkesztése"
+
+msgid "Apply Changes"
+msgstr "VáltoztatásokAlkalmazása"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Új kapcsolat létrehozása a(z) ''{0}'' rétegen"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Új kapcsolat szerkesztése a(z) ''{0}'' rétegen"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "#{0} kapcsolat szerkesztése a(z) ''{1}'' rétegen"
+
+msgid "Load relation"
+msgstr "Kapcsolat betöltése"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Összes, az adathalmazban kijelölt objektum hozzáadása az utolsó kijelölt tag "
+"után"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -7901,70 +8085,133 @@ msgstr ""
 "Összes, az adathalmazban kijelölt objektum hozzáadása az első kijelölt tag "
 "elé"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Apply the current updates"
+msgstr "Aktuális frissítések alkalmazása"
+
+msgid "Cancel the updates and close the dialog"
+msgstr "Frissítés megszakítása és a dialógusablak bezárása"
+
+msgid "Yes, save the changes and close"
+msgstr "Igen, változtatások mentése és bezárás"
+
+msgid "Click to save the changes and close this relation editor"
 msgstr ""
-"Összes, az adathalmazban kijelölt objektum hozzáadása az utolsó kijelölt tag "
-"után"
+"Kattints a változtatások mentéséhez és a kapcsolatszerkesztő bezárásához"
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "No, discard the changes and close"
+msgstr "Nem, változtatások elvetése és bezárás"
+
+msgid "Click to discard the changes and close this relation editor"
 msgstr ""
-"Az összes tag eltávolítása, ami bármelyik kijelölt objektumra hivatkozik"
+"Kattints a változtatások elvetéséhez és a kapcsolatszerkesztő bezárásához"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Cancel, continue editing"
+msgstr "Mégsem, szerkesztés folytatása"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Kapcsolattagok kijelölése, amik a jelenleg kiválasztott objektumokra "
-"hivatkoznak"
+"Kattints a kapcsolatszerkesztőhöz való visszatéréshez és a szerkesztés "
+"folytatásához"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 msgstr ""
-"Kapcsolattagok kijelölése, amik a jelenlegi kiválasztás {0} objektumára "
-"hivatkoznak"
+"<html>A kapcsolat megváltozott.<br><br>Szeretnéd menteni a "
+"változtatásaidat?</html>"
 
-msgid "Select objects for selected relation members"
-msgstr "A kijelölt kapcsolattagoknak megfelelő objektumok kiválasztása"
+msgid "Unsaved changes"
+msgstr "Mentetlen változtatások"
 
-msgid "Sort the relation members"
-msgstr "Kapcsolattagok rendezése"
+msgid "Delete the currently edited relation"
+msgstr "A jelenleg szerkesztett kapcsolat törlése"
 
-msgid "Relation Editor: Sort"
-msgstr "Kapcsolatszerkesztő: rendezés"
+msgid "Relation Editor: Download Members"
+msgstr "Kapcsolatszerkesztő: Tagok letöltése"
 
-msgid "Sort below"
-msgstr "Rendezés alatta"
+msgid "Download all incomplete members"
+msgstr "Összes félkész tag letöltése"
 
-msgid "Sort the selected relation members and all members below"
-msgstr "A kiválasztott kapcsolattag és az alatta lévők sorbarendezése"
+msgid "Download Members"
+msgstr "Tagok letöltése"
 
-msgid "Reverse the order of the relation members"
-msgstr "Kapcsolattagok sorrendjének megfordítása"
+msgid "Download selected incomplete members"
+msgstr "Kiválasztott félkész tagok letöltése"
 
-msgid "Reverse"
-msgstr "Fordított"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Azon kapcsolat szerkesztése, amikre a kijelölt kapcsolat hivatkozik"
 
-msgid "Move the currently selected members up"
-msgstr "A kijelölt tagok mozgatása feljebb"
+msgid "Relation Editor: Move Down"
+msgstr "Kapcsolatszerkesztő: Mozgatás le"
+
+msgid "Move the currently selected members down"
+msgstr "A kijelölt tagok mozgatása lejjebb"
 
 msgid "Relation Editor: Move Up"
 msgstr "Kapcsolatszerkesztő: Mozgatás fel"
 
-msgid "Move the currently selected members down"
-msgstr "A kijelölt tagok mozgatása lejjebb"
+msgid "Move the currently selected members up"
+msgstr "A kijelölt tagok mozgatása feljebb"
 
-msgid "Relation Editor: Move Down"
-msgstr "Kapcsolatszerkesztő: Mozgatás le"
+msgid "Apply the updates and close the dialog"
+msgstr "Változtatások alkalmazása és a dialógusablak bezárása"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "A kijelölt tagok törlése a kapcsolatból"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"A tagok nem adhatók hozzá a beillesztés pufferből, mert nem tagjai az "
+"aktuális rétegnek"
+
+msgid "Relation Editor: Refresh"
+msgstr ""
+
+msgid "Refresh relation from data layer"
+msgstr ""
+
+msgid "Refresh"
+msgstr "Frissítés"
+
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+
+msgid "Click to close window"
+msgstr ""
+
+msgid "No, continue editing"
+msgstr "Nem, szerkesztés folytatása"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+
+msgid "Deleted relation"
+msgstr ""
 
 msgid "Relation Editor: Remove"
 msgstr "Kapcsolatszerkesztő: eltávolítás"
 
-msgid "Delete the currently edited relation"
-msgstr "A jelenleg szerkesztett kapcsolat törlése"
+msgid "Remove the currently selected members from this relation"
+msgstr "A kijelölt tagok törlése a kapcsolatból"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
+"Az összes tag eltávolítása, ami bármelyik kijelölt objektumra hivatkozik"
+
+msgid "Reverse the order of the relation members"
+msgstr "Kapcsolattagok sorrendjének megfordítása"
+
+msgid "Reverse"
+msgstr "Fordított"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -7982,14 +8229,6 @@ msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 "Kattints az ütközés létrehozásához és a kapcsolatszerkesztő bezárásához"
 
-msgid "No, continue editing"
-msgstr "Nem, szerkesztés folytatása"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Kattints a kapcsolatszerkesztőhöz való visszatéréshez és a szerkesztés "
-"folytatásához"
-
 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 "
@@ -8008,56 +8247,20 @@ msgstr ""
 "objektummal:<br>''{1}''.<br>Kérlek előbb ezt az ütközést oldd meg, majd "
 "próbáld újra.</html>"
 
-msgid "Apply the current updates"
-msgstr "Aktuális frissítések alkalmazása"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Változtatások alkalmazása és a dialógusablak bezárása"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Frissítés megszakítása és a dialógusablak bezárása"
-
-msgid "Yes, save the changes and close"
-msgstr "Igen, változtatások mentése és bezárás"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr ""
-"Kattints a változtatások mentéséhez és a kapcsolatszerkesztő bezárásához"
-
-msgid "No, discard the changes and close"
-msgstr "Nem, változtatások elvetése és bezárás"
+msgid "Select objects for selected relation members"
+msgstr "A kijelölt kapcsolattagoknak megfelelő objektumok kiválasztása"
 
-msgid "Click to discard the changes and close this relation editor"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
-"Kattints a változtatások elvetéséhez és a kapcsolatszerkesztő bezárásához"
-
-msgid "Cancel, continue editing"
-msgstr "Mégsem, szerkesztés folytatása"
+"Kapcsolattagok kijelölése, amik a jelenleg kiválasztott objektumokra "
+"hivatkoznak"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
-"<html>A kapcsolat megváltozott.<br><br>Szeretnéd menteni a "
-"változtatásaidat?</html>"
-
-msgid "Unsaved changes"
-msgstr "Mentetlen változtatások"
-
-msgid "Add an empty tag"
-msgstr "Üres címke hozzáadása"
-
-msgid "Download all incomplete members"
-msgstr "Összes félkész tag letöltése"
-
-msgid "Download Members"
-msgstr "Tagok letöltése"
-
-msgid "Relation Editor: Download Members"
-msgstr "Kapcsolatszerkesztő: Tagok letöltése"
-
-msgid "Download selected incomplete members"
-msgstr "Kiválasztott félkész tagok letöltése"
+"Kapcsolattagok kijelölése, amik a jelenlegi kiválasztás {0} objektumára "
+"hivatkoznak"
 
 msgid "Sets a role for the selected members"
 msgstr "Szerep beállítása a kiválasztott tagoknak"
@@ -8085,72 +8288,17 @@ msgstr "Nem, ne alkalmazd"
 msgid "Confirm empty role"
 msgstr "Üres szerep megerősítése"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Azon kapcsolat szerkesztése, amikre a kijelölt kapcsolat hivatkozik"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"A tagok nem adhatók hozzá a beillesztés pufferből, mert nem tagjai az "
-"aktuális rétegnek"
-
-msgid "Select previous Gap"
-msgstr "Előző rés kijelölése"
-
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Az előző hézagot okozó kapcsolattag kijelölése"
-
-msgid "Select next Gap"
-msgstr "Következő rés kijelölése"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "A következő hézagot okozó kapcsolattag kijelölése"
-
-msgid "Zoom to Gap"
-msgstr "Közelítés a résre"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "A vonalszakaszban lévő résre közelítés"
-
-msgid "Refers to"
-msgstr "Erre vonatkozik"
-
-msgid "Download referring relations"
-msgstr "Kapcsolódó kapcsolatok letöltése"
-
-msgid "There were {0} conflicts during import."
-msgstr "{0} ütközés volt az importálás során."
-
-msgid "including immediate children of parent relations"
-msgstr "Beleértve a szülő-kapcsolat közvetlen gyerekét"
-
-msgid "Load parent relations"
-msgstr "Szülő-kapcsolatok letöltése"
-
-msgid "Reload"
-msgstr "Újratöltés"
-
-msgid "Loading parent relations"
-msgstr "Szülő-kapcsolatok letöltése"
-
-msgid "Edit the currently selected relation"
-msgstr "A kijelölt kapcsolatok szerkesztése"
-
-msgid "Apply Changes"
-msgstr "VáltoztatásokAlkalmazása"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Új kapcsolat létrehozása a(z) ''{0}'' rétegen"
+msgid "Relation Editor: Sort"
+msgstr "Kapcsolatszerkesztő: rendezés"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Új kapcsolat szerkesztése a(z) ''{0}'' rétegen"
+msgid "Sort the relation members"
+msgstr "Kapcsolattagok rendezése"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "#{0} kapcsolat szerkesztése a(z) ''{1}'' rétegen"
+msgid "Sort below"
+msgstr "Rendezés alatta"
 
-msgid "Load relation"
-msgstr "Kapcsolat betöltése"
+msgid "Sort the selected relation members and all members below"
+msgstr "A kiválasztott kapcsolattag és az alatta lévők sorbarendezése"
 
 msgid "way is connected"
 msgstr "vonal csatlakoztatva"
@@ -8587,6 +8735,11 @@ msgstr ""
 "<html><strong>{0}</strong> változat ekkor készült: "
 "<strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "Módosításcsomag"
 
@@ -8715,15 +8868,15 @@ msgid "Upload"
 msgstr "Feltöltés"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Válaszd ki, hogy mi történjen amikor megnyomod a baloldali "
-"gombot..<br/>Jelöld be a  \"Feltöltés\"-t hogy a változtatásokat feltöltsd "
-"az OSM szerverre.<br/>Jelöld be a \"Mentés\"-t hogy az adatokat elmentsd a "
-"bal oldalon megadott fájlba.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Adj egy rövid magyarázatot a feltöltendő változtatásokhoz:"
@@ -8922,9 +9075,6 @@ msgid ""
 msgstr ""
 "Nem sikerült a jelenlegi JOSM felhasználó adatait lekérni. Kivétel: {0}"
 
-msgid "Download objects"
-msgstr "Objektumok letöltése"
-
 msgid "Initializing nodes to download ..."
 msgstr "Pontok előkészítes letöltéshez ..."
 
@@ -9527,8 +9677,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} törlendő objektum:"
 msgstr[1] "{0} törlendő objektum:"
 
-msgid "Show Tile Info"
-msgstr "Csempe infó megjelenítése"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr "Csempe infó"
@@ -9536,17 +9686,23 @@ msgstr "Csempe infó"
 msgid "Metadata "
 msgstr "Metaadatok "
 
-msgid "Auto Zoom"
-msgstr "Automatikus nagyítás"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Csempék automatikus betöltése"
 
-msgid "Load All Tiles"
-msgstr "Összes csempe betöltése"
+msgid "Show errors"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "Összes hibás csempe betöltése"
+msgid "Load all tiles"
+msgstr ""
+
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "Nagyítás eredeti felbontásra"
@@ -9554,26 +9710,17 @@ msgstr "Nagyítás eredeti felbontásra"
 msgid "Change resolution"
 msgstr "Felbontás váltása"
 
-msgid "Failed to create tile source"
-msgstr "Csempeforrás létrehozása nem sikerült"
-
-msgid "Show Errors"
-msgstr "Hibák mutatása"
-
-msgid "Load Tile"
-msgstr "Csempe betöltése"
-
 msgid "Increase zoom"
 msgstr "Nagyítás növelése"
 
 msgid "Decrease zoom"
 msgstr "Nagyítás csökkentése"
 
-msgid "Snap to tile size"
-msgstr "Csempemérethez illesztés"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Csempe cache ürítése"
+msgid "Failed to create tile source"
+msgstr "Csempeforrás létrehozása nem sikerült"
 
 msgid "zoom in to load any tiles"
 msgstr "csempék megjelenítéséhez közelíts"
@@ -9621,6 +9768,8 @@ msgid ""
 "Aerial imagery \"{0}\" might be misaligned. Please check its offset using "
 "GPS tracks!"
 msgstr ""
+"A(z) „{0}” légifelvétel el lehet tolódva. Kérlek, ellenőrizd az elcsúszást "
+"GPS nyomvonalak segítségével!"
 
 msgid "http://wiki.openstreetmap.org/wiki/Using_Imagery"
 msgstr "http://wiki.openstreetmap.org/wiki/Using_Imagery"
@@ -9629,7 +9778,7 @@ msgid "Details..."
 msgstr "Részletek…"
 
 msgid "Do not show this message again"
-msgstr ""
+msgstr "Ne jelenjen meg többé ez az üzenet"
 
 msgid "Hide this message and never show it again"
 msgstr "Üzenet végleges elrejtése"
@@ -9833,6 +9982,9 @@ msgid ""
 " Supported projections are: {2}\n"
 "Change the projection again or remove the layer."
 msgstr ""
+"{0} réteg nem támogatja az új vetületet: {1}.\n"
+" A támogatott vetületek: {2}\n"
+"Módosítsd a vetületet, vagy távolítsd el a réteget."
 
 msgid "Correlate to GPX"
 msgstr "Korrelálás GPX-hez"
@@ -10019,6 +10171,9 @@ msgstr ""
 "Hiba az eltolás értelmezésekor.\n"
 "Várt formátum: {0}"
 
+msgid "Geotagged Images"
+msgstr "Geotagelt képek"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "GPS helyek kibontása az EXIF adatokból"
 
@@ -10043,9 +10198,6 @@ msgstr "{0} könyvtár olvasása közben hiba történt\n"
 msgid "One of the selected files was null"
 msgstr "Az egyik kiválasztott fájl üres volt"
 
-msgid "Geotagged Images"
-msgstr "Geotagelt képek"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} kép betöltve."
@@ -10438,12 +10590,8 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Nem sikerült értelmezni a térképstílusokat itt: \"{0}\". Hiba: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Érvénytelenített ''{0}''  került felismerésre itt: ''{1}'' . Ez hamarosan "
-"törlésre kerül. Használd inkább ezt: ''{2}'' ."
+msgid "Failed to locate image ''{0}''"
+msgstr "A kép nem található ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Szabálytalan dash minta, az érték pozitív kell legyen"
@@ -10490,6 +10638,12 @@ msgstr "Elérési token URL:"
 msgid "Authorize URL:"
 msgstr "Jóváhagyási URL:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Kattints az OAuth beállítások alapértékre visszaállításához"
 
@@ -10564,13 +10718,6 @@ msgstr "Felhasználónév: "
 msgid "Password: "
 msgstr "Jelszó: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Figyelmeztetés:</strong> A JOSM <strong>egyszer</strong> be fog "
-"lépni biztonságos kapcsolaton."
-
 msgid "Granted rights"
 msgstr "Engedélyezett jogok"
 
@@ -10711,6 +10858,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Válassz egy azonosítási folyamatot: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Elérési Token beszerzése: \"{0}\""
 
@@ -11113,6 +11266,15 @@ msgstr "{0} bejegyzett eszköztárművelet felülírva: {1} lesz {2}"
 msgid "Toolbar: {0}"
 msgstr "Eszköztár: {0}"
 
+msgid "add entry"
+msgstr "bejegyzés hozzáadása"
+
+msgid "Remove the selected entry"
+msgstr "Kijelölt bejegyzés eltávolítása"
+
+msgid "Key: {0}"
+msgstr "Kulcs: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Haladó beállítások"
 
@@ -11204,18 +11366,9 @@ msgstr "Válassz profil fájlt"
 msgid "Change list setting"
 msgstr "Listabeállítások módosítása"
 
-msgid "Key: {0}"
-msgstr "Kulcs: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Listák listájának beállítása"
 
-msgid "add entry"
-msgstr "bejegyzés hozzáadása"
-
-msgid "Remove the selected entry"
-msgstr "Kijelölt bejegyzés eltávolítása"
-
 msgid "Change list of maps setting"
 msgstr "Térképek listájának beállítása"
 
@@ -11922,9 +12075,6 @@ msgstr "kiválasztott alapértelmezettek másolása"
 msgid "Please select at least one row to copy."
 msgstr "Kérlek válassz legalább egy másolandó sort."
 
-msgid "reload defaults"
-msgstr "alapértelmezettek újratöltése"
-
 msgid "Menu Name"
 msgstr "Menüben megjelenő név"
 
@@ -12143,7 +12293,7 @@ msgstr ""
 "használni szeretnéd?<<br><br><table width=600>Hiba: {1}</table></html>"
 
 msgid "Sort presets menu alphabetically"
-msgstr ""
+msgstr "Címkekészlet menü rendezése ábécé szerint"
 
 msgid "Tagging Presets"
 msgstr "Címkézési készletek"
@@ -12232,6 +12382,9 @@ msgid_plural ""
 msgstr[0] "Az alábbi bővítmény letöltése <strong>sikertelen</strong>:"
 msgstr[1] "Az alábbi {0} bővítmény letöltése <strong>sikertelen</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Hibaüzenet (fordítatlan): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "A letöltött bővítmények aktiválásához kérlek indítsd újra a JOSM-ot."
 
@@ -12422,7 +12575,7 @@ msgid "LKS-92 (Latvia TM)"
 msgstr "LKS-92 (Lettország TM)"
 
 msgid "Rijksdriehoekscoördinaten (Netherlands)"
-msgstr ""
+msgstr "Rijksdriehoekscoördinaten (Hollandia)"
 
 msgid "SWEREF99 13 30 / EPSG:3008 (Sweden)"
 msgstr "SWEREF99 13 30 / EPSG:3008 (svéd)"
@@ -12742,13 +12895,13 @@ msgid "Please enter the OSM API URL."
 msgstr "Kérlek add meg az OSM API URL-t"
 
 msgid "Use Overpass server for object downloads"
-msgstr ""
+msgstr "Overpass szerver használata objektumok letöltésére"
 
 msgid "Overpass server: "
 msgstr "Overpass szerver: "
 
 msgid "Overpass server"
-msgstr ""
+msgstr "Overpass szerver"
 
 msgid "Proxy settings"
 msgstr "Proxybeállítások"
@@ -12917,12 +13070,6 @@ msgstr "Szám értékek"
 msgid "Checks for wrong numeric values"
 msgstr "Hibás szám értékek keresése"
 
-msgid "Power"
-msgstr "Energia"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Energetikai infrastruktúrák hibáinak keresése"
-
 msgid "Religion"
 msgstr "Vallás"
 
@@ -12999,7 +13146,7 @@ msgid "Delete the selection in the tag table"
 msgstr "A kiválasztottak törlése a cimke táblázatból"
 
 msgid "Add a new tag"
-msgstr "Új tag hozzáadása"
+msgstr "Új címke hozzáadása"
 
 msgid "Paste tags from buffer"
 msgstr "Cimkék beillesztése a pufferből"
@@ -13013,6 +13160,9 @@ msgstr "Használd a ''{0}'' beállítást"
 msgid "Elements of type {0} are supported."
 msgstr "{0} típus elemei támogatottak."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "Szintén szerkesztendő..."
 
@@ -13086,6 +13236,9 @@ msgstr "Készlet keresése"
 msgid "Presets"
 msgstr "Címkék"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "Objektumok keresése címkekészlet alapján"
 
@@ -13130,7 +13283,7 @@ msgstr ""
 "''display_values''-ban és a ''values''-ban"
 
 msgid "Detailed information: {0} <> {1}"
-msgstr ""
+msgstr "Részletes információ: {0} <> {1}"
 
 msgid ""
 "Broken tagging preset \"{0}-{1}\" - number of items in "
@@ -13139,6 +13292,9 @@ msgstr ""
 "Sérült cimkézési beállítás \"{0}-{1}\" - az elemek számának egyeznie kell a "
 "''short_descriptions''-ban és a ''values''-ban"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "További információk erről a tulajdonságról"
 
@@ -13236,19 +13392,33 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "hamis: a tulajdonság explicite kikapcsolva"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "igaz: a tulajdonság explicite bekapcsolva"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "részleges: különböző kiválasztott objektumoknak különböző értékük van, ne "
 "változtasd"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 "beállítatlan: ne legyen beállítva ez a tulajdonság a kijelölt objektumokon"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "Kivágás"
 
@@ -13456,7 +13626,7 @@ msgid "GeoJSON Files"
 msgstr "GeoJSON fájlok"
 
 msgid "Projected GeoJSON Files"
-msgstr ""
+msgstr "GeoJSON fájlok vetületi koordinátákkal"
 
 msgid "Layer ''{0}'' not supported"
 msgstr "A ''{0}'' réteg nem támogatott"
@@ -13799,6 +13969,9 @@ msgstr "A HTTP kapcsolat aláírása meghiúsult az OAuth hitelesítési fejléc
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Nem várt értékű beállítás ''{0}''. Kapott: ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "OSM szerver fájlok"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Egy hiba történt mentés közben.<br>A hiba:<br>{0}</html>"
 
@@ -13815,9 +13988,6 @@ msgstr "Az OSM szerver fájlok zip tömörítettek"
 msgid "Parsing OSM history data ..."
 msgstr "OSM adattörténet feldolgozása..."
 
-msgid "OSM Server Files"
-msgstr "OSM szerver fájlok"
-
 msgid "Invalid dataset"
 msgstr "Érvénytelen adathalmaz"
 
@@ -14025,9 +14195,6 @@ msgstr "Adatok feltöltése…"
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Nem várt (0) azonosító egy OSM elemhez"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Az OSM szerver fájlok ZIP tömörítettek"
-
 msgid "Downloading data..."
 msgstr "Adatok letöltése..."
 
@@ -14213,23 +14380,29 @@ msgstr ""
 "A Távirányítóhoz kérés érkezett, hogy jelentse a protokoll verzióját. Ez "
 "lehetővé teszi a weboldalaknak, hogy érzékeljék a futó JOSM-t."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"A geokép réteghez ''{0}'' verziójú metaadatok nem támogatottak. Elvárt: 0.1"
+msgid "local file"
+msgstr "helyi fájl"
+
+msgid "include"
+msgstr "befoglal"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "A réteg nem mentett adatokat tartalmaz - fájlba mentés."
+
+msgid "Layer does not contain unsaved data."
+msgstr "A réteg nem tartalmaz mentetlen adatokat."
 
 msgid "Data:"
 msgstr "Adat:"
 
-msgid "local file"
-msgstr "helyi fájl"
+msgid "Link to a OSM data file on your local disk."
+msgstr "OSM adatfájl hivatkozás a helyi lemezen."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Hivatkozás egy GPX fájlra a helyi lemezeden."
+msgid "Include OSM data in the .joz session file."
+msgstr "OSM adatok beágyazása a .joz munkamenet fájlba."
 
-msgid "include"
-msgstr "befoglal"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr "GPX adatok beillesztése a .joz munkafolyam fájlba."
@@ -14240,6 +14413,15 @@ msgstr "Nincs fájl társítás"
 msgid "GPX data will be included in the session file."
 msgstr "A GPX adatok be lesznek illesztve a munkafolyam fájlba."
 
+msgid "OSM data will be included in the session file."
+msgstr "A(z) OSM adatok be lesznek ágyazva a munkamenet fájlba."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"A geokép réteghez ''{0}'' verziójú metaadatok nem támogatottak. Elvárt: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14261,20 +14443,9 @@ msgid ""
 msgstr ""
 "A jelölő réteghez ''{0}'' verziójú metaadatok nem támogatottak. Elvárt: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "A réteg nem mentett adatokat tartalmaz - fájlba mentés."
-
-msgid "Layer does not contain unsaved data."
-msgstr "A réteg nem tartalmaz mentetlen adatokat."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "OSM adatfájl hivatkozás a helyi lemezen."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "OSM adatok beágyazása a .joz munkamenet fájlba."
-
-msgid "OSM data will be included in the session file."
-msgstr "A(z) OSM adatok be lesznek ágyazva a munkamenet fájlba."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15138,9 +15309,6 @@ msgstr ""
 "nagy.<br>Egyfelől kissebb terület is kérhető vagy használható egy "
 "adatkiöntési fájl is, amit az OSM közösség tud szolgáltatni."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Hibaüzenet (fordítatlan): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15185,6 +15353,9 @@ msgstr "A letöltés átirányításra került a \"{0}\"-hoz"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Túl sok átirányítás lett észlelve a letöltési URL-hez. Megszakítás."
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Nem található fordítás a helyi {0} nyelvre. Visszatérés ehhez: {1}."
 
@@ -15195,9 +15366,6 @@ msgstr ""
 "Kritikus: a kép nem található ''{0}''. Ez egy komoly konfigurációs probléma. "
 "A JOSM meg fog állni."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "A kép nem található ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "A(z) ''{0}'' zip fájl kezelése hibás lett. A kivétel ez volt: {1}"
 
@@ -15359,6 +15527,9 @@ msgstr ""
 "mert az nem tartalmaz JOSM objektumot vagy  alkalmas szöveget. </p></html>"
 
 msgid "Unable to delete file {0}"
+msgstr "{0} fájl nem törölhető"
+
+msgid "Unable to create directory {0}"
 msgstr ""
 
 msgid "ms"
@@ -15514,7 +15685,7 @@ msgstr "bozót"
 
 msgctxt "natural"
 msgid "wood"
-msgstr ""
+msgstr "erdő"
 
 msgctxt "Relation type"
 msgid "associatedStreet"
@@ -15691,9 +15862,6 @@ msgstr "Kiválasztott fájl megnyitása"
 msgid "Open selected file."
 msgstr "Kiválasztott fájl megnyitása."
 
-msgid "Refresh"
-msgstr "Frissítés"
-
 msgid "Rename File"
 msgstr "Fájl átnevezés"
 
@@ -15787,6 +15955,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Tömegközlekedés (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Túra és kerékpár"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (Német stílusú)"
 
@@ -15853,35 +16024,38 @@ msgstr "OSM Inspector: lakcímek"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: közigazgatási határok (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI fekete-fehér 2.5m"
 
 msgid "LPI NSW Base Map"
-msgstr ""
+msgstr "LPI NSW alaptérkép"
 
 msgid "LPI NSW Topographic Map"
-msgstr ""
+msgstr "LPI NSW topográfiai térkép"
 
 msgid "LPI NSW Imagery"
-msgstr ""
+msgstr "LPI NSW légifelvétel"
 
 msgid "LPI NSW Administrative Boundaries Suburb"
-msgstr ""
+msgstr "LPI NSW közigazgatási határ városrész"
 
 msgid "LPI NSW Administrative Boundaries LGA"
-msgstr ""
+msgstr "LPI NSW közigazgatási határ LGA"
 
 msgid "LPI NSW Administrative Boundaries County"
-msgstr ""
+msgstr "LPI NSW közigazgatási határ megye"
 
 msgid "LPI NSW Administrative Boundaries Parish"
-msgstr ""
+msgstr "LPI NSW közigazgatási határ egyházközség"
 
 msgid "LPI NSW Administrative Boundaries State Forest"
-msgstr ""
+msgstr "LPI NSW közigazgatási határ állami erdő"
 
 msgid "LPI NSW Administrative Boundaries NPWS Reserve"
-msgstr ""
+msgstr "LPI NSW közigazgatási határ NPWS rezervátum"
 
 msgid "Geoimage.at MaxRes"
 msgstr "Geoimage.at MaxRes"
@@ -15890,7 +16064,7 @@ msgid "basemap.at"
 msgstr "basemap.at"
 
 msgid "basemap.at Orthofoto"
-msgstr ""
+msgstr "basemap.at ortofotó"
 
 msgid "Graz: Basiskarte (base map)"
 msgstr "Graz: Basiskarte (alaptérkép)"
@@ -15914,7 +16088,7 @@ msgid "VoGIS: Echtfarbenbild 2012 (12cm)"
 msgstr "VoGIS: Echtfarbenbild 2012 (12cm)"
 
 msgid "VoGIS: Echtfarbenbild Winter 2015 (20cm)"
-msgstr ""
+msgstr "VoGIS: Echtfarbenbild 2015 tél (20cm)"
 
 msgid "VoGIS: Flächenwidmungsplan"
 msgstr "VoGIS: Flächenwidmungsplan"
@@ -15926,7 +16100,7 @@ msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DGM (Felületi modell)"
 
 msgid "AGIV(laanderen) aerial imagery (covers Brussels region as well)"
-msgstr ""
+msgstr "AGIV (laanderen) légifelvétel (Brüsszel régiót is lefedi)"
 
 msgid "URBISfr numerical imagery (2013)"
 msgstr ""
@@ -15935,27 +16109,30 @@ msgid "URBISnl numerical imagery (2013)"
 msgstr ""
 
 msgid "URBIS 2009 aerial imagery"
-msgstr ""
+msgstr "URBIS 2009 légifelvétel"
 
 msgid "URBIS 2012 aerial imagery"
-msgstr ""
+msgstr "URBIS 2012 légifelvétel"
 
 msgid "URBIS 2014 aerial imagery"
-msgstr ""
+msgstr "URBIS 2014 légifelvétel"
 
 msgid "URBIS 2015 aerial imagery"
-msgstr ""
+msgstr "URBIS 2015 légifelvétel"
 
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 légi képek"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 légi felvételek"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -15998,16 +16175,16 @@ msgid "Geodatastyrelsen (Denmark)"
 msgstr "Geodatastyrelsen (Denmark)"
 
 msgid "Geodatastyrelsen Cadastral Parcels INSPIRE View"
-msgstr ""
+msgstr "Geodatastyrelsen Cadastral Parcels INSPIRE View"
 
 msgid "Geodatastyrelsen DTK Kort25"
-msgstr ""
+msgstr "Geodatastyrelsen DTK Kort25"
 
 msgid "Geodatastyrelsen Skyggekort 1.6m"
-msgstr ""
+msgstr "Geodatastyrelsen Skyggekort 1.6m"
 
 msgid "Geodatastyrelsen Skærmkort"
-msgstr ""
+msgstr "Geodatastyrelsen Skærmkort"
 
 msgid "Stevns (Denmark)"
 msgstr "Stevns (Denmark)"
@@ -16034,13 +16211,13 @@ msgid "BANO"
 msgstr "BANO"
 
 msgid "BD Carthage"
-msgstr ""
+msgstr "BD Carthage"
 
 msgid "Bordeaux - 2012"
 msgstr "Bordeaux - 2012"
 
 msgid "Cadastre"
-msgstr ""
+msgstr "Cadastre"
 
 msgid "CRAIG - Auvergne 2013 - 25 cm"
 msgstr "RAIG - Auvergne 2013 - 25 cm"
@@ -16061,7 +16238,7 @@ msgid "Géolittoral - Orthophotos 2000"
 msgstr "Géolittoral - Ortofotók 2000"
 
 msgid "Géolittoral V2 - Orthophotos 2011-2014"
-msgstr ""
+msgstr "Géolittoral V2 - Orthofotók 2011-2014"
 
 msgid "Géolittoral - Sentiers"
 msgstr "Géolittoral - Gyalogutak"
@@ -16073,9 +16250,12 @@ msgid "Loire-Atlantique - Orthophotos 2012 - 20 cm"
 msgstr "Loire-Atlantique - Ortofotók 2012 - 20 cm"
 
 msgid "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
-msgstr ""
+msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 
 msgid "Route 500™©®"
+msgstr "Route 500™©®"
+
+msgid "Toulouse - Orthophotoplan 2015"
 msgstr ""
 
 msgid "Toulouse - Orthophotoplan 2013"
@@ -16088,10 +16268,10 @@ msgid "Toulouse - Orthophotoplan 2007"
 msgstr "Toulouse - Ortofotó tervek 2007"
 
 msgid "Tours - Orthophoto 2013"
-msgstr ""
+msgstr "Tours - ortofotó 2013"
 
 msgid "Tours - Orthophoto 2008-2010"
-msgstr ""
+msgstr "Tours - ortofotó 2008-2010"
 
 msgid ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
@@ -16100,9 +16280,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Ortofotók 1999 - "
 "1 m"
 
-msgid "Hike & Bike"
-msgstr "Túra és kerékpár"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Szorb nyelvű)"
 
@@ -16116,19 +16293,19 @@ msgid "Hamburg (DK5)"
 msgstr "Hamburg (DK5)"
 
 msgid "Bavaria (80 cm)"
-msgstr ""
+msgstr "Bajorország (80 cm)"
 
 msgid "Bavaria (2 m)"
 msgstr "Bavaria (2 m)"
 
 msgid "Stuttgart (aerial imagery)"
-msgstr ""
+msgstr "Stuttgart (légifelvétel)"
 
 msgid "Erlangen aerial imagery (2013 6.25 cm)"
-msgstr ""
+msgstr "Erlangen légifelvétel (2013 6.25 cm)"
 
 msgid "Erlangen 2011 aerial imagery (5.0 cm)"
-msgstr ""
+msgstr "Erlangen 2011 légifelvétel (5.0 cm)"
 
 msgid "Old map of Zwenkau - TK25 Messtischblatt (4739; 1906; PROJ.4-rect)"
 msgstr "Zwenkau régi térképe - TK25 Messtischblatt (4739; 1906; PROJ.4-rect)"
@@ -16145,12 +16322,14 @@ msgstr ""
 msgid ""
 "Physical DE:Harz - Overlay for Bing (e.g. use opacity between 20% and 50%)"
 msgstr ""
+"Physical DE:Harz - rátét Binghez (pl. használj  20% és 50% közti "
+"átlátszóságot)"
 
 msgid "Maps4BW (LGL-BW, www.lgl-bw.de)"
 msgstr "Maps4BW (LGL-BW, www.lgl-bw.de)"
 
 msgid "NRW-Atlas: ALKIS"
-msgstr ""
+msgstr "NRW-Atlas: ALKIS"
 
 msgid "NRW-Atlas: Digitale GrundKarte 1:5000"
 msgstr "NRW-Atlas: Digitale GrundKarte 1:5000"
@@ -16171,6 +16350,15 @@ msgid "Drone Imagery 2014 (Haiti)"
 msgstr "Drón ábrázolás 2014 (Haiti)"
 
 msgid "Drone Imagery Canaan(Haiti) November 2015"
+msgstr "Drónos légifelvétel Canaan (Haiti) 2015 november"
+
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
 msgstr ""
 
 msgid "Ireland British War Office 1:25k GSGS 3906"
@@ -16192,7 +16380,7 @@ msgid "OSMIE Townlands"
 msgstr ""
 
 msgid "OSMIE EDs"
-msgstr ""
+msgstr "OSMIE EDs"
 
 msgid "OSMIE Civil Parishes"
 msgstr ""
@@ -16206,11 +16394,14 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italy"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr ""
 
 msgid "Sicily - Italy"
 msgstr "Sicily - Italy"
@@ -16225,10 +16416,10 @@ msgid "PCN 2012 - Italy"
 msgstr "PCN 2012 - Italy"
 
 msgid "South Tyrol Orthofoto 2011"
-msgstr ""
+msgstr "Dél-Tirol ortofotó 2011"
 
 msgid "South Tyrol Topomap"
-msgstr ""
+msgstr "Dél-Tirol topográfiai térkép"
 
 msgid "USSR - Latvia"
 msgstr "USSR - Latvia"
@@ -16240,7 +16431,7 @@ msgid "20cm ortho - Latvia - Coastline"
 msgstr "20cm ortofotó - Latvia - Coastline"
 
 msgid "1.cikla ortofotokarte - Latvia"
-msgstr ""
+msgstr "1.cikla ortofotó - Lettország"
 
 msgid "ORT10LT (Lithuania)"
 msgstr "ORT10LT (Lithuania)"
@@ -16258,13 +16449,13 @@ msgid "Luxembourg Inspire Roads"
 msgstr "Luxembourg Inspire Utak"
 
 msgid "Luxembourg Inspire Water"
-msgstr ""
+msgstr "Luxembourg Inspire vizek"
 
 msgid "Niger Delta Oct 2012 Landsat"
 msgstr "Niger Delta Oct 2012 Landsat"
 
 msgid "Svalbard -Orthophoto 2009/2011 EPSG:25833"
-msgstr ""
+msgstr "Svalbard -ortofotó 2009/2011 EPSG:25833"
 
 msgid "Gaza Strip - Pléiades - 2014/07/06"
 msgstr "Gaza Strip - Pléiades - 2014/07/06"
@@ -16279,13 +16470,13 @@ msgid "Geoportal 2: Ortofotomapa (aerial image)"
 msgstr "Geoportal 2: Ortofotomapa (légifelvétel)"
 
 msgid "Geoportal 2: Ortofotomapa (aerial image) WMTS"
-msgstr ""
+msgstr "Geoportal 2: Ortofotomapa (légifelvétel) WMTS"
 
 msgid "Geoportal 2: PRNG (geo names)"
 msgstr "Geoportal 2: PRNG (földrajzi nevek)"
 
 msgid "Geoportal 2: ISOK hillshade"
-msgstr ""
+msgstr "Geoportal 2: ISOK domborzatárnyékolás"
 
 msgid "Będzin: Ortofotomapa 2013 (aerial image)"
 msgstr "Będzin: Ortofotomapa 2013 (légifelvétel)"
@@ -16297,7 +16488,7 @@ msgid "Bytom: Ortofotomapa 2012 (aerial image)"
 msgstr "Bytom: Ortofotomapa 2012 (légifelvétel)"
 
 msgid "Bytom: Fotoplan 2014 (aerial image)"
-msgstr ""
+msgstr "Bytom: Fotoplan 2014 (légifelvétel)"
 
 msgid "Bytom: Budynki (buildings)"
 msgstr "Bytom: Budynki (épületek)"
@@ -16306,16 +16497,16 @@ msgid "Chorzów: Budynki (buildings)"
 msgstr "Chorzów: Budynki (épületek)"
 
 msgid "Częstochowa: Budynki (buildings)"
-msgstr ""
+msgstr "Częstochowa: Budynki (épületek)"
 
 msgid "Częstochowa: Ortofotomapa 2011 (aerial image)"
 msgstr "Częstochowa: Ortofotomapa 2011 (légifelvétel)"
 
 msgid "Częstochowa: Ortofotomapa 2013 (aerial image)"
-msgstr ""
+msgstr "Częstochowa: Ortofotomapa 2013 (légifelvétel)"
 
 msgid "Częstochowa: Ortofotomapa 2014 (aerial image)"
-msgstr ""
+msgstr "Częstochowa: Ortofotomapa 2014 (légifelvétel)"
 
 msgid "Gliwice: Ortofotomapa 2013 (aerial image)"
 msgstr "Gliwice: Ortofotomapa 2013 (légifelvétel)"
@@ -16327,43 +16518,43 @@ msgid "Katowice: Ortofotomapa (aerial image)"
 msgstr "Katowice: Ortofotomapa (légifelvétel)"
 
 msgid "Katowice: Budynki (buildings)"
-msgstr ""
+msgstr "Katowice: Budynki (épületek)"
 
 msgid "Łódź: Budynki (buildings)"
-msgstr ""
+msgstr "Łódź: Budynki (épületek)"
 
 msgid "Łódź: Ortofotomapa (aerial image)"
 msgstr "Łódź: Ortofotomapa (légifelvétel)"
 
 msgid "Powiat dębicki: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat dębicki: Budynki (épületek)"
 
 msgid "Powiat lubaczowski: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat lubaczowski: Budynki (épületek)"
 
 msgid "Powiat łańcucki: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat łańcucki: Budynki (épületek)"
 
 msgid "Powiat poznański: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat poznański: Budynki (épületek)"
 
 msgid "Powiat poznański: Ortofotomapa (Aerial image)"
-msgstr ""
+msgstr "Powiat poznański: Ortofotomapa (légifelvétel)"
 
 msgid "Powiat rzeszowski: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat rzeszowski: Budynki (épületek)"
 
 msgid "Powiat rzeszowski: Ortofotomapa (Aerial image)"
-msgstr ""
+msgstr "Powiat rzeszowski: Ortofotomapa (légifelvétel)"
 
 msgid "Powiat stalowowolski: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat stalowowolski: Budynki (épületek)"
 
 msgid "Przemyśl: Budynki (buildings)"
-msgstr ""
+msgstr "Przemyśl: Budynki (épületek)"
 
 msgid "Przemyśl: Ortofotomapa (aerial image)"
-msgstr ""
+msgstr "Przemyśl: Ortofotomapa (légifelvétel)"
 
 msgid "Ruda Śląska: Ortofotomapa (aerial image)"
 msgstr "Ruda Śląska: Ortofotomapa (légifelvétel)"
@@ -16378,16 +16569,16 @@ msgid "Siemianowice Śląskie: Ortofotomapa (aerial image)"
 msgstr "Siemianowice Śląskie: Ortofotomapa (légifelvétel)"
 
 msgid "Siemianowice Śląskie: Budynki (buildings)"
-msgstr ""
+msgstr "Siemianowice Śląskie: Budynki (épületek)"
 
 msgid "Świętochłowice: Ortofotomapa 2008 (aerial image)"
-msgstr ""
+msgstr "Świętochłowice: Ortofotomapa 2008 (légifelvétel)"
 
 msgid "Świętochłowice: Ortofotomapa 2009 (aerial image)"
 msgstr "Świętochłowice: Ortofotomapa 2009 (légifelvétel)"
 
 msgid "Świętochłowice: Ortofotomapa 2012 (aerial image)"
-msgstr ""
+msgstr "Świętochłowice: Ortofotomapa 2012 (légifelvétel)"
 
 msgid "Zabrze: Ortofotomapa 2011 (aerial image)"
 msgstr "Zabrze: Ortofotomapa 2011 (légifelvétel)"
@@ -16396,7 +16587,7 @@ msgid "trail.pl: Szlaki (paths)"
 msgstr "trail.pl: Szlaki (útvonalak)"
 
 msgid "Wrocław: Ortofotomapa 2015 (aerial image)"
-msgstr ""
+msgstr "Wrocław: Ortofotomapa 2015 (légifelvétel)"
 
 msgid "ScanEx IRS"
 msgstr "ScanEx IRS"
@@ -16432,10 +16623,10 @@ msgid "Slovakia Historic Maps"
 msgstr "Slovakia Történelmi Térképek"
 
 msgid "RABA-KGZ: Slovenia farmland use"
-msgstr ""
+msgstr "RABA-KGZ: Szlovénia szántóföld"
 
 msgid "RABA-KGZ: Slovenia built-up areas"
-msgstr ""
+msgstr "RABA-KGZ: Szlovénia beépített területek"
 
 msgid "South Africa CD:NGI Aerial"
 msgstr "South Africa CD:NGI Aerial"
@@ -16522,13 +16713,13 @@ msgid "Fiez Orthophoto 2013"
 msgstr "Fiez Ortofotó 2013"
 
 msgid "Taiwan e-Map Open Data"
-msgstr ""
+msgstr "Taiwan e-Map Open Data"
 
 msgid "Taiwan e-Map Open Data (with Contour Line)"
-msgstr ""
+msgstr "Taiwan e-Map Open Data (szintvonallal)"
 
 msgid "Taiwan Village Boundaries"
-msgstr ""
+msgstr "Taiwan településhatár"
 
 msgid "Taiwan Land-Section Data"
 msgstr ""
@@ -16543,16 +16734,16 @@ msgid "MSR Maps Urban"
 msgstr "MSR Városi Térképek"
 
 msgid "USGS Topographic Maps"
-msgstr ""
+msgstr "USGS topográfiai térképek"
 
 msgid "USGS Large Scale Imagery"
 msgstr "USGS Large Scale Imagery"
 
 msgid "TIGER 2012 Roads Overlay"
-msgstr ""
+msgstr "TIGER 2012 utak rátét"
 
 msgid "New & Misaligned TIGER Roads (2015)"
-msgstr ""
+msgstr "Új és elcsúszott utak TIGER (2015)"
 
 msgid "MassGIS L3 Parcels"
 msgstr "MassGIS L3 Parcellák"
@@ -16561,7 +16752,7 @@ msgid "NC Latest Orthoimagery"
 msgstr "NC Latest Ortofotó"
 
 msgid "U.S. Forest Service roads"
-msgstr ""
+msgstr "U.S. erdőgazdasági utak"
 
 msgid "Ukraine - Orthophotomaps 2012"
 msgstr "Ukraine - Ortofotó térkép 2012"
@@ -16585,7 +16776,7 @@ msgid "NLS - OS 6-inch Scotland 1842-82"
 msgstr "NLS - OS 6-inch Scotland 1842-82"
 
 msgid "NLS - OS 6-inch County Series 1888-1913"
-msgstr ""
+msgstr "NLS - OS 6-inch megye sorozat 1888-1913"
 
 msgid "NLS - OS 1:25k 1st Series 1937-61"
 msgstr "NLS - OS 1:25k 1st Series 1937-61"
@@ -16594,7 +16785,7 @@ msgid "NLS - OS 1-inch 7th Series 1955-61"
 msgstr "NLS - OS 1-inch 7th Series 1955-61"
 
 msgid "NLS - OS 25-inch (Scotland) 1892-1905"
-msgstr ""
+msgstr "NLS - OS 25-inch (Skócia) 1892-1905"
 
 msgid "OS 1:25k historic (OSM-Best)"
 msgstr "OS 1:25k historic (OSM-Best)"
@@ -16783,7 +16974,7 @@ msgid "OS Town Plans, Oban 1867-1868 (NLS)"
 msgstr "Angol (OS) városrendezési tervek, Oban 1867-1868 (NLS)"
 
 msgid "OS Town Plans, Paisley 1858 (NLS)"
-msgstr ""
+msgstr "OS Várostervek, Paisley 1858 (NLS)"
 
 msgid "OS Town Plans, Peebles 1856 (NLS)"
 msgstr "Angol (OS) városrendezési tervek, Peebles 1856 (NLS)"
@@ -16840,7 +17031,7 @@ msgid "OS Town Plans, Wigtown 1894 (NLS)"
 msgstr "Angol (OS) városrendezési tervek, Wigtown 1894 (NLS)"
 
 msgid "Landsat 233055"
-msgstr ""
+msgstr "Landsat 233055"
 
 msgid ""
 "Group common Address Interpolation inputs in a single dialog, as well as an "
@@ -16861,11 +17052,17 @@ msgid ""
 "Provides Apache Commons library components. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
+"Apache Commons könyvtár komponenseket tesz elérhetővé. Ez nem jelenti azt, "
+"hogy a felhasználónak közvetlenül kell telepítenie, mivel ez inkább egy "
+"működési előfeltétel, függőség más bővítmények részére."
 
 msgid ""
 "Provides Apache HTTP library. Not meant to be installed directly by users, "
 "but rather as a dependency for other plugins."
 msgstr ""
+"Az Apache HTTP könyvtárat teszi elérhetővé. Ez nem jelenti azt, hogy a "
+"felhasználónak közvetlenül kell telepítenie, mivel ez inkább egy működési "
+"előfeltétel, függőség más bővítmények részére."
 
 msgid ""
 "Allows selection of areas in an layer and automatic creation of a way as "
@@ -16921,11 +17118,14 @@ msgstr ""
 "(Figyelem! Kísérleti!) Eszöz az adatok egyesítésére (összefésülésére)."
 
 msgid "Downloads new data when you pan/zoom"
-msgstr ""
+msgstr "Új adatokat tölt le amikor mozgatod a térképet vagy zoomolsz"
 
 msgid "Create a grid of ways."
 msgstr "Vonalak hálózatát hozza létre."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16963,6 +17163,9 @@ msgid ""
 "Provides the EJML library for other JOSM plugins. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
+"Az EJML könyvtat teszi elérhetővé más JOSM bővítmények számára. Ez nem "
+"jelenti azt, hogy a felhasználónak közvetlenül kell telepítenie, mivel ez "
+"inkább egy működési előfeltétel, függőség más bővítmények részére."
 
 msgid "Shows the elevation profile and some statistical data of a GPX track."
 msgstr ""
@@ -17019,6 +17222,9 @@ msgid ""
 "Provides the GSON library for other JOSM plugins. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
+"A GSON könyvtat teszi elérhetővé más JOSM bővítmények számára. Ez nem "
+"jelenti azt, hogy a felhasználónak közvetlenül kell telepítenie, mivel ez "
+"inkább egy működési előfeltétel, függőség más bővítmények részére."
 
 msgid "Simple tool to tag house numbers."
 msgstr "Egyszerűsítő eszköz a házszámok címkézéséhez."
@@ -17066,7 +17272,7 @@ msgid ""
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
 "A Java Native Access (JNA) könyvtárat teszi elérhetővé más JOSM bővítmények "
-"számára Ez nem jelenti azt, hogy a felhasználónak közvetlenül kell "
+"számára. Ez nem jelenti azt, hogy a felhasználónak közvetlenül kell "
 "telepítenie, mivel ez inkább egy működési előfeltétel, függőség más "
 "bővítmények részére."
 
@@ -17230,7 +17436,7 @@ msgstr ""
 "szerkesztését."
 
 msgid "Displays stops of selected public transport routes as graph"
-msgstr ""
+msgstr "A kijelölt tömegközlekedési útvonalak megállóit ábrázolja gráfként"
 
 msgid ""
 "The RasterFiltersPlugin allows to choose and apply some images'' filters to "
@@ -17282,7 +17488,7 @@ msgid "Edit features for OpenSeaMap"
 msgstr "OpenSeaMap tulajdonságok szerkesztése"
 
 msgid "Allows to draw splines"
-msgstr ""
+msgstr "Lehetővé teszi a rajzolást spline görbékkel"
 
 msgid ""
 "Allows to edit traffic information and export it to the urban mobility "
@@ -17531,19 +17737,19 @@ msgid "Lanes"
 msgstr "Sávok"
 
 msgid "Lanes in way direction"
-msgstr ""
+msgstr "Sávok a vonal irányában"
 
 msgid "Lanes opposed to way direction"
-msgstr ""
+msgstr "Sávok a vonallal ellentétes irányában"
 
 msgid "Max. speed (km/h)"
-msgstr "Max. sebesség (km/h)"
+msgstr "Megengedett sebesség (km/h)"
 
 msgid "Max. speed in way direction"
-msgstr ""
+msgstr "Max. sebesség a vonal irányában"
 
 msgid "Max. speed opposed to way direction"
-msgstr ""
+msgstr "Max. sebesség a vonallal ellentétes irányában"
 
 msgid "Bridge"
 msgstr "Híd"
@@ -17613,7 +17819,7 @@ msgid "spur"
 msgstr "iparvágány"
 
 msgid "crossover"
-msgstr ""
+msgstr "vágányelágazás"
 
 msgid "Electrified"
 msgstr "Villamosítás"
@@ -17682,6 +17888,105 @@ msgstr "korlátozott"
 msgid "Brand"
 msgstr "Márka"
 
+msgid "Cuisine"
+msgstr "Konyha"
+
+msgid "italian"
+msgstr "olasz"
+
+msgid "chinese"
+msgstr "kínai"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamburger"
+
+msgid "greek"
+msgstr "görög"
+
+msgid "german"
+msgstr "német"
+
+msgid "indian"
+msgstr "indiai"
+
+msgid "regional"
+msgstr "helyi"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "török"
+
+msgid "asian"
+msgstr "ázsiai"
+
+msgid "thai"
+msgstr "thai"
+
+msgid "mexican"
+msgstr "mexikói"
+
+msgid "japanese"
+msgstr "japán"
+
+msgid "french"
+msgstr "francia"
+
+msgid "sandwich"
+msgstr "szendvics"
+
+msgid "coffee_shop"
+msgstr "kávéző"
+
+msgid "sushi"
+msgstr "szusi"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "fish and chips"
+
+msgid "chicken"
+msgstr "csirke"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "jégkrém"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Internetelérés"
 
@@ -17863,7 +18168,7 @@ msgstr "teniszütő"
 
 msgctxt "sport"
 msgid "rc_car"
-msgstr ""
+msgstr "távirányítós autó"
 
 msgctxt "sport"
 msgid "rugby_league"
@@ -17911,15 +18216,15 @@ msgstr "tenisz"
 
 msgctxt "sport"
 msgid "volleyball"
-msgstr ""
+msgstr "röplabda"
 
 msgctxt "sport"
 msgid "9pin"
-msgstr ""
+msgstr "teke"
 
 msgctxt "sport"
 msgid "10pin"
-msgstr ""
+msgstr "bowling"
 
 msgid "Fee"
 msgstr "Fizetős"
@@ -18028,13 +18333,13 @@ msgid "deciduous"
 msgstr "lombhullató"
 
 msgid "Plants that are leafless for a certain period during the year."
-msgstr ""
+msgstr "Az év egy adott időszakában levél nélküli növények."
 
 msgid "evergreen"
 msgstr "örökzöld"
 
 msgid "Plants that are never entirely without green foliage."
-msgstr ""
+msgstr "Sosem teljesen lombtalan növények."
 
 msgid "semi_deciduous"
 msgstr "félig lombhullató"
@@ -18043,6 +18348,8 @@ msgid ""
 "Plants that lose their foliage for a very short period, when old leaves fall "
 "off and new foliage growth is starting."
 msgstr ""
+"Olyan növények, amik a lombjukat csak nagyon rövid időre vesztik el, amikor "
+"a régi levelek lehullanak és az új levélzet elkezd nőni."
 
 msgid "semi_evergreen"
 msgstr "félig örökzöld"
@@ -18051,9 +18358,11 @@ msgid ""
 "Plants that lose most, but not all, of their foliage for a fraction of the "
 "year."
 msgstr ""
+"Az év egy időszakában a lombozat nagy részét (de nem az egészet) elvesztő "
+"növények."
 
 msgid "Habitat with evergreen and deciduous vegetation."
-msgstr ""
+msgstr "Örökzöld és lombhullató növényzet élőhelye."
 
 msgid "bahai"
 msgstr "bahái"
@@ -18249,8 +18558,11 @@ msgstr "Max. össztömeg (tonna)"
 msgid "Toll"
 msgstr "Fizetős"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "A víztömeg jelenléte időszakos  (szezonálisan eltűnik)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
+msgstr ""
 
 msgid "In the tidal range"
 msgstr ""
@@ -18262,22 +18574,22 @@ msgid "Water access rules:"
 msgstr ""
 
 msgid "Ship"
-msgstr ""
+msgstr "Hajó"
 
 msgid "designated"
 msgstr "kijelölt"
 
 msgid "Boat"
-msgstr ""
+msgstr "Csónak"
 
 msgid "Motorboat"
-msgstr ""
+msgstr "Motorcsónak"
 
 msgid "Canoe"
-msgstr ""
+msgstr "Kenu"
 
 msgid "Substance"
-msgstr ""
+msgstr "Anyag"
 
 msgid "water"
 msgstr "víz"
@@ -18320,10 +18632,10 @@ msgid "ICAO"
 msgstr "ICAO"
 
 msgid "Car brand"
-msgstr ""
+msgstr "Autó márka"
 
 msgid "Motorcycle brand"
-msgstr ""
+msgstr "Motorkerékpár márka"
 
 msgid "Streets"
 msgstr "Autóutak"
@@ -18332,7 +18644,7 @@ msgid "Motorway"
 msgstr "Autópálya"
 
 msgid "Placement"
-msgstr ""
+msgstr "Elhelyezés"
 
 msgid "left_of:1"
 msgstr ""
@@ -18362,7 +18674,7 @@ msgid "right_of:3"
 msgstr ""
 
 msgid "transition"
-msgstr ""
+msgstr "átmenet"
 
 msgid "Motorway Link"
 msgstr "Autópályafelhajtó"
@@ -18401,7 +18713,7 @@ msgid "Unclassified"
 msgstr "Egyéb közút"
 
 msgid "Street has no name"
-msgstr ""
+msgstr "Névtelen utca"
 
 msgid "Passing Places"
 msgstr "Félreálló hely"
@@ -18854,11 +19166,11 @@ msgstr "Kijelölt járda"
 
 msgctxt "footway"
 msgid "sidewalk"
-msgstr ""
+msgstr "járda"
 
 msgctxt "footway"
 msgid "crossing"
-msgstr ""
+msgstr "gyalogátkelő"
 
 msgid "Steps"
 msgstr "Lépcső"
@@ -18900,16 +19212,16 @@ msgid "Right handrail"
 msgstr "Jobb oldali korlát"
 
 msgid "Escalator"
-msgstr ""
+msgstr "Mozgólépcső"
 
 msgid "forward"
-msgstr ""
+msgstr "előre"
 
 msgid "backward"
-msgstr ""
+msgstr "visszafelé"
 
 msgid "reversible"
-msgstr ""
+msgstr "visszafordítható"
 
 msgid "Waypoints"
 msgstr "Útpontok"
@@ -19016,26 +19328,30 @@ msgstr "Közlekedési jelzések esetében"
 msgid "Traffic Calming"
 msgstr "Forgalomcsillapító"
 
-msgid "bump"
-msgstr "fekvőrendőr"
+msgid "Bump"
+msgstr ""
 
-msgid "chicane"
-msgstr "sikán"
+msgid "Chicane"
+msgstr ""
+
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
-msgstr "szűkítő"
+msgid "Cushion"
+msgstr ""
 
-msgid "cushion"
-msgstr "párna"
+msgid "Hump"
+msgstr ""
 
-msgid "hump"
-msgstr "hosszú fekvőrendőr"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "morajló csík"
+msgid "Rumble strip"
+msgstr ""
 
-msgid "table"
-msgstr "lapos fekvőrendőr"
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Kitérő (útkiszélesedés)"
@@ -19047,13 +19363,13 @@ msgid "Turning Loop"
 msgstr "Forduló hurok"
 
 msgid "City Limit Sign"
-msgstr ""
+msgstr "Településhatár tábla"
 
 msgid "Second Name"
 msgstr "Alternatív név"
 
 msgid "Speed Limit Sign"
-msgstr ""
+msgstr "Sebességkorlátozás tábla"
 
 msgid "Speed Camera"
 msgstr "Traffipax"
@@ -19062,10 +19378,10 @@ msgid "Traffic Mirror"
 msgstr "Közlekedési tükör"
 
 msgid "Highway milestone"
-msgstr ""
+msgstr "Kilométerkő"
 
 msgid "Distance (kilometers)"
-msgstr ""
+msgstr "Távolság (kilométerben)"
 
 msgctxt "junction=yes"
 msgid "Named Junction"
@@ -19178,7 +19494,7 @@ msgid "dry_stone"
 msgstr ""
 
 msgid "noise_barrier"
-msgstr ""
+msgstr "zajvédőfal"
 
 msgid "City Wall"
 msgstr "Városfal"
@@ -19186,6 +19502,9 @@ msgstr "Városfal"
 msgid "Retaining Wall"
 msgstr "Támfal"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Vizesárok"
@@ -19356,6 +19675,9 @@ msgstr "folyó"
 msgid "Salt Water"
 msgstr "Sós víz"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "A víztömeg jelenléte időszakos  (szezonálisan eltűnik)?"
+
 msgid "Coastline"
 msgstr "Partvonal"
 
@@ -19421,16 +19743,6 @@ msgstr ""
 "Nagyobb víztömeg részben szárazfölddel körbefogva, de még nagy nyitottsággal "
 "a nyílt víz felé is."
 
-msgid "Cliff"
-msgstr "Szikla"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Meredek, kitett szikla felület jelentős függőleges vagy majdnem függőleges "
-"részekkel (az alacsonyabban lévő felületet kell a vonal jobb oldalára rakni)."
-
 msgid "Shipping"
 msgstr "Hajózás"
 
@@ -19591,13 +19903,13 @@ msgid "Pier"
 msgstr "Móló"
 
 msgid "Mooring"
-msgstr ""
+msgstr "Móló"
 
 msgid "commercial"
-msgstr ""
+msgstr "kereskedelmi"
 
 msgid "Floating"
-msgstr ""
+msgstr "Úszó"
 
 msgid "Lock Gate"
 msgstr "Zsilipkapu"
@@ -19716,7 +20028,7 @@ msgid "Railway Signal"
 msgstr ""
 
 msgid "Railway milestone"
-msgstr ""
+msgstr "Vasúti szelvénykő"
 
 msgid "Aerialway"
 msgstr "Felvonó"
@@ -20292,10 +20604,10 @@ msgid "Stars"
 msgstr "Csillagok"
 
 msgid "Rooms"
-msgstr ""
+msgstr "Szobák"
 
 msgid "Beds"
-msgstr ""
+msgstr "Ágyak"
 
 msgid "Motel"
 msgstr "Motel"
@@ -20310,10 +20622,10 @@ msgid "Hostel"
 msgstr "Hostel"
 
 msgid "Alpine Hut"
-msgstr "Menedékház"
+msgstr "Turistaház"
 
 msgid "Wilderness Hut"
-msgstr ""
+msgstr "Menedékház"
 
 msgid "Access rights"
 msgstr "Használati jogok"
@@ -20325,16 +20637,16 @@ msgid "seasonal"
 msgstr "szezonális"
 
 msgid "Reservation"
-msgstr ""
+msgstr "Foglalás"
 
 msgid "required"
-msgstr ""
+msgstr "kötelező"
 
 msgid "recommended"
-msgstr ""
+msgstr "ajánlott"
 
 msgid "members_only"
-msgstr ""
+msgstr "csak tagoknak"
 
 msgid "Closer Description"
 msgstr "További leírás"
@@ -20361,66 +20673,6 @@ msgstr "Étel-ital"
 msgid "Restaurant"
 msgstr "Étterem"
 
-msgid "Cuisine"
-msgstr "Konyha"
-
-msgid "italian"
-msgstr "olasz"
-
-msgid "chinese"
-msgstr "kínai"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hamburger"
-
-msgid "greek"
-msgstr "görög"
-
-msgid "german"
-msgstr "német"
-
-msgid "indian"
-msgstr "indiai"
-
-msgid "regional"
-msgstr "helyi"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "török"
-
-msgid "asian"
-msgstr "ázsiai"
-
-msgid "thai"
-msgstr "thai"
-
-msgid "mexican"
-msgstr "mexikói"
-
-msgid "japanese"
-msgstr "japán"
-
-msgid "french"
-msgstr "francia"
-
-msgid "sandwich"
-msgstr "szendvics"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "szusi"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr "Házi sörfőzde"
 
@@ -20428,25 +20680,19 @@ msgid "Outdoor seating"
 msgstr "Szabadtéri asztalok"
 
 msgid "Takeaway"
-msgstr ""
+msgstr "Elvitelre"
 
 msgid "Fast Food"
 msgstr "Gyorsétterem"
 
-msgid "fish_and_chips"
-msgstr "fish and chips"
-
-msgid "chicken"
-msgstr "csirke"
-
 msgid "Food Court"
 msgstr "Étkezőcsarnok"
 
 msgid "Cafe"
 msgstr "Kávézó"
 
-msgid "ice_cream"
-msgstr "jégkrém"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Kocsma"
@@ -20626,6 +20872,12 @@ msgstr "Szórakozás/Vidámpark"
 msgid "Water Park"
 msgstr "Akvapark"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Szauna"
 
@@ -20660,14 +20912,11 @@ msgstr "tűzrakóhely"
 msgid "Fishing"
 msgstr "Horgászat"
 
-msgid "Private Swimming Pool"
-msgstr "Magán úszómedence"
-
 msgid "Night Club"
 msgstr "Éjszakai klub"
 
 msgid "Casino"
-msgstr ""
+msgstr "Kaszinó"
 
 msgid "Strip Club"
 msgstr "Sztriptízbár"
@@ -20707,12 +20956,18 @@ msgstr "szobor (emlékmű)"
 msgid "Artist Name"
 msgstr "Művész neve"
 
-msgid "Recording Studio"
-msgstr "Stúdió"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "hang"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "videó"
 
@@ -20816,6 +21071,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "hetednapi adventista"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Mecset"
 
@@ -20975,6 +21234,125 @@ msgstr "(Használj nemzetközi kódot, mint +12-345-67890)"
 msgid "Veterinary"
 msgstr "Állatorvos"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Automata defibrillátor"
+
+msgid "Located inside a building?"
+msgstr "Épületen belül van elhelyezve?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Utolsó vizsgálat dátuma (YYYY-MM-DD)"
+
+msgid "Last check note"
+msgstr "Utolsó vizsgálati jegyzet"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr "Beltéri"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Tűzcsap"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "föld alatti"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "oszlop"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "fali"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "tó"
+
+msgid "Diameter (in mm)"
+msgstr "Átmérő (mm-ben)"
+
+msgid "Hydrant Position"
+msgstr "Tűzcsap pozíció"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "sáv"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parkolóhely"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "járda"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "zöldfelület"
+
+msgid "Pressure (in bar)"
+msgstr "Nyomás (barban)"
+
+msgid "suction"
+msgstr "szivattyús"
+
+msgid "Count"
+msgstr "Darabszám"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Segélykérő telefon"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -20985,7 +21363,7 @@ msgid "Group Home"
 msgstr ""
 
 msgid "For"
-msgstr ""
+msgstr "Kinek"
 
 msgid "Assisted Living"
 msgstr ""
@@ -21005,15 +21383,15 @@ msgstr "Mosdók/WC"
 
 msgctxt "restroom"
 msgid "Female"
-msgstr ""
+msgstr "Nő"
 
 msgctxt "restroom"
 msgid "Male"
-msgstr ""
+msgstr "Férfi"
 
 msgctxt "restroom"
 msgid "Unisex"
-msgstr ""
+msgstr "Koedukált"
 
 msgid "flush"
 msgstr "öblítéses"
@@ -21044,10 +21422,10 @@ msgstr "vizelő"
 
 msgctxt "toilets"
 msgid "Diaper"
-msgstr ""
+msgstr "Pelenkázó"
 
 msgid "room"
-msgstr ""
+msgstr "szoba"
 
 msgid "Post Box"
 msgstr "Postaláda"
@@ -21057,15 +21435,15 @@ msgstr "Begyűjtési időpontok"
 
 msgctxt "post_box"
 msgid "pillar"
-msgstr ""
+msgstr "oszlop"
 
 msgctxt "post_box"
 msgid "lamp"
-msgstr ""
+msgstr "oszlopon álló"
 
 msgctxt "post_box"
 msgid "wall"
-msgstr ""
+msgstr "fali"
 
 msgctxt "post_box"
 msgid "meter"
@@ -21087,24 +21465,9 @@ msgstr "Jegyzetek"
 msgid "Telephone cards"
 msgstr "Telefonkártya"
 
-msgid "Emergency Phone"
-msgstr "Segélykérő telefon"
-
 msgid "Internet Access"
 msgstr "Internet hozzáférés"
 
-msgid "Automated Defibrillator"
-msgstr "Automata defibrillátor"
-
-msgid "Located inside a building?"
-msgstr "Épületen belül van elhelyezve?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Utolsó vizsgálat dátuma (YYYY-MM-DD)"
-
-msgid "Last check note"
-msgstr "Utolsó vizsgálati jegyzet"
-
 msgid "Clock"
 msgstr "Óra"
 
@@ -21148,7 +21511,7 @@ msgid "Shows humidity"
 msgstr "Kijelzi a páratartalmat"
 
 msgid "Recycling Container"
-msgstr ""
+msgstr "Szelektív hulladékgyűjtő konténer"
 
 msgid "Batteries"
 msgstr "Akkumulátorok"
@@ -21157,7 +21520,7 @@ msgid "Cans"
 msgstr "Konzerv"
 
 msgid "Cardboard"
-msgstr ""
+msgstr "Karton"
 
 msgid "Electrical Appliances"
 msgstr ""
@@ -21175,7 +21538,7 @@ msgid "Paper"
 msgstr "Papír"
 
 msgid "Plastic"
-msgstr ""
+msgstr "Műanyag"
 
 msgid "Plastic Bottles"
 msgstr ""
@@ -21267,64 +21630,15 @@ msgctxt "height"
 msgid "full"
 msgstr "teljes"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Rejtett"
+msgstr ""
 
 msgid "Lock"
 msgstr "Zárható"
 
-msgid "Indoor"
-msgstr "Beltéri"
-
-msgid "Fire Hydrant"
-msgstr "Tűzcsap"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "föld alatti"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "oszlop"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "fali"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "tó"
-
-msgid "Diameter (in mm)"
-msgstr "Átmérő (mm-ben)"
-
-msgid "Hydrant Position"
-msgstr "Tűzcsap pozíció"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "sáv"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parkolóhely"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "járda"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "zöldfelület"
-
-msgid "Pressure (in bar)"
-msgstr "Nyomás (barban)"
-
-msgid "suction"
-msgstr "szivattyús"
-
-msgid "Count"
-msgstr "Darabszám"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr ""
@@ -21369,17 +21683,70 @@ msgid "artificial_turf"
 msgstr ""
 
 msgid "decoturf"
-msgstr ""
+msgstr "DecoTurf"
 
 msgid "tartan"
-msgstr ""
+msgstr "tartan gumi"
 
 msgid "Racetrack"
 msgstr "Versenypálya"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golfpálya"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Minigolf"
 
@@ -21415,7 +21782,7 @@ msgid "Track and Field Athletics"
 msgstr "Klasszikus atlétika"
 
 msgid "Running"
-msgstr ""
+msgstr "Futás"
 
 msgid "Climbing"
 msgstr "Falmászás"
@@ -21594,7 +21961,7 @@ msgid "Basketball"
 msgstr "Kosárlabda"
 
 msgid "Handball"
-msgstr ""
+msgstr "Kézilabda"
 
 msgid "Volleyball"
 msgstr "Röplabda"
@@ -21603,10 +21970,7 @@ msgid "Beach Volleyball"
 msgstr "Strand röplabda"
 
 msgid "Billiards"
-msgstr ""
-
-msgid "Golf"
-msgstr "Golf"
+msgstr "Billiárd"
 
 msgid "golf_course"
 msgstr "golfpálya"
@@ -21772,6 +22136,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "tehénistálló"
 
@@ -21780,6 +22148,38 @@ msgid "construction"
 msgstr "építkezés"
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Szintek"
 
@@ -21892,6 +22292,9 @@ msgstr "Szélmalom"
 msgid "Gasometer"
 msgstr "Gáztározó"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "Tárolótartály"
 
@@ -22293,6 +22696,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -22302,6 +22713,9 @@ msgstr "Romok"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Energia"
+
 msgid "Power Plant"
 msgstr "Feszültségelosztó telep"
 
@@ -22738,11 +23152,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Elosztó szekrény"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Kábeltartó torony"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr "Szerkezet típusa"
@@ -22763,6 +23180,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "piros/fehér"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr "portál"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "két szintes portál"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "három szintes portál"
+
+msgid "Power Tower"
+msgstr "Kábeltartó torony"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -22886,18 +23321,6 @@ msgid "guyed_h-frame"
 msgstr "kábeles h keret"
 
 msgctxt "power"
-msgid "portal"
-msgstr "portál"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "két szintes portál"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "három szintes portál"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "kábeles v keret"
 
@@ -22930,6 +23353,9 @@ msgstr "Pózna tulajdonságok:"
 msgid "Transformer Attributes:"
 msgstr "Transzformátor jellemzők:"
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Távvezeték"
 
@@ -23187,6 +23613,9 @@ msgstr "Bútorbolt"
 msgid "Kitchen"
 msgstr "Konyhafelszerelés bolt"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Függönybolt"
 
@@ -23229,12 +23658,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Drogéria"
 
-msgid "Hairdresser/Barber"
-msgstr "Fodrász/Borbély"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "Szépségszalon"
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr "Fodrász/Borbély"
+
 msgid "Tattoo"
 msgstr "Tetoválás"
 
@@ -23470,15 +23908,15 @@ msgid "Litecoin"
 msgstr "Litecoin"
 
 msgid "Offices"
-msgstr ""
+msgstr "Irodák"
 
 msgctxt "office"
 msgid "Accountant"
-msgstr ""
+msgstr "Könyvelő"
 
 msgctxt "office"
 msgid "Administrative"
-msgstr ""
+msgstr "Közigazgatás"
 
 msgctxt "office"
 msgid "Advertising agency"
@@ -23486,7 +23924,7 @@ msgstr ""
 
 msgctxt "office"
 msgid "Architect"
-msgstr ""
+msgstr "Építész"
 
 msgctxt "office"
 msgid "Association"
@@ -23494,47 +23932,47 @@ msgstr ""
 
 msgctxt "office"
 msgid "Private company"
-msgstr ""
+msgstr "Vállalat"
 
 msgctxt "office"
 msgid "Educational institution"
-msgstr ""
+msgstr "Oktatási intézmény"
 
 msgctxt "office"
 msgid "Employment agency"
-msgstr ""
+msgstr "Munkaközvetítő"
 
 msgctxt "office"
 msgid "Estate agent"
-msgstr ""
+msgstr "Ingatlaniroda"
 
 msgctxt "office"
 msgid "Foundation"
-msgstr ""
+msgstr "Alapítvány"
 
 msgctxt "office"
 msgid "Government"
-msgstr ""
+msgstr "Állami intézmény"
 
 msgctxt "office"
 msgid "Insurance"
-msgstr ""
+msgstr "Biztosító"
 
 msgctxt "office"
 msgid "It specialist"
-msgstr ""
+msgstr "IT szakértő"
 
 msgctxt "office"
 msgid "Lawyer"
-msgstr ""
+msgstr "Ügyvéd"
 
 msgctxt "office"
 msgid "Newspaper"
-msgstr ""
+msgstr "Újságkiadó"
 
 msgctxt "office"
 msgid "Non-governmental organisation (NGO)"
-msgstr ""
+msgstr "Civil szervezet"
 
 msgctxt "office"
 msgid "Notary"
@@ -23542,22 +23980,97 @@ msgstr ""
 
 msgctxt "office"
 msgid "Political party"
-msgstr ""
+msgstr "Politikai párt"
 
 msgctxt "office"
 msgid "Religion"
-msgstr ""
+msgstr "Egyházi intézmény"
 
 msgctxt "office"
 msgid "Research"
-msgstr ""
+msgstr "Kutatás-fejlesztés"
 
 msgctxt "office"
 msgid "Tax advisor"
-msgstr ""
+msgstr "Adótanácsadó"
 
 msgctxt "office"
 msgid "Telecommunication"
+msgstr "Telekommunikáció"
+
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
 msgstr ""
 
 msgid "Geography"
@@ -23573,13 +24086,13 @@ msgid "Administrative level"
 msgstr "Közigazgatási szint"
 
 msgid "Maritime"
-msgstr ""
+msgstr "Tengeri"
 
 msgid "Political"
 msgstr "Politikai"
 
 msgid "Division"
-msgstr "Osztály"
+msgstr "Közigazgatási egység"
 
 msgid "canton"
 msgstr "Kanton"
@@ -23588,7 +24101,7 @@ msgid "linguistic_community"
 msgstr "Nyelvi közösség"
 
 msgid "ward"
-msgstr "őrség"
+msgstr "ward"
 
 msgid "Postal Code"
 msgstr "Irányítószám"
@@ -23597,28 +24110,28 @@ msgid "National Park"
 msgstr "Nemzeti park"
 
 msgid "Protected Area"
-msgstr "Védett Terület"
+msgstr "Védett terület"
 
 msgid "Protect Class"
 msgstr ""
 
 msgid "Title or type of protection"
-msgstr "Felirat vagy a védelem típusa"
+msgstr "A védelem címe vagy típusa"
 
 msgid "Border type"
-msgstr ""
+msgstr "Határ típus"
 
 msgid "baseline"
-msgstr ""
+msgstr "alapvonal"
 
 msgid "territorial"
-msgstr ""
+msgstr "parti tenger"
 
 msgid "contiguous"
-msgstr ""
+msgstr "csatlakozó övezet"
 
 msgid "eez"
-msgstr ""
+msgstr "kizárólagos gazdasági övezet"
 
 msgid "Places"
 msgstr "Helyek"
@@ -23646,13 +24159,13 @@ msgid "Town"
 msgstr "Város"
 
 msgid "Village"
-msgstr "Nagyközség"
+msgstr "Falu"
 
 msgid "Hamlet"
-msgstr "Falu"
+msgstr "Falucska"
 
 msgid "Isolated Dwelling"
-msgstr "Különálló házak"
+msgstr "Különálló lakhely"
 
 msgid "Suburb"
 msgstr "Településrész"
@@ -23664,10 +24177,10 @@ msgid "Farm"
 msgstr "Tanya"
 
 msgid "A farm within a bigger settlement"
-msgstr "Farm egy nagyobb telepen belül"
+msgstr "Tanya egy nagyobb településen belül"
 
 msgid "(please use isolated_dwelling for an isolated farm)"
-msgstr "(kérlek használd az isolated_dwelling jelölést a különálló tanyáért)"
+msgstr "(kérlek használd az isolated_dwelling címkét a különálló tanyáért)"
 
 msgid "Locality"
 msgstr "Lakosság nélküli hely"
@@ -23690,7 +24203,7 @@ msgstr "Gleccser"
 msgid ""
 "A persistent body of dense ice that is constantly moving under its own "
 "weight."
-msgstr "A sűrű jég állandó tömege, ami állandóan mozog a saját súlya alatt."
+msgstr "Állandó tömör jégtömb, ami folyamatosan mozog a saját súlya alatt."
 
 msgid "Volcano"
 msgstr "Vulkán"
@@ -23714,7 +24227,7 @@ msgid "shield"
 msgstr "pajzs"
 
 msgid "scoria"
-msgstr "vulkáni salak"
+msgstr "salak"
 
 msgid "Ridge"
 msgstr "Gerinc"
@@ -23728,6 +24241,16 @@ msgstr "Völgy"
 msgid "A low area between hills."
 msgstr "Egy alacsonyan fekvő terület a hegyek között."
 
+msgid "Cliff"
+msgstr "Szikla"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Meredek, kitett szikla felület jelentős függőleges vagy majdnem függőleges "
+"részekkel (az alacsonyabban lévő felületet kell a vonal jobb oldalára rakni)."
+
 msgid "Cave Entrance"
 msgstr "Barlangbejárat"
 
@@ -23768,7 +24291,7 @@ msgid "Forest"
 msgstr "Ültetett erdő"
 
 msgid "Cutline"
-msgstr ""
+msgstr "Irtás"
 
 msgctxt "cutline"
 msgid "border"
@@ -23792,7 +24315,7 @@ msgstr "csővezeték"
 
 msgctxt "cutline"
 msgid "piste"
-msgstr ""
+msgstr "sípálya"
 
 msgctxt "cutline"
 msgid "section"
@@ -23833,7 +24356,7 @@ msgid "Scree"
 msgstr "Törmeléklejtő"
 
 msgid "An accumulation of loose rocks."
-msgstr "Sziklák felhalmozódása."
+msgstr "Laza kőtörmelék felhalmozódása."
 
 msgid "Fell"
 msgstr "Kopár hegyoldal"
@@ -23889,6 +24412,8 @@ msgid ""
 "A notable rock or group of rocks, with at least one of them firmly attached "
 "to the underlying bedrock."
 msgstr ""
+"Egy jellegzetes szikla vagy sziklacsoport, ami szilárdan kapcsolódik az "
+"alapkőzethez."
 
 msgid "Tourism attraction"
 msgstr "Turistalátványosság"
@@ -23907,7 +24432,7 @@ msgid "Land use"
 msgstr "Területfunkció"
 
 msgid "Farmyard"
-msgstr "Farmudvar"
+msgstr "Tanyaudvar"
 
 msgid "Farmland"
 msgstr "Mezőgazdasági terület"
@@ -23941,6 +24466,51 @@ msgstr "Mező"
 msgid "Orchard"
 msgstr "Gyümölcsös"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Szőlőültetvény"
 
@@ -24735,9 +25305,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} elavult"
-
 msgid "{0} is deprecated"
 msgstr "{0} elavult"
 
@@ -24765,8 +25332,8 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} elavult. Használj helyette multipolygont."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr ""
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -24816,6 +25383,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} egy ponton. Vonalon kellene használni."
 
@@ -24831,6 +25407,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} egy vonalon van. Egy kapcsolatban kellene használni"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} egy ponton"
 
@@ -24853,11 +25432,14 @@ msgid "Overlapping Identical Landuses"
 msgstr "Különböző területhasználatok átfednek"
 
 msgid "{0} must be connected to a way"
-msgstr "{0}-nek muszály egy vonalhoz kapcsolódnia"
+msgstr "{0} muszáj egy vonalhoz kapcsolódjon"
 
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "rövidített utca név"
 
@@ -24901,9 +25483,8 @@ msgstr "réteg címke + jellel"
 msgid "layer should be between -5 and 5"
 msgstr "a rétegnek -5 és 5 között kell lennie"
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
-"a szinteknek számoknak kell lenniük, opcionálisan 0.5-ös emelkedéssel"
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -24992,7 +25573,7 @@ msgid "''wikipedia''=''language:page title''"
 msgstr "''wikipedia''=''language:page title''"
 
 msgid "Hide icons at low zoom"
-msgstr "Ikonok elrejtése alacsony nagytáson"
+msgstr "Ikonok elrejtése alacsony nagyításon"
 
 msgid "Less obtrusive node symbols at low zoom"
 msgstr "Kevésbé tolakodó pont szimbólumok alacsony nagyításnál"
@@ -25001,22 +25582,22 @@ msgid "Display street labels (at high zoom)"
 msgstr "Utca feliratok megjelenítése (magas nagyításnál)"
 
 msgid "Use alternative turn restriction icon set"
-msgstr ""
+msgstr "Alternatív kanyarodási korlátozás ikonkészlet használata"
 
 msgid "Display fill colour of areas with place=*"
-msgstr ""
+msgstr "place=* címkéjű felületek kitöltése színnel"
 
 msgid "Areas are drawn with fill only around their inner edges"
-msgstr ""
+msgstr "A felületek csak a határvonaluk mentén legyenek kitöltve"
 
 msgid "Columbus V-900 CSV Files"
-msgstr "Columbus V-900 CSV Files"
+msgstr "Columbus V-900 CSV fájlok"
 
 msgid "Importing CSV file ''%s''..."
 msgstr "CSV fájl betöltése ''%s''..."
 
 msgid "Markers of "
-msgstr "Jelölői a "
+msgstr "Ennek a jelölői: "
 
 msgid "Show summary after import"
 msgstr "Összefoglaló megjelenítése a betöltés után"
@@ -25025,7 +25606,7 @@ msgid "Do not zoom after import"
 msgstr "Ne nagyítson a betöltés után"
 
 msgid "Ignore hdop/vdop/pdop entries"
-msgstr "A hdop/vdop/pdop bemenetek kihagyása"
+msgstr "A hdop/vdop/pdop értékek kihagyása"
 
 msgid "Warn on missing audio files"
 msgstr "Figyelmeztessen a hiányzó hagfájlokra"
@@ -25034,7 +25615,7 @@ msgid "Warn on conversion errors"
 msgstr "Figyelmeztessen a konverziós hibákra"
 
 msgid "Error in line "
-msgstr "Hiba a sorban "
+msgstr "Hiba a sorban: "
 
 msgid "Missing audio file"
 msgstr "Hiányzó hangfájl"
@@ -25068,7 +25649,7 @@ msgid "Processing..."
 msgstr "Feldolgozás..."
 
 msgid "Aborted"
-msgstr "Megszakított"
+msgstr "Megszakadt"
 
 msgid "Error executing the script: "
 msgstr "Hiba a szkript futtatásakor: "
@@ -28388,7 +28969,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -28701,6 +29282,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -28716,41 +29300,55 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
-msgid "Measured values"
+msgid "The image key ''{0}'' is invalid!"
 msgstr ""
 
-msgid "Open the measurement window."
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
 msgstr ""
 
+msgid "Measured values"
+msgstr "Mért értékek"
+
+msgid "Open the measurement window."
+msgstr "Nyisd mg a mérési ablakot"
+
 msgid "Reset current measurement results and delete measurement path."
 msgstr ""
+"Alaphelyzetbe állítja az aktuális mérési eredményeket és törli a mérési "
+"útvonalat."
 
 msgid "Path Length"
-msgstr ""
+msgstr "Útvonal hossza"
 
 msgid "Selection Length"
-msgstr ""
+msgstr "Kiválasztás hossza"
 
 msgid "Selection Area"
-msgstr ""
+msgstr "Kiválasztás területe"
 
 msgid "Selection Radius"
-msgstr ""
+msgstr "Kiválasztás sugara"
 
 msgid "Angle"
-msgstr ""
+msgstr "Szög"
 
 msgid "Angle between two selected Nodes"
-msgstr ""
+msgstr "Két kiválasztott pont közti szög"
 
 msgid "Layer to make measurements"
-msgstr ""
+msgstr "Réteg a mérések elvégzéséhez"
 
 msgid "measurement mode"
-msgstr ""
+msgstr "mérés mód"
 
 msgid "Measurements"
-msgstr ""
+msgstr "Mérések"
 
 msgid "Merge overlap"
 msgstr ""
@@ -30075,6 +30673,12 @@ msgstr "Proj4J bővítmény"
 msgid "Code"
 msgstr "Kód"
 
+msgid "Can''t parse a time from this string."
+msgstr "Ebből a karakterláncból nem lehet időt bedolgozni."
+
+msgid "Invalid value"
+msgstr "Helytelen érték"
+
 msgid "added"
 msgstr "hozzáadott"
 
@@ -30163,15 +30767,6 @@ msgstr "Elkap"
 msgid "Join"
 msgstr "Összekapcsol"
 
-msgid "Enable"
-msgstr "Engedélyez"
-
-msgid "Can''t parse a time from this string."
-msgstr "Ebből a karakterláncból nem lehet időt bedolgozni."
-
-msgid "Invalid value"
-msgstr "Helytelen érték"
-
 msgid "moved"
 msgstr "mozgatott"
 
@@ -30502,60 +31097,64 @@ msgid "Way platform without ''platform'' role found"
 msgstr ""
 
 msgid "Revert changeset fully"
-msgstr ""
+msgstr "Módosításcsomag teljes visszaállítása"
 
 msgid "Revert selection only"
-msgstr ""
+msgstr "Csak a kiválasztott elemek visszaállítása"
 
 msgid "Revert selection and restore deleted objects"
 msgstr ""
+"Kiválasztott elemek visszaállítása és a törölt objektumok helyreállítása"
 
 msgid "Revert changeset"
-msgstr ""
+msgstr "Módosításcsomag visszaállítása"
 
 msgid "Revert"
-msgstr ""
+msgstr "Visszaállítás"
 
 msgid "Enter the ID of the changeset that should be reverted"
-msgstr ""
+msgstr "Add meg a visszaállítandó módosításcsomag ID-jét"
 
 msgid "Reverted changeset"
-msgstr ""
+msgstr "Visszaállított módosításcsomag"
 
 msgid "It is not allowed to revert changeset from {0}"
 msgstr ""
 
 msgid "Downloading objects history"
-msgstr ""
+msgstr "Objektumok előzményeinek letöltése"
 
 msgid "Missing merge target for {0} with id {1}"
 msgstr ""
 
 msgid "Objects history"
-msgstr ""
+msgstr "Objektumok előzménye"
 
 msgid "History reverter"
-msgstr ""
+msgstr "Előzmény visszállító"
 
 msgid "Tool: Display objects history dialog"
 msgstr ""
 
 msgid "Preparing history data..."
-msgstr ""
+msgstr "Előzmény adatok előkészítése…"
 
 msgid "Remote Control has been asked to revert a changeset."
 msgstr ""
 
 msgid "Reverting..."
-msgstr ""
+msgstr "Visszaállítás…"
 
 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 ""
+"Ez a módosításcsomag olyan objektumokat is tartalmaz, amik nem találhatóak "
+"meg a jelenlegi adathalmazban.\n"
+"A visszaállítás előtt ezeket le kell tölteni. Szeretnéd folytatni?"
 
 msgid "Confirm"
-msgstr "Megerősít"
+msgstr "Megerősítés"
 
 msgid "Fetching missing primitives"
 msgstr "Hiányzó elemek lekérése"
@@ -30567,7 +31166,7 @@ msgid "See {0}"
 msgstr ""
 
 msgid "Revert changeset #{0}"
-msgstr ""
+msgstr "#{0} módosításcsomag visszaállítása"
 
 msgid ""
 "Warning: unsupported start element ''{0}'' in changeset content at position "
@@ -30580,7 +31179,7 @@ msgid ""
 msgstr ""
 
 msgid "Road Sign Plugin"
-msgstr ""
+msgstr "Közlekedés jelzőtábla bővítmény"
 
 msgid "signs"
 msgstr "táblák"
@@ -30589,28 +31188,28 @@ msgid "Change Properties"
 msgstr "Tulajdonságok megváltoztatása"
 
 msgid "Country preset:"
-msgstr ""
+msgstr "Ország címkekészlet:"
 
 msgid "Show all signs"
-msgstr ""
+msgstr "Összes tábla megjelenítése"
 
 msgid "Show a selection of the most useful signs"
-msgstr ""
+msgstr "Csak a leghasznosabb táblák megjelenítése"
 
 msgid "Belgium"
-msgstr ""
+msgstr "Belgium"
 
 msgid "Spain"
-msgstr ""
+msgstr "Spanyolország"
 
 msgid "Germany"
-msgstr ""
+msgstr "Németország"
 
 msgid "Poland"
-msgstr ""
+msgstr "Lengyelország"
 
 msgid "Slovakia"
-msgstr ""
+msgstr "Szlovákia"
 
 msgid "Roadsign tagging"
 msgstr ""
@@ -32270,6 +32869,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr "A kijelölt objektumok összes címkéinek másolása a vágólapra."
+
 msgid "Extract node"
 msgstr "Pont kiterjesztése"
 
@@ -32909,6 +33511,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Nevek hozzáadása a Wikipedia-ról"
 
@@ -32997,6 +33604,3 @@ msgstr "Vezetés"
 
 msgid "Drive a race car on this layer"
 msgstr "Autóverseny ezen a rétegen"
-
-#~ msgid "Retirement Home"
-#~ msgstr "Nyugdíjas otthon"
diff --git a/i18n/po/hy.po b/i18n/po/hy.po
index 6184cb4..1a87272 100644
--- a/i18n/po/hy.po
+++ b/i18n/po/hy.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:32+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:33+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: hy\n"
 
 msgid "Cancel"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/ia.po b/i18n/po/ia.po
index 5d4ed4a..383aad0 100644
--- a/i18n/po/ia.po
+++ b/i18n/po/ia.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:46+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:47+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: ia\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/id.po b/i18n/po/id.po
index 38ca05a..30bd6a6 100644
--- a/i18n/po/id.po
+++ b/i18n/po/id.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-04-10 09:39+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: 2016-01-06 04:47+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:47+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: id\n"
 "X-Language: id_ID\n"
 
@@ -398,6 +398,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr "Membalikan Jalur-Jalur"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Gabungkan jalan {0}"
@@ -454,6 +457,12 @@ msgstr "Hapus"
 msgid "Delete selected objects."
 msgstr "Hapus objek terpilih."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Mengatur panel dialog"
 
@@ -1255,9 +1264,6 @@ msgstr "Klik untuk memulai ulang nanti."
 msgid "Reverse way"
 msgstr "Membalikan Jalur"
 
-msgid "Reverse Ways"
-msgstr "Membalikan Jalur-Jalur"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Balikan arah dari semua jalur yang terpilih."
 
@@ -1616,6 +1622,16 @@ msgstr ""
 "karena anda tidak dapat objek yang sebenarnya.<br>Apakah anda yakin tetap "
 "ingin memisahkan?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2379,6 +2395,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Tambahkan seleksi pada relasi"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Tambahkan seleksi ke {0} relasi"
@@ -2419,6 +2440,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Penyusun relasi: {0}"
+
 msgid "Select in relation list"
 msgstr "Pilih pada daftar relasi"
 
@@ -2792,8 +2822,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Mengharapkan <i>min</i>/<i>max</i> setelah ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr "Jangkauan id primitif diperkirakan"
@@ -3386,9 +3419,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr " (pada garis {0}, kolom {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Pengaturan pilihan {0} telah dihapus sejak tidak dipakai lagi"
 
@@ -3447,6 +3477,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "T"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "Proyeksi ''{0}'' tidak ditemukan, penanda ''{1}'' tidak dapat digunakan"
@@ -3693,6 +3726,9 @@ msgstr "teks"
 msgid "areatext"
 msgstr "teks area"
 
+msgid " (at line {0}, column {1})"
+msgstr " (pada garis {0}, kolom {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3776,12 +3812,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parameter ''{0}'' dibutuhkan."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Lambert Conformal Conic"
 
@@ -3791,6 +3839,24 @@ msgstr "Lintang/Bujur (Geodetik)"
 msgid "Mercator"
 msgstr "Merkator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Swiss Oblique Mercator"
 
@@ -4378,6 +4444,9 @@ msgstr "spasi tidak valid pada kunci properti"
 msgid "Property values start or end with white space"
 msgstr "Nilai properti mulai atau akhir dengan spasi"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Nilai properti mengandung  HTML"
 
@@ -5086,9 +5155,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -5147,12 +5213,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Garis lintang geografis pada penunjuk mouse."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Garis bujur geografis pada penunjuk mouse."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "header (kompas) pada segmen jalur sedang digambar"
 
@@ -5181,6 +5241,18 @@ msgstr "Pengguna:"
 msgid "Do not hide status bar"
 msgstr "Jangan menyembunyikan status bar"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Garis lintang geografis pada penunjuk mouse."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Garis bujur geografis pada penunjuk mouse."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -6036,6 +6108,18 @@ msgstr "Selesaikan"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "Buka gabungan dialog dari semua item yang dipilih pada daftar diatas"
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Terdapat {0} konflik ditemukan."
@@ -6156,6 +6240,9 @@ msgstr "Pindahkan filter ke bawah"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Saringan disembunyikan:{0} Dinon-aktifkan:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Error pada filter"
 
@@ -6594,6 +6681,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6946,21 +7036,15 @@ msgid_plural ""
 msgstr[0] ""
 "<html>Tidak ada objek yang tersedia saat ini<br>edit layer ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "download isi"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Unduh isi set perubahan dari server OSM"
-
-msgid "Update content"
-msgstr "Perbarui isi"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Perbarui konten perubahan set dari server OSM"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Download dan tunjukkan riwayat dari objek yang dipilih"
 
+msgid "Download objects"
+msgstr "Download objek"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "Tunjukkan pada layer"
 
@@ -7063,6 +7147,18 @@ msgstr "Buka"
 msgid "closed"
 msgstr "Ditutup"
 
+msgid "Download content"
+msgstr "download isi"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Unduh isi set perubahan dari server OSM"
+
+msgid "Update content"
+msgstr "Perbarui isi"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Perbarui konten perubahan set dari server OSM"
+
 msgid "Changeset ID: "
 msgstr "ID set perubahan: "
 
@@ -7433,8 +7529,8 @@ msgstr "Edit value pada key yang dipilih untuk semua objek"
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Pergi ke wiki OSm untuk tag bantuan (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Luncurkan browser dengan bantuan wiki untuk objek yang dipilih"
@@ -7469,6 +7565,9 @@ msgstr "Salin semua key/value"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Cari Key/Value/Tipe"
 
@@ -7534,6 +7633,27 @@ msgstr "Mengatur jumlah tag/label yang baru ditambahkan"
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Aktifkan"
+
+msgid "Hide"
+msgstr "Sembunyikan"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7644,9 +7764,6 @@ msgstr "Relasi baru"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "fokus mengatur relasi dengan relasi ''{0}'' di layer ''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Penyusun relasi: {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 "
@@ -7687,6 +7804,73 @@ msgstr ""
 "referensi bulat dan oleh karena itu disarankan.<br>Melewatkan relasi "
 "''{0}''.</html>"
 
+msgid "Select previous Gap"
+msgstr "memilih jarak sebelumnya"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "memilih relasi member sebelumnya yang menimbulkan jarak"
+
+msgid "Select next Gap"
+msgstr "memilih jarak selanjutnya"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "memilih relasi member selanjutnya yang menimbulkan jarak"
+
+msgid "Zoom to Gap"
+msgstr "Perbesar ke jarak"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Perbesar ke jarak pada rangkaian way/garis"
+
+msgid "Refers to"
+msgstr "menunjukkan ke"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
+
+msgid "Download referring relations"
+msgstr "download relasi yang ditunjuk"
+
+msgid "There were {0} conflicts during import."
+msgstr "Ada  {0} terjadi konflik selama mengimpor."
+
+msgid "including immediate children of parent relations"
+msgstr "termasuk children dari relasi parent"
+
+msgid "Load parent relations"
+msgstr "Memuat relasi keluarga"
+
+msgid "Reload"
+msgstr "Muat ulang"
+
+msgid "Loading parent relations"
+msgstr "Memuat relasi keluarga"
+
+msgid "Edit the currently selected relation"
+msgstr "Edit relasi yang dipilih"
+
+msgid "Apply Changes"
+msgstr "Terapkan Perubahan"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Buat relasi baru pada layer ''{0}''"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Edit relasi baru pada layer ''{0}''"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Edit relasi #{0} pada layer \"{1}\""
+
+msgid "Load relation"
+msgstr "Memuat relasi"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"menambahkan semua objek yang dipilih pada dataset saat ini sesudah member "
+"yang terakhir dipilih"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -7700,66 +7884,129 @@ msgstr ""
 "menambahkan semua objek yang dipilih pada dataset saat ini sebelum member "
 "yang pertama dipilih"
 
+msgid "Apply the current updates"
+msgstr "Terapkan pembaruan saat ini"
+
+msgid "Cancel the updates and close the dialog"
+msgstr "Tunda memperbaharui dan tutup kotak dialog"
+
+msgid "Yes, save the changes and close"
+msgstr "Ya, simpan perubahan dan tutup"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Klik simpan perubahan dan tutup relasi editor"
+
+msgid "No, discard the changes and close"
+msgstr "Tidak, abaikan perubahan dan tutup"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Klik abaikan perubahan dan tutup relasi editor"
+
+msgid "Cancel, continue editing"
+msgstr "Tunda, meneruskan mengedit"
+
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+"Klik untuk mengembalikan editor relasi dan untuk melanjutkan relasi editing"
+
 msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 msgstr ""
-"menambahkan semua objek yang dipilih pada dataset saat ini sesudah member "
-"yang terakhir dipilih"
+"<html>relasi sudah diubah.<br><br>Apakah Anda ingin menyimpan "
+"perubahan?</html>"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Menghapus semua member yang merujuk ke salah satu objek yang dipilih"
+msgid "Unsaved changes"
+msgstr "Tidak simpan perubahan"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr "memilih relasi member yang menunjukkan objek yang dipilih saat ini"
+msgid "Delete the currently edited relation"
+msgstr "Hapus relasi saat diedit"
+
+msgid "Relation Editor: Download Members"
+msgstr "Editor Relasi: Download anggota"
+
+msgid "Download all incomplete members"
+msgstr "download semua member yang tidak komplit"
+
+msgid "Download Members"
+msgstr "Unduh anggota"
+
+msgid "Download selected incomplete members"
+msgstr "Unduh anggota lengkap yang dipilih"
+
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Edit relasi dari anggota relasi yang dipilih yang mengacu pada"
+
+msgid "Relation Editor: Move Down"
+msgstr "Editor Relasi:Pindahkan ke bawah"
+
+msgid "Move the currently selected members down"
+msgstr "Pindahkan member dibawah yang terpilih"
+
+msgid "Relation Editor: Move Up"
+msgstr "Editor Relasi:Pindahkan ke atas"
+
+msgid "Move the currently selected members up"
+msgstr "Pindahkan member diatas yang terpilih"
+
+msgid "Apply the updates and close the dialog"
+msgstr "Terapkan pembaruan dan tutup dialog"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
-"memilih relasi member yang menunjukkan {0} objek yang dipilih saat ini"
+"Anggota dari buffer yang ditempelkan tidak dapat ditambahkan karena mereka "
+"tidak termasuk dalam layer yang ada."
 
-msgid "Select objects for selected relation members"
-msgstr "memilih objek yang dipilih  relasi member"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Sort the relation members"
-msgstr "sortir relasi member"
+msgid "Refresh relation from data layer"
+msgstr ""
 
-msgid "Relation Editor: Sort"
-msgstr "Menyusun relasi:sortir"
+msgid "Refresh"
+msgstr "Perbaharui"
 
-msgid "Sort below"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
-msgstr "membalik urutan relasi member"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
 
-msgid "Reverse"
-msgstr "Kebalikan"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "Pindahkan member diatas yang terpilih"
+msgid "No, continue editing"
+msgstr "Tidak, lanjutkan mengedit"
 
-msgid "Relation Editor: Move Up"
-msgstr "Editor Relasi:Pindahkan ke atas"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr "Pindahkan member dibawah yang terpilih"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "Relation Editor: Move Down"
-msgstr "Editor Relasi:Pindahkan ke bawah"
+msgid "Relation Editor: Remove"
+msgstr "Editor relasi:Hapus"
 
 msgid "Remove the currently selected members from this relation"
 msgstr "Hapus member yang terpilih dari relasi ini"
 
-msgid "Relation Editor: Remove"
-msgstr "Editor relasi:Hapus"
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Menghapus semua member yang merujuk ke salah satu objek yang dipilih"
 
-msgid "Delete the currently edited relation"
-msgstr "Hapus relasi saat diedit"
+msgid "Reverse the order of the relation members"
+msgstr "membalik urutan relasi member"
+
+msgid "Reverse"
+msgstr "Kebalikan"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -7777,13 +8024,6 @@ msgstr "Iya, buat konflik dan tutup"
 msgid "Click to create a conflict and close this relation editor"
 msgstr "Klik untuk membuat konflik dan tutup editor relasi ini"
 
-msgid "No, continue editing"
-msgstr "Tidak, lanjutkan mengedit"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Klik untuk mengembalikan editor relasi dan untuk melanjutkan relasi editing"
-
 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 "
@@ -7801,54 +8041,17 @@ msgstr ""
 "objek<br>''{1}''.<br>Silahkan selesaikan konflik ini terlebih dahulu, lalu "
 "coba lagi.</html>"
 
-msgid "Apply the current updates"
-msgstr "Terapkan pembaruan saat ini"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Terapkan pembaruan dan tutup dialog"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Tunda memperbaharui dan tutup kotak dialog"
-
-msgid "Yes, save the changes and close"
-msgstr "Ya, simpan perubahan dan tutup"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Klik simpan perubahan dan tutup relasi editor"
-
-msgid "No, discard the changes and close"
-msgstr "Tidak, abaikan perubahan dan tutup"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Klik abaikan perubahan dan tutup relasi editor"
+msgid "Select objects for selected relation members"
+msgstr "memilih objek yang dipilih  relasi member"
 
-msgid "Cancel, continue editing"
-msgstr "Tunda, meneruskan mengedit"
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr "memilih relasi member yang menunjukkan objek yang dipilih saat ini"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
-"<html>relasi sudah diubah.<br><br>Apakah Anda ingin menyimpan "
-"perubahan?</html>"
-
-msgid "Unsaved changes"
-msgstr "Tidak simpan perubahan"
-
-msgid "Add an empty tag"
-msgstr "menambahkan tag yang kosong"
-
-msgid "Download all incomplete members"
-msgstr "download semua member yang tidak komplit"
-
-msgid "Download Members"
-msgstr "Unduh anggota"
-
-msgid "Relation Editor: Download Members"
-msgstr "Editor Relasi: Download anggota"
-
-msgid "Download selected incomplete members"
-msgstr "Unduh anggota lengkap yang dipilih"
+"memilih relasi member yang menunjukkan {0} objek yang dipilih saat ini"
 
 msgid "Sets a role for the selected members"
 msgstr "Menerapkan peran untuk anggota yang dipilih"
@@ -7875,72 +8078,17 @@ msgstr "Tidak, jangan terapkan"
 msgid "Confirm empty role"
 msgstr "Konfirmasi peran kosong"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Edit relasi dari anggota relasi yang dipilih yang mengacu pada"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Anggota dari buffer yang ditempelkan tidak dapat ditambahkan karena mereka "
-"tidak termasuk dalam layer yang ada."
-
-msgid "Select previous Gap"
-msgstr "memilih jarak sebelumnya"
-
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "memilih relasi member sebelumnya yang menimbulkan jarak"
-
-msgid "Select next Gap"
-msgstr "memilih jarak selanjutnya"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "memilih relasi member selanjutnya yang menimbulkan jarak"
-
-msgid "Zoom to Gap"
-msgstr "Perbesar ke jarak"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Perbesar ke jarak pada rangkaian way/garis"
-
-msgid "Refers to"
-msgstr "menunjukkan ke"
-
-msgid "Download referring relations"
-msgstr "download relasi yang ditunjuk"
-
-msgid "There were {0} conflicts during import."
-msgstr "Ada  {0} terjadi konflik selama mengimpor."
-
-msgid "including immediate children of parent relations"
-msgstr "termasuk children dari relasi parent"
-
-msgid "Load parent relations"
-msgstr "Memuat relasi keluarga"
-
-msgid "Reload"
-msgstr "Muat ulang"
-
-msgid "Loading parent relations"
-msgstr "Memuat relasi keluarga"
-
-msgid "Edit the currently selected relation"
-msgstr "Edit relasi yang dipilih"
-
-msgid "Apply Changes"
-msgstr "Terapkan Perubahan"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Buat relasi baru pada layer ''{0}''"
+msgid "Relation Editor: Sort"
+msgstr "Menyusun relasi:sortir"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Edit relasi baru pada layer ''{0}''"
+msgid "Sort the relation members"
+msgstr "sortir relasi member"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Edit relasi #{0} pada layer \"{1}\""
+msgid "Sort below"
+msgstr ""
 
-msgid "Load relation"
-msgstr "Memuat relasi"
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "Garis terkoneksi"
@@ -8371,6 +8519,11 @@ msgid ""
 msgstr ""
 "<html>Versi <strong>{0}</strong> dibuat di <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8495,14 +8648,15 @@ msgid "Upload"
 msgstr "Upload"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Pilih aksi untuk menampilkan layer ini, jka anda klik tombol paling "
-"kir.<br/>Check \"upload\" untuk upload perubahan ke server OSM.<br/>Periksa "
-"\"Simpan\" untuk menyimpan layer ke file spesifik di sebelah kiri.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Berikan komentar singkat untuk perubahan yang Anda unggah:"
@@ -8695,9 +8849,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr "Download objek"
-
 msgid "Initializing nodes to download ..."
 msgstr "Menginisialisasi node/titik untuk di download"
 
@@ -9262,8 +9413,8 @@ msgid "{0} object to delete:"
 msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} objek untuk dihapus:"
 
-msgid "Show Tile Info"
-msgstr "Tampilkan infomasi indeks"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr ""
@@ -9271,17 +9422,23 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr "Perbesar otomatis"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Memuat indeks otomatis"
 
-msgid "Load All Tiles"
-msgstr "Memuat semua indeks"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "Memuat semua kesalahan indeks"
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "Memperbesar resolusi asal"
@@ -9289,26 +9446,17 @@ msgstr "Memperbesar resolusi asal"
 msgid "Change resolution"
 msgstr "Mengubah resolusi"
 
-msgid "Failed to create tile source"
-msgstr ""
-
-msgid "Show Errors"
-msgstr "Tampilkan kesalahan"
-
-msgid "Load Tile"
-msgstr "Memuat indeks"
-
 msgid "Increase zoom"
 msgstr "Meningkatkan perbesaran"
 
 msgid "Decrease zoom"
 msgstr "Menurunkan perbesaran"
 
-msgid "Snap to tile size"
-msgstr "Mengambil ukuran indeks"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Menghapus cache indeks"
+msgid "Failed to create tile source"
+msgstr ""
 
 msgid "zoom in to load any tiles"
 msgstr "Perbesar untuk memuat indeks peta"
@@ -9737,6 +9885,9 @@ msgstr ""
 "Kesalahan ketika mencocokkan offset\n"
 "Format yang diharapkan: {0}"
 
+msgid "Geotagged Images"
+msgstr "Citra Geotag"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Mengekstrak lokasi GPS dari EXIF"
 
@@ -9761,9 +9912,6 @@ msgstr "Kerusakan ketika mendapatkan file dari direktori {0}\n"
 msgid "One of the selected files was null"
 msgstr "Satu dari file yang dipilih kosong"
 
-msgid "Geotagged Images"
-msgstr "Citra Geotag"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} memuat gambar."
@@ -10146,10 +10294,8 @@ msgstr[0] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
+msgid "Failed to locate image ''{0}''"
+msgstr "Gagal untuk menemukan gambar \"{0}\""
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Pola dasbor ilegal, nilai-nilai harus positif"
@@ -10195,6 +10341,12 @@ msgstr "Akses bukti URL"
 msgid "Authorize URL:"
 msgstr "Izin URL"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Klik untuk mengatur ulang pengaturan ke nilai standar OAuth"
 
@@ -10268,13 +10420,6 @@ msgstr "Username: "
 msgid "Password: "
 msgstr "Password: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Peringatan:</strong> JOSM sudah masuk <strong>once</strong> "
-"menggunakan koneksi yang aman."
-
 msgid "Granted rights"
 msgstr "Diberi hak"
 
@@ -10414,6 +10559,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Silakan pilih prosedur otorisasi: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Dapatkan sebuah Akses Token untuk ''{0}''"
 
@@ -10818,6 +10969,15 @@ msgstr "Aksi toolbar terdaftar {0} bertampal: {1} mendapat {2}"
 msgid "Toolbar: {0}"
 msgstr "Toolbar: {0}"
 
+msgid "add entry"
+msgstr "Tambahkan masukkan"
+
+msgid "Remove the selected entry"
+msgstr "Hapus masukan yang terpilih"
+
+msgid "Key: {0}"
+msgstr "Key: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Preferensi lanjutan"
 
@@ -10910,18 +11070,9 @@ msgstr "Pilih file profile"
 msgid "Change list setting"
 msgstr "Mengganti daftar pengaturan"
 
-msgid "Key: {0}"
-msgstr "Key: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Ubah daftar dari pengaturan daftar"
 
-msgid "add entry"
-msgstr "Tambahkan masukkan"
-
-msgid "Remove the selected entry"
-msgstr "Hapus masukan yang terpilih"
-
 msgid "Change list of maps setting"
 msgstr "mengubah daftar pengaturan peta"
 
@@ -11621,9 +11772,6 @@ msgstr "Salin pengaturan awal yang dipilih"
 msgid "Please select at least one row to copy."
 msgstr "Mohon pilih baris satu terakhir untuk disalin"
 
-msgid "reload defaults"
-msgstr "memuat kembali pengaturan awal"
-
 msgid "Menu Name"
 msgstr "Nama Menu"
 
@@ -11927,6 +12075,9 @@ msgid_plural ""
 "Downloading the following {0} plugins has <strong>failed</strong>:"
 msgstr[0] "Mendownload {0} plugin berikut <strong>gagal</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Kesalahan pesan(tidak diterjemahkan): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 "Mohon tutup dan jalankan kembali JOSM untuk mengaktifkan plugins yang telah "
@@ -12592,12 +12743,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr "Tenaga"
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Agama"
 
@@ -12687,6 +12832,9 @@ msgstr "Gunakan preset ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Elemen jenis {0} mendukung"
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12756,6 +12904,9 @@ msgstr "Cari preset"
 msgid "Presets"
 msgstr "Presets"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12809,6 +12960,9 @@ msgstr ""
 "Tagging preset rusak \"{0}-{1}\" - nomor item dalam ''short_descriptions'' "
 "harus sama seperti di dalam \"values\""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Informasi lebih tentang fitur ini"
 
@@ -12904,18 +13058,32 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "Salah: properti secara eksplisit dimatikan"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "Benar:properti secara eksplisit dihidupkan"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "Parsial: terdapat perbedaan pada objek yang dipilih memiliki perbedaan "
 "value, tidak berubah"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "uset: jangan atur properti ini pada objek yang dipilih"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "Memotong"
 
@@ -13434,6 +13602,9 @@ msgstr "Gagal menandai koneksi HTTP dengan header otentikasi OAuth"
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "Berkas server OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 "<html>Terjadi kesalahan saat menyimpan<br>Kesalahan adalah: <br>{0}</html>"
@@ -13451,9 +13622,6 @@ msgstr "file layanan OSM gzip telah dikompres"
 msgid "Parsing OSM history data ..."
 msgstr "menguraikan data riwayat OSM"
 
-msgid "OSM Server Files"
-msgstr "Berkas server OSM"
-
 msgid "Invalid dataset"
 msgstr "Dataset tidak valid"
 
@@ -13657,9 +13825,6 @@ msgstr "Mengupload data ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Bukan pengeculaian id 0 untuk osm primitif ditemukan"
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr "Mengunduh data..."
 
@@ -13838,23 +14003,29 @@ msgstr ""
 "Remote kontrol meminta untuk melaporkan versi protokol. Web site "
 "memungkinkan untuk mendeteksi JOSM yang sedang bekerja."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Versi \"{0}\" meta data untuk layer geoimage tidak mendukung. Diharapkan: 0.1"
+msgid "local file"
+msgstr "Berkas lokal"
+
+msgid "include"
+msgstr "Termasuk"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Layer mengandung data yang tidak tersimpan - simpan ke berkas."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Layer tidak mengandung data yang tidak tersimpan."
 
 msgid "Data:"
 msgstr "Data:"
 
-msgid "local file"
-msgstr "Berkas lokal"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Link ke berkas data OSM pada lokal penyimpanan Anda"
 
-msgid "Link to a GPX file on your local disk."
-msgstr ""
+msgid "Include OSM data in the .joz session file."
+msgstr "Termasuk data OSM pada .joz berkas sesi."
 
-msgid "include"
-msgstr "Termasuk"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr ""
@@ -13865,6 +14036,15 @@ msgstr "Tidak ada berkas asosiasi"
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr "Data OSM akan dimasukkan ke dalam berkas pembahasan."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Versi \"{0}\" meta data untuk layer geoimage tidak mendukung. Diharapkan: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13885,20 +14065,9 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Layer mengandung data yang tidak tersimpan - simpan ke berkas."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Layer tidak mengandung data yang tidak tersimpan."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Link ke berkas data OSM pada lokal penyimpanan Anda"
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Termasuk data OSM pada .joz berkas sesi."
-
-msgid "OSM data will be included in the session file."
-msgstr "Data OSM akan dimasukkan ke dalam berkas pembahasan."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -14686,9 +14855,6 @@ msgstr ""
 "luas.<br>Sebaiknya mengunduh area yang lebih kecil atau gunakan berkas "
 "export yang diberikan dari komunitas OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Kesalahan pesan(tidak diterjemahkan): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -14734,6 +14900,9 @@ msgstr "Unduh diarahkan pada \"{0}\""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Terlalu banyak pengalihan download URL terdeteksi. Gagal."
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "Tidak dapat menemukan terjemahan untuk lokal {0}. Mengembalikan ke {1}."
@@ -14745,9 +14914,6 @@ msgstr ""
 "Fatal: Gagal untuk menemukan lokasi gambar \"{0}\". Ini adalah masalah "
 "konfigurasi yang serius. JOSM akan berhenti bekerja."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Gagal untuk menemukan gambar \"{0}\""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -14885,6 +15051,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -15214,9 +15383,6 @@ msgstr "Membuka berkas yang dipilih"
 msgid "Open selected file."
 msgstr "Membuka berkas yang dipilih"
 
-msgid "Refresh"
-msgstr "Perbaharui"
-
 msgid "Rename File"
 msgstr "Ubah Nama Berkas"
 
@@ -15310,6 +15476,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -15376,6 +15545,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -15472,13 +15644,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -15601,6 +15776,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -15621,9 +15799,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -15694,6 +15869,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -15727,10 +15911,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -16438,6 +16625,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Buat grid garis."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "Membuat dan penanganantitik alamat dan bangunan di Republik Ceko."
@@ -17165,6 +17355,105 @@ msgstr "terbatas"
 msgid "Brand"
 msgstr "Merek"
 
+msgid "Cuisine"
+msgstr "Masakan"
+
+msgid "italian"
+msgstr "Italia"
+
+msgid "chinese"
+msgstr "Cina"
+
+msgid "pizza"
+msgstr "Pizza"
+
+msgid "burger"
+msgstr "burger"
+
+msgid "greek"
+msgstr "greel"
+
+msgid "german"
+msgstr "jerman"
+
+msgid "indian"
+msgstr "india"
+
+msgid "regional"
+msgstr "regional"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turki"
+
+msgid "asian"
+msgstr "asia"
+
+msgid "thai"
+msgstr "thailand"
+
+msgid "mexican"
+msgstr "mexico"
+
+msgid "japanese"
+msgstr "jepang"
+
+msgid "french"
+msgstr "perancis"
+
+msgid "sandwich"
+msgstr "sandwich"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "ikan_dan_chips"
+
+msgid "chicken"
+msgstr "ayam"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "es_krim"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Akses Internet"
 
@@ -17732,7 +18021,10 @@ msgstr "Berat Maksimum (ton)"
 msgid "Toll"
 msgstr "Tol"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -18495,26 +18787,30 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Traffic Calming"
 
-msgid "bump"
-msgstr "polisi tidur"
+msgid "Bump"
+msgstr ""
 
-msgid "chicane"
-msgstr "tikungan"
+msgid "Chicane"
+msgstr ""
 
-msgid "choker"
-msgstr "Mencekik"
+msgid "Choker"
+msgstr ""
 
-msgid "cushion"
-msgstr "bantalan"
+msgid "Cushion"
+msgstr ""
 
-msgid "hump"
-msgstr "Punuk"
+msgid "Hump"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "potongan_bergemuruh"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "table"
-msgstr "tabel"
+msgid "Rumble strip"
+msgstr ""
+
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "melewati tempat"
@@ -18663,6 +18959,9 @@ msgstr "Tembok Kota"
 msgid "Retaining Wall"
 msgstr "Tembok Pertahanan"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Parit"
@@ -18833,6 +19132,9 @@ msgstr "sungai"
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Garis pantai"
 
@@ -18895,14 +19197,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Tebing"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr "Pelayaran"
 
@@ -19831,66 +20125,6 @@ msgstr "Makanan+Minuman"
 msgid "Restaurant"
 msgstr "Restoran"
 
-msgid "Cuisine"
-msgstr "Masakan"
-
-msgid "italian"
-msgstr "Italia"
-
-msgid "chinese"
-msgstr "Cina"
-
-msgid "pizza"
-msgstr "Pizza"
-
-msgid "burger"
-msgstr "burger"
-
-msgid "greek"
-msgstr "greel"
-
-msgid "german"
-msgstr "jerman"
-
-msgid "indian"
-msgstr "india"
-
-msgid "regional"
-msgstr "regional"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turki"
-
-msgid "asian"
-msgstr "asia"
-
-msgid "thai"
-msgstr "thailand"
-
-msgid "mexican"
-msgstr "mexico"
-
-msgid "japanese"
-msgstr "jepang"
-
-msgid "french"
-msgstr "perancis"
-
-msgid "sandwich"
-msgstr "sandwich"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr "Microbrewery"
 
@@ -19903,20 +20137,14 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Makanan Cepat Saji"
 
-msgid "fish_and_chips"
-msgstr "ikan_dan_chips"
-
-msgid "chicken"
-msgstr "ayam"
-
 msgid "Food Court"
 msgstr "Food Court"
 
 msgid "Cafe"
 msgstr "Kafe"
 
-msgid "ice_cream"
-msgstr "es_krim"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Pub"
@@ -20093,6 +20321,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "Taman Air"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20127,9 +20361,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Pemancingan"
 
-msgid "Private Swimming Pool"
-msgstr "kolam berenang pribadi"
-
 msgid "Night Club"
 msgstr ""
 
@@ -20172,12 +20403,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
-msgstr "Studio Rekaman"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "suara"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "video"
 
@@ -20281,6 +20518,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -20440,6 +20681,125 @@ msgstr "(Gunakan kode internasional, seperti +12-345-67890)"
 msgid "Veterinary"
 msgstr "Dokter Hewan"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr "Dalam ruangan"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Hidran Kebakaran"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "bawah tanah"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "Tiang"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "dinding"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "kolam"
+
+msgid "Diameter (in mm)"
+msgstr "Diameter (dalam mm)"
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "jalur"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parking_lot"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "Trotoar"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "hijau"
+
+msgid "Pressure (in bar)"
+msgstr "Tekanan (dalam mistar)"
+
+msgid "suction"
+msgstr "Penyedotan"
+
+msgid "Count"
+msgstr "Jumlah"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Telepon Darurat"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -20552,24 +20912,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "Kartu Telepon"
 
-msgid "Emergency Phone"
-msgstr "Telepon Darurat"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr "Jam"
 
@@ -20732,65 +21077,16 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Sembunyikan"
+msgstr ""
 
 msgid "Lock"
 msgstr "Kunci"
 
-msgid "Indoor"
-msgstr "Dalam ruangan"
-
-msgid "Fire Hydrant"
-msgstr "Hidran Kebakaran"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "bawah tanah"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "Tiang"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "dinding"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "kolam"
-
-msgid "Diameter (in mm)"
-msgstr "Diameter (dalam mm)"
-
-msgid "Hydrant Position"
+msgid "Water Point"
 msgstr ""
 
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "jalur"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parking_lot"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "Trotoar"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "hijau"
-
-msgid "Pressure (in bar)"
-msgstr "Tekanan (dalam mistar)"
-
-msgid "suction"
-msgstr "Penyedotan"
-
-msgid "Count"
-msgstr "Jumlah"
-
 msgid "Compressed Air"
 msgstr ""
 
@@ -20842,9 +21138,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "Trek Balap Mobil"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Ladang Golf"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Miniatur Golf"
 
@@ -21069,9 +21418,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "kursus_golf"
 
@@ -21236,6 +21582,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -21244,6 +21594,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -21356,6 +21738,9 @@ msgstr "Kincir Angin"
 msgid "Gasometer"
 msgstr "Gasometer"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -21757,6 +22142,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -21766,6 +22159,9 @@ msgstr "benteng"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Tenaga"
+
 msgid "Power Plant"
 msgstr ""
 
@@ -22197,11 +22593,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
-msgstr "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Menara Listrik"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -22222,6 +22621,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Menara Listrik"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -22345,18 +22762,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -22389,6 +22794,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Kabel Listrik"
 
@@ -22646,6 +23054,9 @@ msgstr "Furniture"
 msgid "Kitchen"
 msgstr "Dapur"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Gorden"
 
@@ -22688,12 +23099,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Chemist"
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -23019,6 +23439,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geografi"
 
@@ -23187,6 +23682,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Tebing"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Pintu Masuk Goa"
 
@@ -23387,6 +23890,51 @@ msgstr "padang rumput"
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Perkebunan Anggur"
 
@@ -24183,9 +24731,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr "{0} sudah usang"
 
@@ -24207,7 +24752,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -24251,6 +24796,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -24266,6 +24820,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -24293,6 +24850,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "mempersingkat nama jalan"
 
@@ -24334,7 +24894,7 @@ msgstr "tag layer dengan tanda +"
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -28014,7 +28574,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -28327,6 +28887,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -28342,6 +28905,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Nilai ukuran"
 
@@ -29746,6 +30321,12 @@ msgstr "Plugin Proj4J"
 msgid "Code"
 msgstr "Kode"
 
+msgid "Can''t parse a time from this string."
+msgstr "Tidak bisa mengurai waktu dari string ini"
+
+msgid "Invalid value"
+msgstr "Nilai tidak benar"
+
 msgid "added"
 msgstr "Menambahkan"
 
@@ -29834,15 +30415,6 @@ msgstr "Ambil"
 msgid "Join"
 msgstr "Gabung"
 
-msgid "Enable"
-msgstr "Aktifkan"
-
-msgid "Can''t parse a time from this string."
-msgstr "Tidak bisa mengurai waktu dari string ini"
-
-msgid "Invalid value"
-msgstr "Nilai tidak benar"
-
 msgid "moved"
 msgstr "Telah dipindahkan"
 
@@ -31983,6 +32555,9 @@ msgstr "Way/garis dengan node/titik yang dipilih tidak dapat diluruskan"
 msgid "Internal error: number of nodes is {0}."
 msgstr "Kesalahan internal: jumlah dari node/titik {0}"
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Ekstrak node/titik"
 
@@ -32653,6 +33228,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Menambahkan nama dari Wikipedia"
 
@@ -32744,6 +33324,3 @@ msgstr "Pergi mengemudi"
 
 msgid "Drive a race car on this layer"
 msgstr "Mengendarai mobil balap pada layer ini"
-
-#~ msgid "Retirement Home"
-#~ msgstr "Rumah Pensiunan"
diff --git a/i18n/po/is.po b/i18n/po/is.po
index 5b1ba87..b471dc5 100644
--- a/i18n/po/is.po
+++ b/i18n/po/is.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-11-06 00:32+0000\n"
 "Last-Translator: Stefán Örvar Sigmundsson <stefan.orvar.sigmundsson at emi.is>\n"
 "Language-Team: Icelandic <is at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:46+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:46+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: is\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -389,6 +389,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr "Skipta um átt vega"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -444,6 +447,12 @@ msgstr "Eyða"
 msgid "Delete selected objects."
 msgstr "Eyða völdum hlutum."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1175,9 +1184,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr "Skipta um átt vega"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Skipta um átt allra valdra vega."
 
@@ -1521,6 +1527,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2239,6 +2255,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2280,6 +2301,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2634,7 +2664,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3202,9 +3235,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3263,6 +3293,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "A"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3490,6 +3523,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3567,12 +3603,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3582,6 +3630,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4148,6 +4214,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4844,9 +4913,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4905,12 +4971,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Breiddargráðan undir músabendlinum."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Lengdargráðan undir músabendlinum."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4937,6 +4997,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Breiddargráðan undir músabendlinum."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Lengdargráðan undir músabendlinum."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5756,6 +5828,18 @@ msgstr "Leysa"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5872,6 +5956,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6297,6 +6384,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6646,21 +6736,15 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr "Sækja innihald"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Sækja innihald breytinga-setts frá OSM miðlara"
+msgid "Download and show the history of the selected objects"
+msgstr "Sækja og sýna sögu valinna hluta"
 
-msgid "Update content"
-msgstr ""
+msgid "Download objects"
+msgstr "Sækja hluti"
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
-msgstr "Sækja og sýna sögu valinna hluta"
-
 msgid "Select in layer"
 msgstr ""
 
@@ -6760,6 +6844,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr "Sækja innihald"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Sækja innihald breytinga-setts frá OSM miðlara"
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7089,7 +7185,7 @@ msgstr "Breyta gildi valins lykils í öllum völdum hlutum"
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7125,6 +7221,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7192,6 +7291,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7304,9 +7424,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7337,108 +7454,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-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"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Select next Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid "Sort the relation members"
-msgstr "Raða stöknum"
-
-msgid "Relation Editor: Sort"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Sort below"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "Færa valda meðlimi upp"
+msgid "including immediate children of parent relations"
+msgstr "ná einnig í fyrsta-stigs undirvensl yfirvenslanna"
 
-msgid "Relation Editor: Move Up"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr "Færa valda meðlimi niður"
-
-msgid "Relation Editor: Move Down"
-msgstr ""
+msgid "Reload"
+msgstr "Endurhlaða"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Fjarlægja völd stök úr þessum venslum"
+msgid "Loading parent relations"
+msgstr "Næ í yfirvensl"
 
-msgid "Relation Editor: Remove"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Delete the currently edited relation"
-msgstr ""
+msgid "Apply Changes"
+msgstr "Vista breytingar"
 
-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 ""
+msgid "Create new relation in layer ''{0}''"
+msgstr "Búa til ný vensl í laginu „{0}“"
 
-msgid "Yes, create a conflict and close"
-msgstr ""
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Breyti nýjum venslum í laginu „{0}“"
 
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Breyti venslum #{0} í laginu „{1}“"
 
-msgid "No, continue editing"
+msgid "Load relation"
 msgstr ""
 
-msgid "Click to return to the relation editor and to resume relation editing"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7457,6 +7549,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7465,8 +7560,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr "Bæta við tómu taggi"
+msgid "Delete the currently edited relation"
+msgstr ""
+
+msgid "Relation Editor: Download Members"
+msgstr "Tengsla-Ritill: Sækja meðlimi"
 
 msgid "Download all incomplete members"
 msgstr ""
@@ -7474,101 +7572,151 @@ msgstr ""
 msgid "Download Members"
 msgstr "Sækja meðlimi"
 
-msgid "Relation Editor: Download Members"
-msgstr "Tengsla-Ritill: Sækja meðlimi"
-
 msgid "Download selected incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
-msgstr "Vistar hlutverk fyrir völd stök"
-
-msgid "Apply Role"
-msgstr "Vista hlutverk"
-
-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] ""
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Breyta venslunum sem valið stak bendir á"
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Move the currently selected members down"
+msgstr "Færa valda meðlimi niður"
+
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members up"
+msgstr "Færa valda meðlimi upp"
+
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
-msgid "No, do not apply"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Breyta venslunum sem valið stak bendir á"
+msgid "Refresh relation from data layer"
+msgstr ""
+
+msgid "Refresh"
+msgstr "Uppfæra"
+
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
 
 msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "Select next Gap"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Remove the currently selected members from this relation"
+msgstr "Fjarlægja völd stök úr þessum venslum"
+
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Refers to"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "Reverse"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+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 ""
 
-msgid "including immediate children of parent relations"
-msgstr "ná einnig í fyrsta-stigs undirvensl yfirvenslanna"
+msgid "Yes, create a conflict and close"
+msgstr ""
 
-msgid "Load parent relations"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Reload"
-msgstr "Endurhlaða"
+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 ""
 
-msgid "Loading parent relations"
-msgstr "Næ í yfirvensl"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Select objects for selected relation members"
 msgstr ""
 
-msgid "Apply Changes"
-msgstr "Vista breytingar"
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Búa til ný vensl í laginu „{0}“"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Breyti nýjum venslum í laginu „{0}“"
+msgid "Sets a role for the selected members"
+msgstr "Vistar hlutverk fyrir völd stök"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Breyti venslum #{0} í laginu „{1}“"
+msgid "Apply Role"
+msgstr "Vista hlutverk"
 
-msgid "Load relation"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr "Raða stöknum"
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7959,6 +8107,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8062,10 +8215,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8248,9 +8405,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr "Sækja hluti"
-
 msgid "Initializing nodes to download ..."
 msgstr "Frumstilli hnútpunkta sem á að sækja..."
 
@@ -8767,7 +8921,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} hlut verður eytt:"
 msgstr[1] "{0} hlutum verður eytt:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8776,32 +8930,29 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
+msgid "Load tile"
 msgstr ""
 
-msgid "Auto load tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Show errors"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Change resolution"
-msgstr "Breyta upplausn"
-
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
-msgstr ""
+msgid "Change resolution"
+msgstr "Breyta upplausn"
 
 msgid "Increase zoom"
 msgstr ""
@@ -8809,10 +8960,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9232,6 +9383,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9256,9 +9410,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9609,9 +9760,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9656,6 +9805,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9712,11 +9867,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9832,6 +9982,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10193,6 +10349,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "Stillingarritill"
 
@@ -10275,18 +10440,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10942,9 +11098,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11218,6 +11371,9 @@ msgid_plural ""
 msgstr[0] "<strong>Mistókst</strong> að sækja eftirfarandi íforrit:"
 msgstr[1] "<strong>Mistókst</strong> að sækja eftirfarandi íforrit:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Vinsamlega endurræstu JOSM til að vikja sótt íforrit."
 
@@ -11849,12 +12005,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11944,6 +12094,9 @@ msgstr "Nota forstillinguna „{0}“"
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12014,6 +12167,9 @@ msgstr ""
 msgid "Presets"
 msgstr "Forstillingar"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12057,6 +12213,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Frekari upplýsingar um þessa forstillingu"
 
@@ -12147,16 +12306,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "Villa: Slökkt er á eigindum"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "Í lagi: Kveikt er á eigindum"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "Ekki sett: Ekki setja þessi eigindi á valda hluta"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12636,6 +12809,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12650,9 +12826,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12846,9 +13019,6 @@ msgstr "Hleð upp gögnum ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13017,21 +13187,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13043,6 +13220,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13060,19 +13245,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13758,9 +13932,6 @@ msgstr ""
 "Svæðið sem þú reyndir að sækja var að stórt.<br>Reyndu að biðja um minna "
 "svæði, eða nota útflutta skrá frá OSM samfélaginu,"
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13792,6 +13963,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13800,10 +13974,7 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
-msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
+msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
 msgid ""
@@ -13936,6 +14107,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14244,9 +14418,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr "Uppfæra"
-
 msgid "Rename File"
 msgstr ""
 
@@ -14340,6 +14511,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14406,6 +14580,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14502,13 +14679,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr ""
+
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14631,6 +14811,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14651,9 +14834,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14724,6 +14904,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14757,10 +14946,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15456,6 +15648,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16112,6 +16307,105 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
+msgid "Cuisine"
+msgstr "Matargerð"
+
+msgid "italian"
+msgstr "ítölsk"
+
+msgid "chinese"
+msgstr "kínversk"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamborgarar"
+
+msgid "greek"
+msgstr "grísk"
+
+msgid "german"
+msgstr "þýsk"
+
+msgid "indian"
+msgstr "indversk"
+
+msgid "regional"
+msgstr "að hætti heimamanna"
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr "tyrknesk"
+
+msgid "asian"
+msgstr "asísk"
+
+msgid "thai"
+msgstr "tælensk"
+
+msgid "mexican"
+msgstr "mexíkósk"
+
+msgid "japanese"
+msgstr "japönsk"
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr ""
 
@@ -16679,7 +16973,10 @@ msgstr "Hámarksþyngt (í tonnum)"
 msgid "Toll"
 msgstr "Tollur"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17433,25 +17730,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
 msgstr ""
 
-msgid "chicane"
+msgid "Choker"
 msgstr ""
 
-msgid "choker"
+msgid "Cushion"
 msgstr ""
 
-msgid "cushion"
+msgid "Hump"
 msgstr ""
 
-msgid "hump"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17601,6 +17902,9 @@ msgstr "Borgarveggur"
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17771,6 +18075,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Strandlengja"
 
@@ -17833,14 +18140,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Klettur"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18769,66 +19068,6 @@ msgstr "Matur & Drykkur"
 msgid "Restaurant"
 msgstr "Veitingastaður"
 
-msgid "Cuisine"
-msgstr "Matargerð"
-
-msgid "italian"
-msgstr "ítölsk"
-
-msgid "chinese"
-msgstr "kínversk"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hamborgarar"
-
-msgid "greek"
-msgstr "grísk"
-
-msgid "german"
-msgstr "þýsk"
-
-msgid "indian"
-msgstr "indversk"
-
-msgid "regional"
-msgstr "að hætti heimamanna"
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr "tyrknesk"
-
-msgid "asian"
-msgstr "asísk"
-
-msgid "thai"
-msgstr "tælensk"
-
-msgid "mexican"
-msgstr "mexíkósk"
-
-msgid "japanese"
-msgstr "japönsk"
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18841,19 +19080,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Skyndibiti"
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "Kaffihús"
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19031,6 +19264,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "Vatnsleikjagarður"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19065,9 +19304,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Fiskveiðar"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19110,12 +19346,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19219,6 +19461,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19378,6 +19624,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr "Dýralæknir"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Neyðarsími"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19490,24 +19855,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "Símakort"
 
-msgid "Emergency Phone"
-msgstr "Neyðarsími"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19670,63 +20020,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
 msgstr ""
 
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19780,9 +20081,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr "Golfvöllur"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -20007,9 +20361,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20174,6 +20525,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20182,6 +20537,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20294,6 +20681,9 @@ msgstr "Vindmylla"
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20695,6 +21085,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20704,6 +21102,9 @@ msgstr "Rústir"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21135,11 +21536,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
-msgstr "Háspennustaur"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21160,6 +21564,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Háspennustaur"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21283,18 +21705,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21327,6 +21737,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Raflína"
 
@@ -21584,6 +21997,9 @@ msgstr "Húsgagnaverslun"
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21626,12 +22042,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21957,6 +22382,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Landafræði"
 
@@ -22125,6 +22625,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Klettur"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Hellismunni"
 
@@ -22325,6 +22833,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23119,9 +23672,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23143,7 +23693,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23187,6 +23737,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23202,6 +23761,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23229,6 +23791,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23270,7 +23835,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26694,7 +27259,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27007,6 +27572,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27022,6 +27590,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Mælingar"
 
@@ -28363,6 +28943,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28449,15 +29035,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30444,6 +31021,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31032,6 +31612,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/it.po b/i18n/po/it.po
index db34e32..6ef1504 100644
--- a/i18n/po/it.po
+++ b/i18n/po/it.po
@@ -4,7 +4,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm 20081003\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-09-21 07:50+0000\n"
 "Last-Translator: Don-vip <Unknown>\n"
 "Language-Team: Italian <talk-it at lists.openstreetmap.org>\n"
@@ -12,8 +12,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:48+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:48+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: it\n"
 "X-Language: it_IT\n"
 "X-Source-Language: en\n"
@@ -408,6 +408,9 @@ msgstr ""
 "Impossibile unire i percorsi<br>(Non possono essere uniti in una unica serie "
 "di nodi)"
 
+msgid "Reverse Ways"
+msgstr "Inverti la direzione dei percorsi"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Unisci {0} percorso"
@@ -465,6 +468,12 @@ msgstr "Cancella"
 msgid "Delete selected objects."
 msgstr "Cancella gli oggetti selezionati."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Commuta pannello finestre"
 
@@ -1288,9 +1297,6 @@ msgstr "Clicca per riavviare in seguito."
 msgid "Reverse way"
 msgstr "Inverti percorso"
 
-msgid "Reverse Ways"
-msgstr "Inverti la direzione dei percorsi"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Inverti la direzione di tutti i percorsi selezionati"
 
@@ -1659,6 +1665,16 @@ msgstr ""
 "perché non vedi l''oggetto reale.<br>Si desidera veramente procedere con la "
 "separazione?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Disconnetti nodo da percorso"
 
@@ -2470,6 +2486,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Aggiungi selezione alla relazione"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Aggiungi selezione a {0} relazione"
@@ -2517,6 +2538,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Conferma"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Editor delle relazioni: {0}"
+
 msgid "Select in relation list"
 msgstr "Seleziona nella lista delle relazioni"
 
@@ -2895,8 +2925,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Atteso <i>min</i>/<i>max</i> dopo ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr "È atteso un intervallo di identificativi delle primitive"
@@ -3534,9 +3567,6 @@ msgstr ""
 "Prova ad abilitare IPv6 network, preferire IPv6 su IPv4 (funziona solo sulla "
 "prima messa in servizio)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (alla linea {0}, colonna {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 "L''impostazione delle preferenze {0} è stata rimossa dal momento che non è "
@@ -3598,6 +3628,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "La proiezione ''{0}'' non è stata trovata, il segnalibro ''{1}'' non è "
@@ -3858,6 +3891,9 @@ msgstr "testo"
 msgid "areatext"
 msgstr "testo dell''area"
 
+msgid " (at line {0}, column {1})"
+msgstr " (alla linea {0}, colonna {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "proiezione UTM (''+proj=utm'') richiede ''+zone=...'' parametro."
 
@@ -3945,12 +3981,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parametro ''{0}'' richiesto."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Conica conforme di Lambert"
 
@@ -3960,6 +4008,24 @@ msgstr "Lat/lon (Geodetico)"
 msgid "Mercator"
 msgstr "Mercatore"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Svizzera Obliqua di Mercatore"
 
@@ -4574,6 +4640,9 @@ msgstr "spazio non valido nella chiave della proprietà"
 msgid "Property values start or end with white space"
 msgstr "Il valore della proprietà inizia o finisce con uno spazio"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Il valore della proprietà contiene una entità HTML"
 
@@ -5324,9 +5393,6 @@ msgstr "Preferenze immagini aeree"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Cliccare per aprire la scheda delle immagini aeree nelle preferenze"
 
-msgid "Search menu items"
-msgstr "Cerca elementi nel menu"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Audio"
@@ -5385,12 +5451,6 @@ msgstr "Primo piano barra di stato: attiva"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "La latitudine geografica del puntatore del mouse."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "La longitudine geografica del puntatore del mouse."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Direzione della bussola del segmento che si sta disegnando."
 
@@ -5419,6 +5479,18 @@ msgstr "Utente:"
 msgid "Do not hide status bar"
 msgstr "Non nascondere la barra di stato"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "La latitudine geografica del puntatore del mouse."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "La longitudine geografica del puntatore del mouse."
+
 msgid "System of measurement changed to {0}"
 msgstr "Sistema di misurazione modificato in {0}"
 
@@ -6353,6 +6425,18 @@ msgstr ""
 "Apre una finestra per unire tutti gli elementi selezionati nella lista qui "
 "sopra."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "È stato individuato {0} conflitto."
@@ -6477,6 +6561,9 @@ msgstr "Sposta filtro in basso."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filtri nascosti:{0} Disabilitati:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Errore nel filtro"
 
@@ -6933,6 +7020,9 @@ msgstr "Impostazioni stile"
 msgid "Customize the style"
 msgstr "Personalizza lo stile"
 
+msgid "Search menu items"
+msgstr "Cerca elementi nel menu"
+
 msgid "Mini map"
 msgstr "Mini mappa"
 
@@ -7302,21 +7392,15 @@ msgstr[1] ""
 "<html>Nessuno degli oggetti selezionati è disponibile nel livello<br>delle "
 "modifiche corrente ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Scarica contenuto"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Scarica dal server OSM il contenuto del gruppo di modifiche"
-
-msgid "Update content"
-msgstr "Aggiorna contenuto"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Aggiorna dal server OSM il contenuto del gruppo di modifiche"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Scarica e visualizza la cronologia degli oggetti selezionati"
 
+msgid "Download objects"
+msgstr "Scarica oggetti"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "Seleziona nel livello"
 
@@ -7426,6 +7510,18 @@ msgstr "aperto"
 msgid "closed"
 msgstr "chiuso"
 
+msgid "Download content"
+msgstr "Scarica contenuto"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Scarica dal server OSM il contenuto del gruppo di modifiche"
+
+msgid "Update content"
+msgstr "Aggiorna contenuto"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Aggiorna dal server OSM il contenuto del gruppo di modifiche"
+
 msgid "Changeset ID: "
 msgstr "ID gruppo di modifiche: "
 
@@ -7815,9 +7911,8 @@ msgstr "Modifica il valore della chiave selezionata per tutti gli oggetti"
 msgid "Edit Tags"
 msgstr "Modifica etichette"
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
-"Vai al wiki di OSM per la documentazione relativa all''etichetta (F1)"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Avvia il browser con la documentazione sull''oggetto selezionato"
@@ -7854,6 +7949,9 @@ msgstr "Copia tutte le chiavi/valori"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Copia la chiave ed il valore di tutte le etichette negli appunti"
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Cerca chiave/valore/tipo"
 
@@ -7923,6 +8021,27 @@ msgstr "Imposta il numero delle etichette aggiunte di recente"
 msgid "Remember last used tags after a restart"
 msgstr "Ricorda le ultime etichette usati, dopo il riavvio"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Abilita"
+
+msgid "Hide"
+msgstr "Nascondi"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "applicare il primo suggerimento"
 
@@ -8044,9 +8163,6 @@ msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 "Attiva l''editor delle relazioni con la relazione ''{0}'' nel livello ''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Editor delle relazioni: {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 "
@@ -8089,6 +8205,75 @@ msgstr ""
 "crea dei riferimenti circolari e ne è scoraggiato l''utilizzo.<br>Relazione "
 "''''{0}'''' tralasciata.</html>"
 
+msgid "Select previous Gap"
+msgstr "Seleziona lacuna precedente"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr ""
+"Seleziona il membro della relazione precedente che da luogo ad una lacuna"
+
+msgid "Select next Gap"
+msgstr "Seleziona lacuna successiva"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr ""
+"Seleziona il membro della relazione successivo che da luogo ad una lacuna"
+
+msgid "Zoom to Gap"
+msgstr "Ingrandisci sulla lacuna"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Ingrandisci sulla lacuna nella sequenza del percorso"
+
+msgid "Refers to"
+msgstr "Fa riferimento a"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
+
+msgid "Download referring relations"
+msgstr "Scarica le relazioni collegate"
+
+msgid "There were {0} conflicts during import."
+msgstr "Ci sono stati {0} conflitti durante l''importazione"
+
+msgid "including immediate children of parent relations"
+msgstr "inclusi i figli diretti delle relazioni da cui dipendono"
+
+msgid "Load parent relations"
+msgstr "Carica le relazioni da cui dipende"
+
+msgid "Reload"
+msgstr "Ricarica"
+
+msgid "Loading parent relations"
+msgstr "Caricamento delle relazioni da cui dipende"
+
+msgid "Edit the currently selected relation"
+msgstr "Modifica la relazione attualmente selezionata"
+
+msgid "Apply Changes"
+msgstr "Applica cambiamenti"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Crea una nuova relazione nel livello ''{0}''"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Modifica la nuova relazione nel livello ''{0}''"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Modifica la relazione #{0} nel livello ''{1}''"
+
+msgid "Load relation"
+msgstr "Carica relazione"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Aggiungi tutti gli oggetti selezionati nell''insieme di dati corrente dopo "
+"l''ultimo membro selezionato"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -8102,71 +8287,133 @@ msgstr ""
 "Aggiungi tutti gli oggetti selezionati nell''insieme di dati corrente prima "
 "del primo membro selezionato"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Aggiungi tutti gli oggetti selezionati nell''insieme di dati corrente dopo "
-"l''ultimo membro selezionato"
+msgid "Apply the current updates"
+msgstr "Applica gli aggiornamenti correnti"
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Cancel the updates and close the dialog"
+msgstr "Annulla gli aggiornamenti e chiudi la finestra"
+
+msgid "Yes, save the changes and close"
+msgstr "Si, salva le modifiche e chiudi"
+
+msgid "Click to save the changes and close this relation editor"
 msgstr ""
-"Elimina tutti i membri che contengono un riferimento agli oggetti selezionati"
+"Clicca per salvare le modifiche e chiudere questo editor delle relazioni"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "No, discard the changes and close"
+msgstr "No, abbandona le modifiche e chiudi"
+
+msgid "Click to discard the changes and close this relation editor"
 msgstr ""
-"Seleziona i membri della relazione che si riferiscono agli oggetti presenti "
-"nella selezione corrente"
+"Clicca per abbandonare le modifiche e chiudere questo editor delle relazioni"
+
+msgid "Cancel, continue editing"
+msgstr "Annulla, continua le modifiche"
+
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr "Clicca per ritornare alla modifica della relazione"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 msgstr ""
-"Seleziona i membri della relazione che si riferiscono ai {0} oggetti "
-"presenti nella selezione corrente"
+"<html>La relazione è stata modificata.<br><br>Si desidera salvare le proprie "
+"modifiche?</html>"
 
-msgid "Select objects for selected relation members"
-msgstr "Seleziona gli oggetti per i membri della relazione selezionati"
+msgid "Unsaved changes"
+msgstr "Modifiche non salvate"
 
-msgid "Sort the relation members"
-msgstr "Ordina i membri della relazione"
+msgid "Delete the currently edited relation"
+msgstr "Elimina la relazione attualmente modificata"
 
-msgid "Relation Editor: Sort"
-msgstr "Editor delle relazioni: Ordina"
+msgid "Relation Editor: Download Members"
+msgstr "Editor delle relazioni: Scarica membri"
 
-msgid "Sort below"
-msgstr "Ordina dal basso"
+msgid "Download all incomplete members"
+msgstr "Scarica tutti i membri incompleti"
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download Members"
+msgstr "Scarica i membri"
+
+msgid "Download selected incomplete members"
+msgstr "Scarica i membri incompleti selezionati"
+
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
-"Ordina le relazioni dei membri selezionati e tutti i membri sottostanti"
+"Modifica la relazione a cui fa riferimento il membro della relazione "
+"attualmente selezionato."
 
-msgid "Reverse the order of the relation members"
-msgstr "Inverti l''ordine dei membri della relazione"
+msgid "Relation Editor: Move Down"
+msgstr "Editor delle relazioni: Sposta in basso"
 
-msgid "Reverse"
-msgstr "Inverti"
+msgid "Move the currently selected members down"
+msgstr "Sposta in basso i membri attualmente selezionati"
+
+msgid "Relation Editor: Move Up"
+msgstr "Editor delle relazioni: Sposta in alto"
 
 msgid "Move the currently selected members up"
 msgstr "Sposta in alto i membri attualmente selezionati"
 
-msgid "Relation Editor: Move Up"
-msgstr "Editor delle relazioni: Sposta in alto"
+msgid "Apply the updates and close the dialog"
+msgstr "Applica gli aggiornamenti e chiudi la finestra"
 
-msgid "Move the currently selected members down"
-msgstr "Sposta in basso i membri attualmente selezionati"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"I membri provenienti dagli appunti non possono essere aggiunti perché non "
+"sono presenti nel livello corrente"
 
-msgid "Relation Editor: Move Down"
-msgstr "Editor delle relazioni: Sposta in basso"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Rimuovi i membri attualmente selezionati da questa relazione"
+msgid "Refresh relation from data layer"
+msgstr ""
+
+msgid "Refresh"
+msgstr "Aggiorna"
+
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+
+msgid "Click to close window"
+msgstr ""
+
+msgid "No, continue editing"
+msgstr "No, continua la modifica"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+
+msgid "Deleted relation"
+msgstr ""
 
 msgid "Relation Editor: Remove"
 msgstr "Editor delle relazioni: Rimuovi"
 
-msgid "Delete the currently edited relation"
-msgstr "Elimina la relazione attualmente modificata"
+msgid "Remove the currently selected members from this relation"
+msgstr "Rimuovi i membri attualmente selezionati da questa relazione"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
+"Elimina tutti i membri che contengono un riferimento agli oggetti selezionati"
+
+msgid "Reverse the order of the relation members"
+msgstr "Inverti l''ordine dei membri della relazione"
+
+msgid "Reverse"
+msgstr "Inverti"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -8184,12 +8431,6 @@ msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 "Clicca per creare un conflitto e chiudere questo editor delle relazioni"
 
-msgid "No, continue editing"
-msgstr "No, continua la modifica"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr "Clicca per ritornare alla modifica della relazione"
-
 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 "
@@ -8207,56 +8448,20 @@ msgstr ""
 "l''oggetto<br>''{1}''.<br>Si prega di risolvere prima questo conflitto, e "
 "poi di riprovare.</html>"
 
-msgid "Apply the current updates"
-msgstr "Applica gli aggiornamenti correnti"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Applica gli aggiornamenti e chiudi la finestra"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Annulla gli aggiornamenti e chiudi la finestra"
-
-msgid "Yes, save the changes and close"
-msgstr "Si, salva le modifiche e chiudi"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr ""
-"Clicca per salvare le modifiche e chiudere questo editor delle relazioni"
-
-msgid "No, discard the changes and close"
-msgstr "No, abbandona le modifiche e chiudi"
+msgid "Select objects for selected relation members"
+msgstr "Seleziona gli oggetti per i membri della relazione selezionati"
 
-msgid "Click to discard the changes and close this relation editor"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
-"Clicca per abbandonare le modifiche e chiudere questo editor delle relazioni"
-
-msgid "Cancel, continue editing"
-msgstr "Annulla, continua le modifiche"
+"Seleziona i membri della relazione che si riferiscono agli oggetti presenti "
+"nella selezione corrente"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
-"<html>La relazione è stata modificata.<br><br>Si desidera salvare le proprie "
-"modifiche?</html>"
-
-msgid "Unsaved changes"
-msgstr "Modifiche non salvate"
-
-msgid "Add an empty tag"
-msgstr "Aggiungi una etichetta vuota"
-
-msgid "Download all incomplete members"
-msgstr "Scarica tutti i membri incompleti"
-
-msgid "Download Members"
-msgstr "Scarica i membri"
-
-msgid "Relation Editor: Download Members"
-msgstr "Editor delle relazioni: Scarica membri"
-
-msgid "Download selected incomplete members"
-msgstr "Scarica i membri incompleti selezionati"
+"Seleziona i membri della relazione che si riferiscono ai {0} oggetti "
+"presenti nella selezione corrente"
 
 msgid "Sets a role for the selected members"
 msgstr "Imposta un ruolo ai membri selezionati"
@@ -8284,76 +8489,18 @@ msgstr "No, non applicare"
 msgid "Confirm empty role"
 msgstr "Conferma ruolo vuoto"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr ""
-"Modifica la relazione a cui fa riferimento il membro della relazione "
-"attualmente selezionato."
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"I membri provenienti dagli appunti non possono essere aggiunti perché non "
-"sono presenti nel livello corrente"
-
-msgid "Select previous Gap"
-msgstr "Seleziona lacuna precedente"
+msgid "Relation Editor: Sort"
+msgstr "Editor delle relazioni: Ordina"
 
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr ""
-"Seleziona il membro della relazione precedente che da luogo ad una lacuna"
+msgid "Sort the relation members"
+msgstr "Ordina i membri della relazione"
 
-msgid "Select next Gap"
-msgstr "Seleziona lacuna successiva"
+msgid "Sort below"
+msgstr "Ordina dal basso"
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Sort the selected relation members and all members below"
 msgstr ""
-"Seleziona il membro della relazione successivo che da luogo ad una lacuna"
-
-msgid "Zoom to Gap"
-msgstr "Ingrandisci sulla lacuna"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Ingrandisci sulla lacuna nella sequenza del percorso"
-
-msgid "Refers to"
-msgstr "Fa riferimento a"
-
-msgid "Download referring relations"
-msgstr "Scarica le relazioni collegate"
-
-msgid "There were {0} conflicts during import."
-msgstr "Ci sono stati {0} conflitti durante l''importazione"
-
-msgid "including immediate children of parent relations"
-msgstr "inclusi i figli diretti delle relazioni da cui dipendono"
-
-msgid "Load parent relations"
-msgstr "Carica le relazioni da cui dipende"
-
-msgid "Reload"
-msgstr "Ricarica"
-
-msgid "Loading parent relations"
-msgstr "Caricamento delle relazioni da cui dipende"
-
-msgid "Edit the currently selected relation"
-msgstr "Modifica la relazione attualmente selezionata"
-
-msgid "Apply Changes"
-msgstr "Applica cambiamenti"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Crea una nuova relazione nel livello ''{0}''"
-
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Modifica la nuova relazione nel livello ''{0}''"
-
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Modifica la relazione #{0} nel livello ''{1}''"
-
-msgid "Load relation"
-msgstr "Carica relazione"
+"Ordina le relazioni dei membri selezionati e tutti i membri sottostanti"
 
 msgid "way is connected"
 msgstr "il percorso è connesso"
@@ -8804,6 +8951,11 @@ msgid ""
 msgstr ""
 "<html>Versione <strong>{0}</strong> creata il <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "Gruppo di modifiche"
 
@@ -8933,15 +9085,15 @@ msgid "Upload"
 msgstr "Carica"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Selezionare quali azioni eseguire per questo livello, se si clicca il "
-"pulsante più a sinistra.<br/>Spuntare \"carica\" per caricare i cambiamenti "
-"sul server OSM.<br/>Spuntare \"Salva\" per salvare il livello sul file "
-"specificato a sinistra.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Crea un breve commento ai cambiamenti che sta caricando:"
@@ -9147,9 +9299,6 @@ msgstr ""
 "Fallito l''ottenimento delle informazioni utente per l''utente JOSM "
 "corrente. L''eccezione è stata: {0}"
 
-msgid "Download objects"
-msgstr "Scarica oggetti"
-
 msgid "Initializing nodes to download ..."
 msgstr "Inizializzazione dei nodi da scaricare ..."
 
@@ -9777,8 +9926,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} oggetto da eliminare:"
 msgstr[1] "{0} oggetti da eliminare:"
 
-msgid "Show Tile Info"
-msgstr "Mostra informazioni sul tassello"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr "Info Tasselli"
@@ -9786,17 +9935,23 @@ msgstr "Info Tasselli"
 msgid "Metadata "
 msgstr "Metadata "
 
-msgid "Auto Zoom"
-msgstr "Ingrandimento automatico"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Carica automaticamente i tasselli"
 
-msgid "Load All Tiles"
-msgstr "Carica tutti i tasselli"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "Carica tutti i tasselli con errori"
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "Ingrandisci la visuale alla risoluzione originale"
@@ -9804,26 +9959,17 @@ msgstr "Ingrandisci la visuale alla risoluzione originale"
 msgid "Change resolution"
 msgstr "Cambia risoluzione"
 
-msgid "Failed to create tile source"
-msgstr "Impossibile creare la fonte dei tasselli"
-
-msgid "Show Errors"
-msgstr "Visualizza errori"
-
-msgid "Load Tile"
-msgstr "Carica il tassello"
-
 msgid "Increase zoom"
 msgstr "Aumenta l''ingrandimento"
 
 msgid "Decrease zoom"
 msgstr "Diminuisci l''ingrandimento"
 
-msgid "Snap to tile size"
-msgstr "Scatta alla dimensione del tassello"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Svuota la cache dei tasselli"
+msgid "Failed to create tile source"
+msgstr "Impossibile creare la fonte dei tasselli"
 
 msgid "zoom in to load any tiles"
 msgstr "ingrandire per caricare dei tasselli"
@@ -10267,6 +10413,9 @@ msgstr ""
 "Errore durante l''analisi dello scostamento.\n"
 "Formato atteso: {0}."
 
+msgid "Geotagged Images"
+msgstr "Immagini georeferenziate"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Estrazione delle localizzazioni GPS dagli EXIF"
 
@@ -10291,9 +10440,6 @@ msgstr "Errore durante il prelevamento dei file dalla cartella {0}\n"
 msgid "One of the selected files was null"
 msgstr "Uno dei file selezionati era nullo"
 
-msgid "Geotagged Images"
-msgstr "Immagini georeferenziate"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} immagine caricata."
@@ -10691,12 +10837,8 @@ msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 "Fallita l''analisi degli stili Mappaint da ''{0}''. L''errore è stato: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Individuato deprecato ''{0}'' in ''{1}'' che sarà eliminato a breve. "
-"Utilizzare piuttosto ''{2}''."
+msgid "Failed to locate image ''{0}''"
+msgstr "Impossibile trovare l''immagine ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Stile di tratteggio non valido, i valori devono essere positivi"
@@ -10745,6 +10887,12 @@ msgstr "Indirizzo URL del token di accesso:"
 msgid "Authorize URL:"
 msgstr "Indirizzo URL di autorizzazione:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 "Clicca per ripristinare i valori predefiniti delle impostazioni OAuth"
@@ -10820,13 +10968,6 @@ msgstr "Nome utente: "
 msgid "Password: "
 msgstr "Password: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Attenzione:</strong> JOSM effettuerà l''accesso <strong>una sola "
-"volta</strong> utilizzando una connessione sicura."
-
 msgid "Granted rights"
 msgstr "Diritti concessi"
 
@@ -10976,6 +11117,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Si prega di selezionare una procedura di autorizzazione: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Ottieni un token di accesso per ''''{0}''''"
 
@@ -11396,6 +11543,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr "Barra degli strumenti: {0}"
 
+msgid "add entry"
+msgstr "aggiungi voce"
+
+msgid "Remove the selected entry"
+msgstr "Rimuovi la voce selezionata"
+
+msgid "Key: {0}"
+msgstr "Chiave: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Preferenze avanzate"
 
@@ -11491,18 +11647,9 @@ msgstr "Scegliere il file del profilo"
 msgid "Change list setting"
 msgstr "Modifica l''impostazione della lista"
 
-msgid "Key: {0}"
-msgstr "Chiave: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Modifica l''impostazione della lista di liste"
 
-msgid "add entry"
-msgstr "aggiungi voce"
-
-msgid "Remove the selected entry"
-msgstr "Rimuovi la voce selezionata"
-
 msgid "Change list of maps setting"
 msgstr "Modifica l''impostazione della lista di mappe"
 
@@ -12238,9 +12385,6 @@ msgstr "copia le voci predefinite selezionate"
 msgid "Please select at least one row to copy."
 msgstr "Selezionare almeno una riga da copiare."
 
-msgid "reload defaults"
-msgstr "ricarica voci predefinite"
-
 msgid "Menu Name"
 msgstr "Nome del menu"
 
@@ -12569,6 +12713,9 @@ msgstr[0] ""
 msgstr[1] ""
 "È <strong>fallito</strong> lo scaricamento delle seguenti {0} estensioni:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Messaggio di errore (non tradotto): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Si prega di riavviare JOSM per attivare le estensioni scaricate."
 
@@ -13271,12 +13418,6 @@ msgstr "Valori numerici"
 msgid "Checks for wrong numeric values"
 msgstr "Ricerca i valori numerici errati"
 
-msgid "Power"
-msgstr "Elettricità"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Ricerca gli errori sulle infrastrutture elettriche"
-
 msgid "Religion"
 msgstr "Religione"
 
@@ -13369,6 +13510,9 @@ msgstr "Usa la preimpostazione ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Sono supportati elementi di tipo {0}."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "Modificare anche …"
 
@@ -13439,6 +13583,9 @@ msgstr "Ricerca preimpostazioni"
 msgid "Presets"
 msgstr "Preimpostazioni"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "Ricerca oggetti da preimpostazioni"
 
@@ -13492,6 +13639,9 @@ msgstr ""
 "Etichette preimpostate \"{0}-{1}\" non coerenti - il numero di elmenti in "
 "''short_descriptions'' deve essere lo stesso di ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Ulteriori informazioni su questa caratteristica"
 
@@ -13591,17 +13741,31 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "falso: la proprietà è esplicitamente disattivata"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "vero: la proprietà è esplicitamente impostata attiva"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "parziale: diversi oggetti selezionati hanno valori diversi, non cambiato"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "non settato: non settare questa proprietà sugli oggetti selezionati"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "Taglia"
 
@@ -14170,6 +14334,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Valore inatteso per la preferenza ''{0}''. Ottenuto ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "Server dei File di OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 "<html>È stato generato un errore durante il salvataggio.<br>L''errore "
@@ -14188,9 +14355,6 @@ msgstr "File compressi gzip del server OSM"
 msgid "Parsing OSM history data ..."
 msgstr "Analisi dei dati della cronologia OSM ..."
 
-msgid "OSM Server Files"
-msgstr "Server dei File di OSM"
-
 msgid "Invalid dataset"
 msgstr "Insieme di dati non valido"
 
@@ -14407,9 +14571,6 @@ msgstr "Caricamento dati ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "È stato trovato un identificativo 0 non atteso per una primitiva osm"
 
-msgid "OSM Server Files zip compressed"
-msgstr "File zip compressi OSM Server"
-
 msgid "Downloading data..."
 msgstr "Scaricamento dei dati..."
 
@@ -14600,24 +14761,29 @@ msgstr ""
 "È stato richiesto al controllo remoto di riferire la sua versione del "
 "protocollo. Questo permette ai siti web di individuare un JOSM in esecuzione."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"La versione ''{0}'' dei meta-dati per il livello geoimage non è supportata. "
-"Attesa: 0.1"
+msgid "local file"
+msgstr "file locale"
+
+msgid "include"
+msgstr "includi"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Il livello contiene dati non salvati - salva su file."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Il livello non contiene alcun dato non salvato."
 
 msgid "Data:"
 msgstr "Dati:"
 
-msgid "local file"
-msgstr "file locale"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Collega a un file dati OSM sul proprio disco locale."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Collegamento ad un file GPX sul proprio disco locale."
+msgid "Include OSM data in the .joz session file."
+msgstr "Includi i dati OSM nel file sessione .joz."
 
-msgid "include"
-msgstr "includi"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Includi dati GPX nel file di sessione .joz."
@@ -14628,6 +14794,16 @@ msgstr "Nessuna associazione file"
 msgid "GPX data will be included in the session file."
 msgstr "I dati GPX saranno inclusi nel file di sessione."
 
+msgid "OSM data will be included in the session file."
+msgstr "I dati OSM saranno inclusi nel file sessione."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"La versione ''{0}'' dei meta-dati per il livello geoimage non è supportata. "
+"Attesa: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14651,20 +14827,9 @@ msgstr ""
 "La versione ''{0}'' dei metadati per il livello contrassegno non è "
 "supportata. Atteso: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Il livello contiene dati non salvati - salva su file."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Il livello non contiene alcun dato non salvato."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Collega a un file dati OSM sul proprio disco locale."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Includi i dati OSM nel file sessione .joz."
-
-msgid "OSM data will be included in the session file."
-msgstr "I dati OSM saranno inclusi nel file sessione."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15559,9 +15724,6 @@ msgstr ""
 "utilizzare un file di esportazione messo a disposizione dalla comunità di "
 "OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Messaggio di errore (non tradotto): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15611,6 +15773,9 @@ msgstr ""
 "Sono stati individuati troppi reindirizzamenti all''indirizzo URL di "
 "scarico. Annullo."
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "Impossibile trovare la traduzione per la stringa locale {0}. Ripristinata a "
@@ -15623,9 +15788,6 @@ msgstr ""
 "Errore grave: non è stato possibile trovare l''immagine ''{0}''. Questo è un "
 "serio problema di configurazione. JOSM terminerà di funzionare."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Impossibile trovare l''immagine ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Fallita la gestione del file zip ''{0}''. L''eccezione è stata: {1}"
 
@@ -15783,6 +15945,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr "ms"
 
@@ -16117,9 +16282,6 @@ msgstr "Apri il file selezionato"
 msgid "Open selected file."
 msgstr "Apri file selezionato."
 
-msgid "Refresh"
-msgstr "Aggiorna"
-
 msgid "Rename File"
 msgstr "Rinomina file"
 
@@ -16213,6 +16375,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Trasporto pubblico locale (TPL)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (Stile tedesco)"
 
@@ -16279,6 +16444,9 @@ msgstr "OSM Inspector: Indirizzi"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Boundaries (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI bianco-nero 2.5m"
 
@@ -16375,13 +16543,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW(allonie) PICC immagini numeriche"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "Immagini aeree SPW(allonie) 2012"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "Immagini aeree SPW(allonie) 2009"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -16504,6 +16675,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Ortofoto 2013"
 
@@ -16525,9 +16699,6 @@ msgid ""
 msgstr ""
 "Vercors - Riserva naturale degli Altipiani di Vercors - Ortofoto 1999 - 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Lingue Sorabe)"
 
@@ -16598,6 +16769,15 @@ msgstr "Drone Imagery 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
 
@@ -16631,11 +16811,14 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italia"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombarcia - Italia (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr ""
 
 msgid "Sicily - Italy"
 msgstr "Sicilia -Italia"
@@ -17352,6 +17535,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Crea un reticolo di ways"
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -18120,6 +18306,105 @@ msgstr "limitato"
 msgid "Brand"
 msgstr "Casa produttrice"
 
+msgid "Cuisine"
+msgstr "Cucina"
+
+msgid "italian"
+msgstr "italiana"
+
+msgid "chinese"
+msgstr "cinese"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamburger"
+
+msgid "greek"
+msgstr "greca"
+
+msgid "german"
+msgstr "tedesca"
+
+msgid "indian"
+msgstr "indiana"
+
+msgid "regional"
+msgstr "provinciale"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turca"
+
+msgid "asian"
+msgstr "asiatica"
+
+msgid "thai"
+msgstr "tailandese"
+
+msgid "mexican"
+msgstr "messicana"
+
+msgid "japanese"
+msgstr "giapponese"
+
+msgid "french"
+msgstr "francese"
+
+msgid "sandwich"
+msgstr "tramezzino"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr "Griglieria"
+
+msgid "fish_and_chips"
+msgstr "fish-and-chips"
+
+msgid "chicken"
+msgstr "pollo"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "gelato"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Accesso ad Internet"
 
@@ -18691,8 +18976,11 @@ msgstr "Peso massimo (tonnellate)"
 msgid "Toll"
 msgstr "Pedaggio"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "E'' il corpo d''acqua intermittente (scompare stagionalmente)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
+msgstr ""
 
 msgid "In the tidal range"
 msgstr ""
@@ -19465,26 +19753,30 @@ msgstr "In caso di segnali stradali:"
 msgid "Traffic Calming"
 msgstr "Dissuasore di velocità"
 
-msgid "bump"
-msgstr "dosso"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
+msgstr ""
 
-msgid "chicane"
-msgstr "chicane"
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
-msgstr "restringimento"
+msgid "Cushion"
+msgstr ""
 
-msgid "cushion"
-msgstr "cuscino berlinese"
+msgid "Hump"
+msgstr ""
 
-msgid "hump"
-msgstr "dosso lungo"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "bande_sonore"
+msgid "Rumble strip"
+msgstr ""
 
-msgid "table"
-msgstr "dosso piatto"
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Slargo per l''incrocio di veicoli"
@@ -19635,6 +19927,9 @@ msgstr "Cinta muraria"
 msgid "Retaining Wall"
 msgstr "Muro di contenimento"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Fosso"
@@ -19807,6 +20102,9 @@ msgstr "fiume"
 msgid "Salt Water"
 msgstr "Acqua salata"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "E'' il corpo d''acqua intermittente (scompare stagionalmente)?"
+
 msgid "Coastline"
 msgstr "Linea di costa"
 
@@ -19874,16 +20172,6 @@ msgstr ""
 "Un ampio corpo d''acqua parzialmente racchiuso da terra ma con un una grande "
 "apertura."
 
-msgid "Cliff"
-msgstr "Rupe"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Una parete rocciosa ripida, verticale o quasi (la parte inferiore delle "
-"parete è sul lato destro del percorso)."
-
 msgid "Shipping"
 msgstr "Navigazione"
 
@@ -20814,66 +21102,6 @@ msgstr "Cibo+bevande"
 msgid "Restaurant"
 msgstr "Ristorante"
 
-msgid "Cuisine"
-msgstr "Cucina"
-
-msgid "italian"
-msgstr "italiana"
-
-msgid "chinese"
-msgstr "cinese"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hamburger"
-
-msgid "greek"
-msgstr "greca"
-
-msgid "german"
-msgstr "tedesca"
-
-msgid "indian"
-msgstr "indiana"
-
-msgid "regional"
-msgstr "provinciale"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turca"
-
-msgid "asian"
-msgstr "asiatica"
-
-msgid "thai"
-msgstr "tailandese"
-
-msgid "mexican"
-msgstr "messicana"
-
-msgid "japanese"
-msgstr "giapponese"
-
-msgid "french"
-msgstr "francese"
-
-msgid "sandwich"
-msgstr "tramezzino"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr "Griglieria"
-
 msgid "Microbrewery"
 msgstr "Microbirrificio"
 
@@ -20886,20 +21114,14 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Fast food"
 
-msgid "fish_and_chips"
-msgstr "fish-and-chips"
-
-msgid "chicken"
-msgstr "pollo"
-
 msgid "Food Court"
 msgstr "Mensa self service"
 
 msgid "Cafe"
 msgstr "Caffetteria"
 
-msgid "ice_cream"
-msgstr "gelato"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Pub"
@@ -21077,6 +21299,12 @@ msgstr "Divertimento/Parco a tema"
 msgid "Water Park"
 msgstr "Parco acquatico"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -21111,9 +21339,6 @@ msgstr "Braciere"
 msgid "Fishing"
 msgstr "Riserva di pesca"
 
-msgid "Private Swimming Pool"
-msgstr "Piscina privata"
-
 msgid "Night Club"
 msgstr "Night Club"
 
@@ -21156,12 +21381,18 @@ msgstr "statua"
 msgid "Artist Name"
 msgstr "Nome artista"
 
-msgid "Recording Studio"
-msgstr "Studio di registrazione"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "audio"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "video"
 
@@ -21265,6 +21496,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "avventista del settimo giorno"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Moschea"
 
@@ -21424,6 +21659,125 @@ msgstr "(Usare prefisso internazionale, es. +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinario"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Defibrillatore automatico"
+
+msgid "Located inside a building?"
+msgstr "Presente all''interno di un edificio?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Data ultimo controllo (YYYY-MM-DD)"
+
+msgid "Last check note"
+msgstr "Nota ultimo controllo"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr "Interno"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Pompa antincendio"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "sotterraneo"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "soprasuolo"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "a muro"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "non pressurizzato"
+
+msgid "Diameter (in mm)"
+msgstr "Diametro (in mm)"
+
+msgid "Hydrant Position"
+msgstr "Posizione idrante"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "corsia"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parcheggio"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "marciapiede"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "prato"
+
+msgid "Pressure (in bar)"
+msgstr "Pressione (in bar)"
+
+msgid "suction"
+msgstr "portata"
+
+msgid "Count"
+msgstr "Numero di idranti"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Telefono di emergenza"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -21536,24 +21890,9 @@ msgstr "Note"
 msgid "Telephone cards"
 msgstr "Carte telefoniche"
 
-msgid "Emergency Phone"
-msgstr "Telefono di emergenza"
-
 msgid "Internet Access"
 msgstr "Accesso internet"
 
-msgid "Automated Defibrillator"
-msgstr "Defibrillatore automatico"
-
-msgid "Located inside a building?"
-msgstr "Presente all''interno di un edificio?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Data ultimo controllo (YYYY-MM-DD)"
-
-msgid "Last check note"
-msgstr "Nota ultimo controllo"
-
 msgid "Clock"
 msgstr "Orologio"
 
@@ -21716,64 +22055,15 @@ msgctxt "height"
 msgid "full"
 msgstr "alta"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Nascondi"
+msgstr ""
 
 msgid "Lock"
 msgstr "Blocco"
 
-msgid "Indoor"
-msgstr "Interno"
-
-msgid "Fire Hydrant"
-msgstr "Pompa antincendio"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "sotterraneo"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "soprasuolo"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "a muro"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "non pressurizzato"
-
-msgid "Diameter (in mm)"
-msgstr "Diametro (in mm)"
-
-msgid "Hydrant Position"
-msgstr "Posizione idrante"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "corsia"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parcheggio"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "marciapiede"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "prato"
-
-msgid "Pressure (in bar)"
-msgstr "Pressione (in bar)"
-
-msgid "suction"
-msgstr "portata"
-
-msgid "Count"
-msgstr "Numero di idranti"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr ""
@@ -21826,9 +22116,62 @@ msgstr "tartan"
 msgid "Racetrack"
 msgstr "Circuito (pista)"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Campo da golf"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Minigolf"
 
@@ -22053,9 +22396,6 @@ msgstr "Beach Volley"
 msgid "Billiards"
 msgstr "Biliardi"
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "campo da golf"
 
@@ -22220,6 +22560,10 @@ msgid "gasometer"
 msgstr "gasometro"
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "Stalla per mucche"
 
@@ -22228,6 +22572,38 @@ msgid "construction"
 msgstr "in costruzione"
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Livelli"
 
@@ -22340,6 +22716,9 @@ msgstr "Mulino a vento"
 msgid "Gasometer"
 msgstr "Gasometro"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "Serbatoio di Stoccaggio"
 
@@ -22741,6 +23120,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -22750,6 +23137,9 @@ msgstr "Rovine"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Elettricità"
+
 msgid "Power Plant"
 msgstr "Centrale elettrica"
 
@@ -23184,11 +23574,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Armadio di derivazione"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Traliccio"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr "Tipo di costruzione"
@@ -23209,6 +23602,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "rosso/bianco"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr "a portale"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "a portale due livelli"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "a portale tre livelli"
+
+msgid "Power Tower"
+msgstr "Traliccio"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Tipo di torre"
@@ -23332,18 +23743,6 @@ msgid "guyed_h-frame"
 msgstr "ad H strallata"
 
 msgctxt "power"
-msgid "portal"
-msgstr "a portale"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "a portale due livelli"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "a portale tre livelli"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "a V strallata"
 
@@ -23376,6 +23775,9 @@ msgstr "Attributi del palo:"
 msgid "Transformer Attributes:"
 msgstr "Attributi del trasformatore:"
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Elettrodotto"
 
@@ -23633,6 +24035,9 @@ msgstr "Mobilia"
 msgid "Kitchen"
 msgstr "Cucine"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Tende"
 
@@ -23675,12 +24080,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Articoli di pulizia e bellezza"
 
-msgid "Hairdresser/Barber"
-msgstr "Parrucchiere/Barbiere"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "Bellezza"
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr "Parrucchiere/Barbiere"
+
 msgid "Tattoo"
 msgstr "Tatuaggi"
 
@@ -24006,6 +24420,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geografia"
 
@@ -24176,6 +24665,16 @@ msgstr "Valle"
 msgid "A low area between hills."
 msgstr "Bassa area tra colline."
 
+msgid "Cliff"
+msgstr "Rupe"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Una parete rocciosa ripida, verticale o quasi (la parte inferiore delle "
+"parete è sul lato destro del percorso)."
+
 msgid "Cave Entrance"
 msgstr "Ingresso di una grotta"
 
@@ -24389,6 +24888,51 @@ msgstr "Prato"
 msgid "Orchard"
 msgstr "Frutteto"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Vigna"
 
@@ -25188,9 +25732,6 @@ msgstr "{0} e {1} insieme a {2} e valori in conflitto"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Sospetta combinazione di etichette: {0} e {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} è deprecato"
-
 msgid "{0} is deprecated"
 msgstr "{0} è deprecata"
 
@@ -25217,8 +25758,8 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} è deprecato. Utilizzare invece un multipoligono."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr ""
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -25268,6 +25809,15 @@ msgstr "tasto scorciatoia non comune"
 msgid "{0} is inaccurate"
 msgstr "{0} è impreciso"
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} in un nodo. Dovrebbe essere usato in un tracciato."
 
@@ -25283,6 +25833,9 @@ msgstr "{0} per una via. Si dovrebbe usare per un nodo."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} su un percorso. Dovrebbe essere usato in una relazione"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} su un nodo"
 
@@ -25310,6 +25863,9 @@ msgstr "{0} dovrebbe essere collegato ad un tracciato"
 msgid "node connects waterway and bridge"
 msgstr "nodo connette via navigabile e ponte"
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "nome abbreviato della strada"
 
@@ -25353,10 +25909,8 @@ msgstr "etichetta di livello con simbolo +"
 msgid "layer should be between -5 and 5"
 msgstr "il livello dovrebbe essere compreso tra -5 e 5"
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
-"il livello dovrebbe essere espresso con numeri aventi incrementi opzionali "
-"di .5"
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -29150,7 +29704,7 @@ msgstr "immagini"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -29463,6 +30017,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -29478,6 +30035,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Valori misurati"
 
@@ -30923,6 +31492,12 @@ msgstr "Estensione Proj4J"
 msgid "Code"
 msgstr "Codice"
 
+msgid "Can''t parse a time from this string."
+msgstr "Impossibile interpretare un orario da questa stringa"
+
+msgid "Invalid value"
+msgstr "Valore non valido"
+
 msgid "added"
 msgstr "aggiunto"
 
@@ -31011,15 +31586,6 @@ msgstr "Cattura"
 msgid "Join"
 msgstr "Unisci"
 
-msgid "Enable"
-msgstr "Abilita"
-
-msgid "Can''t parse a time from this string."
-msgstr "Impossibile interpretare un orario da questa stringa"
-
-msgid "Invalid value"
-msgstr "Valore non valido"
-
 msgid "moved"
 msgstr "spostato"
 
@@ -33222,6 +33788,9 @@ msgstr "Il percorso con i nodi selezionati non può essere raddrizzato."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Errore interno: il numero di nodi è {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Estrai nodo"
 
@@ -33906,6 +34475,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Aggiungi nomi da Wikipedia"
 
@@ -34000,6 +34574,3 @@ msgstr "Inizia a guidare"
 
 msgid "Drive a race car on this layer"
 msgstr "Guida una macchina da corsa su questo livello"
-
-#~ msgid "Retirement Home"
-#~ msgstr "Casa di riposo"
diff --git a/i18n/po/ja.po b/i18n/po/ja.po
index 41c8b4b..34926a7 100644
--- a/i18n/po/ja.po
+++ b/i18n/po/ja.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2015-12-23 12:34+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-03 13:11+0000\n"
 "Last-Translator: fujimoto <fujimoto at internet.ne.jp>\n"
 "Language-Team: Japanese <tr at openstreetmap.jp>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:48+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:48+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "X-Poedit-Country: JAPAN\n"
 "Language: ja\n"
 "X-Poedit-Language: Japanese\n"
@@ -393,6 +393,9 @@ msgid ""
 "nodes)"
 msgstr "ウェイを結合できませんでした<br>(一連のノードの並びとしてマージできませんでした)"
 
+msgid "Reverse Ways"
+msgstr "ウェイ方向反転"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "{0}本のウェイを結合"
@@ -447,6 +450,12 @@ msgstr "削除"
 msgid "Delete selected objects."
 msgstr "選択したオブジェクトを削除します"
 
+msgid "Delete Layer"
+msgstr "レイヤーを削除"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "アクティブなレイヤーを削除します。関連するファイルは削除されません。"
+
 msgid "Toggle dialogs panel"
 msgstr "ダイアログパネルの表示/非表示"
 
@@ -1192,9 +1201,6 @@ msgstr "後で再起動するにはクリックしてください。"
 msgid "Reverse way"
 msgstr "ウェイを反転"
 
-msgid "Reverse Ways"
-msgstr "ウェイ方向反転"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "選択したウェイ全ての方向を反転します。"
 
@@ -1364,7 +1370,7 @@ msgid "Split a way at the selected node."
 msgstr "選択したノードでウェイを分割"
 
 msgid "Cannot split since another split operation is already in progress"
-msgstr ""
+msgstr "他の分割操作を処理中なので分割できません"
 
 msgid ""
 "The current selection cannot be used for splitting - no node is selected."
@@ -1478,25 +1484,25 @@ msgstr ""
 "コピーが作られ、全てのノードが選択状態になります。"
 
 msgid "Existing node"
-msgstr ""
+msgstr "既存のノード"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "両方のノード"
 
 msgid "New node"
-msgstr ""
+msgstr "新しいノード"
 
 msgid "Tags / Memberships"
 msgstr "タグ/所属"
 
 msgid "Unglue"
-msgstr ""
+msgstr "引き離す"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "ノードのタグをどこに設定しますか?"
 
 msgid "Where should the memberships of this node be put?"
-msgstr ""
+msgstr "このノードのメンバーをどこに設定しますか?"
 
 msgid "Unglued Node"
 msgstr "ノードを引き離す"
@@ -1528,6 +1534,16 @@ msgstr ""
 "完全でないオブジェクトを引き離そうとしています。<br>実際のオブジェクトが見えていないので、問題が発生する可能性があります。<br>本当に引き離しますか"
 "?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "ウェイからノードを切り離す"
 
@@ -2251,6 +2267,11 @@ msgstr "選択されたすべてのオブジェクトを、現在のデータセ
 msgid "Add selection to relation"
 msgstr "選択をリレーションに追加"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "選択を{0}件のリレーションに追加"
@@ -2290,6 +2311,15 @@ msgstr[0] "<b>{0}枚</b>の異なるリレーションエディターを同時
 msgid "Confirmation"
 msgstr "確認"
 
+msgid "List of recent relations"
+msgstr "最近のリレーションの一覧"
+
+msgid "Open recent relation"
+msgstr "最近のリレーションを開く"
+
+msgid "Relation Editor: {0}"
+msgstr "リレーション編集画面: {0}"
+
 msgid "Select in relation list"
 msgstr "リレーション一覧から選択"
 
@@ -2654,8 +2684,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "''timestamp''の後に<i>min</i>/<i>max</i>が必要です"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr "タイムスタンプ ''{0}'' を解釈できません"
+
+msgid "Expecting {0} after {1}"
+msgstr "{1}の後に{0}が来るべきです"
 
 msgid "Range of primitive ids expected"
 msgstr "プリミティブIDの範囲の指定が必要です"
@@ -3099,13 +3132,13 @@ msgid "Restoring files"
 msgstr "ファイルを復元中"
 
 msgid "Unable to delete backup file {0}"
-msgstr ""
+msgstr "バックアップファイル {0} を削除できません"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "PIDファイル {0} を削除できません"
 
 msgid "Unable to delete archived backup file {0}"
-msgstr ""
+msgstr "アーカイブされたバックアップファイル {0} を削除できません"
 
 msgid "Illegal latitude value ''{0}''"
 msgstr "誤った緯度の値 ''{0}''"
@@ -3215,9 +3248,6 @@ msgid ""
 "startup)."
 msgstr "IPv6 ネットワークを有効にし、 IPv4 よりも IPv6 を優先してみます(最初のスタートアップ時のみ)。"
 
-msgid " (at line {0}, column {1})"
-msgstr " (行{0}、コラム{1}で)"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "設定 {0} はもう使われていないので、除かれました。"
 
@@ -3276,6 +3306,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "東"
 
+msgid "Update default entries"
+msgstr "既定のエントリを更新"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr "投影法 ''{0}'' が見つかりません。ブックマーク ''{1}'' は利用できません。"
 
@@ -3504,6 +3537,9 @@ msgstr "テキスト"
 msgid "areatext"
 msgstr "エリアテキスト"
 
+msgid " (at line {0}, column {1})"
+msgstr " (行{0}、コラム{1}で)"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "UTM 投影法 (''+proj=utm'') には ''+zone=...'' パラメーターが必要です。"
 
@@ -3581,12 +3617,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr "ダブルステレオグラフィック図法"
+msgid "Albers Equal Area"
+msgstr "アルベルス正積図法"
 
 msgid "Parameter ''{0}'' required."
 msgstr "パラメータ ''{0}'' が必要です。"
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr "ダブルステレオグラフィック図法"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "ランベルト正角円錐図法"
 
@@ -3596,6 +3644,24 @@ msgstr "緯度/経度(測地)"
 msgid "Mercator"
 msgstr "メルカトル"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "スイス斜軸メルカトル図法"
 
@@ -4167,6 +4233,9 @@ msgstr "プロパティキーの空白は無効です"
 msgid "Property values start or end with white space"
 msgstr "値で、空白文字を最初か最後にあるプロパティ"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "HTML書式の値を持つプロパティ"
 
@@ -4276,7 +4345,7 @@ msgid "No \"to\" way found"
 msgstr "\"to\" ウェイが見つかりません"
 
 msgid "\"from\" way equals \"to\" way"
-msgstr ""
+msgstr "\"from\" のウェイが \"to\" のウェイと同じです"
 
 msgid "No \"via\" node or way found"
 msgstr "\"via\" ノードまたはウェイが見つかりません"
@@ -4862,9 +4931,6 @@ msgstr "画像設定"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "クリックすると設定の画像タブを開きます"
 
-msgid "Search menu items"
-msgstr "メニュー項目を検索"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "音声"
@@ -4923,12 +4989,6 @@ msgstr "ステータスバーの前景: アクティブ"
 msgid "{0} ({1})"
 msgstr "{0}({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "マウスポインターの位置の緯度です。"
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "マウスポインターの位置の経度です。"
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "描かれている線分の(コンパスの)向き"
 
@@ -4955,6 +5015,18 @@ msgstr "ユーザー:"
 msgid "Do not hide status bar"
 msgstr "ステータスバーを非表示にしない"
 
+msgid "The northing at the mouse pointer."
+msgstr "マウスポインターの場所には何もありません。"
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "マウスポインターの位置の緯度です。"
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "マウスポインターの位置の経度です。"
+
 msgid "System of measurement changed to {0}"
 msgstr "単位系を{0}に変更しました"
 
@@ -5778,6 +5850,18 @@ msgstr "解決"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "上記リストの全てのアイテムを結合するダイアログを開く"
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "検出された競合が{0}件あります"
@@ -5893,6 +5977,9 @@ msgstr "フィルターを下に移動。"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "フィルタ 非表示:{0} 無効化:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "フィルタ内にエラー"
 
@@ -6329,6 +6416,9 @@ msgstr "スタイル設定"
 msgid "Customize the style"
 msgstr "スタイルをカスタマイズ"
 
+msgid "Search menu items"
+msgstr "メニュー項目を検索"
+
 msgid "Mini map"
 msgstr "小地図"
 
@@ -6678,21 +6768,15 @@ msgid_plural ""
 "''{0}''.</html>"
 msgstr[0] "<html>選択したオブジェクトは、現在の編集中のレイヤー''{0}''<br>にありません。</html>"
 
-msgid "Download content"
-msgstr "内容をダウンロード"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "変更セットの内容を OSMサーバーからダウンロードする"
-
-msgid "Update content"
-msgstr "内容を更新"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "変更セットの内容をOSMサーバーのものに更新"
-
 msgid "Download and show the history of the selected objects"
 msgstr "選択されたオブジェクトの履歴をダウンロードして表示"
 
+msgid "Download objects"
+msgstr "オブジェクトをダウンロード"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "レイヤーから選択"
 
@@ -6792,6 +6876,18 @@ msgstr "オープン"
 msgid "closed"
 msgstr "クローズド"
 
+msgid "Download content"
+msgstr "内容をダウンロード"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "変更セットの内容を OSMサーバーからダウンロードする"
+
+msgid "Update content"
+msgstr "内容を更新"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "変更セットの内容をOSMサーバーのものに更新"
+
 msgid "Changeset ID: "
 msgstr "変更セットID: "
 
@@ -7125,8 +7221,8 @@ msgstr "すべてのオブジェクトの選択したキーの値の編集"
 msgid "Edit Tags"
 msgstr "タグを編集"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "タグのヘルプのためにOSM wikiを表示(F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "タグの説明を OSM ウィきで見る"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "選択されたオブジェクトのためのwikiヘルプのためにブラウザーを起動"
@@ -7161,6 +7257,9 @@ msgstr "すべてのキー/値をコピー"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "すべてのタグのキーと値をクリップボードにコピーします"
 
+msgid "Copy Tags"
+msgstr "タグをコピー"
+
 msgid "Search Key/Value/Type"
 msgstr "キー/値/タイプを検索"
 
@@ -7224,6 +7323,27 @@ msgstr "最近追加されたタグの数を設定"
 msgid "Remember last used tags after a restart"
 msgstr "再起動時に最後に使用したタグを記憶"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "有効"
+
+msgid "Hide"
+msgstr "隠す"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "最初の提案を適用"
 
@@ -7332,9 +7452,6 @@ msgstr "新しいリレーション"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "レイヤー''{1}''中のリレーション''{0}''をリレーション編集画面に表示"
 
-msgid "Relation Editor: {0}"
-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 "
@@ -7371,113 +7488,82 @@ msgstr ""
 "<html>リレーション自身に追加しようとしています。<br><br>これは循環参照を引き起こすので薦められません。<br>リレーション ''{0}'' "
 "をスキップします。</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr "現在のデータセット内にある選択されたすべてのオブジェクトを、最初のメンバーの前に追加"
+msgid "Select previous Gap"
+msgstr "前の端点を選択"
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
-msgstr "現在のデータセット内にある選択されたすべてのオブジェクトを、最初の選択されたメンバーの前に追加"
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "リレーション内で端点を含む前のメンバーを選択します"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr "現在のデータセット内にある選択されたすべてのオブジェクトを、最後の選択されたメンバーの後に追加"
+msgid "Select next Gap"
+msgstr "次の端点を選択"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "選択されたオブジェクトの1つを参照しているすべてのメンバーを削除"
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "リレーション内で端点を含む次のメンバーを選択します"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr "現在選択中のオブジェクトを参照しているリレーションのメンバーを選択"
+msgid "Zoom to Gap"
+msgstr "端点にズーム"
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr "選択中の{0}件のオブジェクトを参照しているリレーションのメンバーを選択"
+msgid "Zoom to the gap in the way sequence"
+msgstr "一連のウェイの端点にズームします。"
 
-msgid "Select objects for selected relation members"
-msgstr "選択中のリレーションメンバーのオブジェクトを選択"
+msgid "Refers to"
+msgstr "参照先"
 
-msgid "Sort the relation members"
-msgstr "リレーションメンバーをソート"
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
 
-msgid "Relation Editor: Sort"
-msgstr "リレーション編集画面: 並べ替え"
+msgid "Download referring relations"
+msgstr "参照リレーションをダウンロード"
 
-msgid "Sort below"
-msgstr "以下を並べ替え"
+msgid "There were {0} conflicts during import."
+msgstr "インポートした内容には {0} の競合があります。"
 
-msgid "Sort the selected relation members and all members below"
-msgstr ""
+msgid "including immediate children of parent relations"
+msgstr "直接の親子リレーションを含む"
 
-msgid "Reverse the order of the relation members"
-msgstr "リレーションメンバーの表示順序を反転する"
+msgid "Load parent relations"
+msgstr "親リレーションをロード"
 
-msgid "Reverse"
-msgstr "逆順"
+msgid "Reload"
+msgstr "再読込"
 
-msgid "Move the currently selected members up"
-msgstr "選択したメンバーを1つ上に移動します"
+msgid "Loading parent relations"
+msgstr "親リレーションをロード中"
 
-msgid "Relation Editor: Move Up"
-msgstr "リレーション編集画面: 上へ移動"
+msgid "Edit the currently selected relation"
+msgstr "選択しているリレーションを編集"
 
-msgid "Move the currently selected members down"
-msgstr "選択したメンバーを一つ下に移動します"
+msgid "Apply Changes"
+msgstr "変更を適用"
 
-msgid "Relation Editor: Move Down"
-msgstr "リレーション編集画面: 下へ移動"
+msgid "Create new relation in layer ''{0}''"
+msgstr "レイヤー ''{0}'' に新しいリレーションを作成"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "このリレーションから選択したメンバーを削除"
+msgid "Edit new relation in layer ''{0}''"
+msgstr "レイヤー ''{0}'' の新しいリレーションを編集"
 
-msgid "Relation Editor: Remove"
-msgstr "リレーション編集画面: 削除"
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "レイヤー ''{1}'' のリレーション #{0} を編集"
 
-msgid "Delete the currently edited relation"
-msgstr "現在編集されたリレーションを削除"
+msgid "Load relation"
+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"
-"それらはリレーションメンバーリストから削除されました。"
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr "現在のデータセット内にある選択されたすべてのオブジェクトを、最後の選択されたメンバーの後に追加"
 
-msgid "Yes, create a conflict and close"
-msgstr "はい、競合を作成して閉じる"
+msgid ""
+"Add all objects selected in the current dataset before the first member"
+msgstr "現在のデータセット内にある選択されたすべてのオブジェクトを、最初のメンバーの前に追加"
 
-msgid "Click to create a conflict and close this relation editor"
-msgstr "クリックして競合を作成し、このリレーションエディタを閉じる"
+msgid ""
+"Add all objects selected in the current dataset before the first selected "
+"member"
+msgstr "現在のデータセット内にある選択されたすべてのオブジェクトを、最初の選択されたメンバーの前に追加"
 
-msgid "No, continue editing"
-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 "現在の更新を適用"
-
-msgid "Apply the updates and close the dialog"
-msgstr "更新を適用してダイアログを閉じる"
+msgid "Apply the current updates"
+msgstr "現在の更新を適用"
 
 msgid "Cancel the updates and close the dialog"
 msgstr "更新をキャンセルしてダイアログを閉じる"
@@ -7497,6 +7583,9 @@ msgstr "変更を破棄してこのリレーション編集画面を閉じる場
 msgid "Cancel, continue editing"
 msgstr "キャンセル、編集を継続"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr "クリックしてリレーションエディタに戻り、リレーション編集を再開"
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7505,8 +7594,11 @@ msgstr "<html>リレーションが変更されました。<br><br>変更を保
 msgid "Unsaved changes"
 msgstr "保存されていない変更"
 
-msgid "Add an empty tag"
-msgstr "空のタグを追加"
+msgid "Delete the currently edited relation"
+msgstr "現在編集されたリレーションを削除"
+
+msgid "Relation Editor: Download Members"
+msgstr "リレーション編集画面: メンバーをダウンロード"
 
 msgid "Download all incomplete members"
 msgstr "全ての不完全なメンバーをダウンロード"
@@ -7514,101 +7606,157 @@ msgstr "全ての不完全なメンバーをダウンロード"
 msgid "Download Members"
 msgstr "メンバーのダウンロード"
 
-msgid "Relation Editor: Download Members"
-msgstr "リレーション編集画面: メンバーをダウンロード"
-
 msgid "Download selected incomplete members"
 msgstr "選択された不完全なメンバーをダウンロード"
 
-msgid "Sets a role for the selected members"
-msgstr "選択されたメンバーにロールをセット"
-
-msgid "Apply Role"
-msgstr "ロールを適用"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "{0}件のオブジェクトに空のロールを設定しようとしています。"
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "これはオブジェクトからロールを削除することと同じことです。"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "選択中のリレーションメンバーが参照しているリレーションを編集"
 
-msgid "Do you really want to apply the new role?"
-msgstr "新しいロールを本当に適用しますか?"
+msgid "Relation Editor: Move Down"
+msgstr "リレーション編集画面: 下へ移動"
 
-msgid "Yes, apply it"
-msgstr "はい、適用します"
+msgid "Move the currently selected members down"
+msgstr "選択したメンバーを一つ下に移動します"
 
-msgid "No, do not apply"
-msgstr "いいえ、適用しません"
+msgid "Relation Editor: Move Up"
+msgstr "リレーション編集画面: 上へ移動"
 
-msgid "Confirm empty role"
-msgstr "空のロールを確認"
+msgid "Move the currently selected members up"
+msgstr "選択したメンバーを1つ上に移動します"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "選択中のリレーションメンバーが参照しているリレーションを編集"
+msgid "Apply the updates and close the dialog"
+msgstr "更新を適用してダイアログを閉じる"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
 "current layer"
 msgstr "貼り付けバッファのメンバーは追加できません。現在のレイヤーに含まれていません"
 
-msgid "Select previous Gap"
-msgstr "前の端点を選択"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "リレーション内で端点を含む前のメンバーを選択します"
+msgid "Refresh relation from data layer"
+msgstr ""
 
-msgid "Select next Gap"
-msgstr "次の端点を選択"
+msgid "Refresh"
+msgstr "リフレッシュ"
 
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "リレーション内で端点を含む次のメンバーを選択します"
+msgid "Yes, discard changes and reload"
+msgstr "はい、変更を破棄して再読み込みします"
 
-msgid "Zoom to Gap"
-msgstr "端点にズーム"
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
-msgstr "一連のウェイの端点にズームします。"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
 
-msgid "Refers to"
-msgstr "参照先"
+msgid "Click to close window"
+msgstr "クリックするとウィンドウを閉じます"
 
-msgid "Download referring relations"
-msgstr "参照リレーションをダウンロード"
+msgid "No, continue editing"
+msgstr "いいえ、編集を続ける"
 
-msgid "There were {0} conflicts during import."
-msgstr "インポートした内容には {0} の競合があります。"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "including immediate children of parent relations"
-msgstr "直接の親子リレーションを含む"
+msgid "Deleted relation"
+msgstr "リレーションを削除"
 
-msgid "Load parent relations"
-msgstr "親リレーションをロード"
+msgid "Relation Editor: Remove"
+msgstr "リレーション編集画面: 削除"
 
-msgid "Reload"
-msgstr "再読込"
+msgid "Remove the currently selected members from this relation"
+msgstr "このリレーションから選択したメンバーを削除"
 
-msgid "Loading parent relations"
-msgstr "親リレーションをロード中"
+msgid "Remove all members referring to one of the selected objects"
+msgstr "選択されたオブジェクトの1つを参照しているすべてのメンバーを削除"
 
-msgid "Edit the currently selected relation"
-msgstr "選択しているリレーションを編集"
+msgid "Reverse the order of the relation members"
+msgstr "リレーションメンバーの表示順序を反転する"
 
-msgid "Apply Changes"
-msgstr "変更を適用"
+msgid "Reverse"
+msgstr "逆順"
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "レイヤー ''{0}'' に新しいリレーションを作成"
+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 "Edit new relation in layer ''{0}''"
-msgstr "レイヤー ''{0}'' の新しいリレーションを編集"
+msgid "Yes, create a conflict and close"
+msgstr "はい、競合を作成して閉じる"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "レイヤー ''{1}'' のリレーション #{0} を編集"
+msgid "Click to create a conflict and close this relation editor"
+msgstr "クリックして競合を作成し、このリレーションエディタを閉じる"
 
-msgid "Load relation"
-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 "Select objects for selected relation members"
+msgstr "選択中のリレーションメンバーのオブジェクトを選択"
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr "現在選択中のオブジェクトを参照しているリレーションのメンバーを選択"
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr "選択中の{0}件のオブジェクトを参照しているリレーションのメンバーを選択"
+
+msgid "Sets a role for the selected members"
+msgstr "選択されたメンバーにロールをセット"
+
+msgid "Apply Role"
+msgstr "ロールを適用"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "{0}件のオブジェクトに空のロールを設定しようとしています。"
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "これはオブジェクトからロールを削除することと同じことです。"
+
+msgid "Do you really want to apply the new role?"
+msgstr "新しいロールを本当に適用しますか?"
+
+msgid "Yes, apply it"
+msgstr "はい、適用します"
+
+msgid "No, do not apply"
+msgstr "いいえ、適用しません"
+
+msgid "Confirm empty role"
+msgstr "空のロールを確認"
+
+msgid "Relation Editor: Sort"
+msgstr "リレーション編集画面: 並べ替え"
+
+msgid "Sort the relation members"
+msgstr "リレーションメンバーをソート"
+
+msgid "Sort below"
+msgstr "以下を並べ替え"
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "ウェイは接続されています"
@@ -8014,6 +8162,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr "<html>バージョン <strong>{0}</strong> 作成日 <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "変更セット"
 
@@ -8132,13 +8285,15 @@ msgid "Upload"
 msgstr "アップロード"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>左端のボタンをクリックしたときに、このレイヤーに対して行われる動作を選択してください。<br/>「アップロード」をチェックすると、OSMサーバ"
-"ーに変更をアップロードします。<br/>「保存」をチェックすると、左側で指定されたファイルにこのレイヤーを保存します。</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "アップロードする変更の概略コメントを入力してください。"
@@ -8319,9 +8474,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr "現在のJOSMユーザー情報の取得に失敗しました。例外: {0}"
 
-msgid "Download objects"
-msgstr "オブジェクトをダウンロード"
-
 msgid "Initializing nodes to download ..."
 msgstr "ダウンロードのためのノードを初期化..."
 
@@ -8852,7 +9004,7 @@ msgid "{0} object to delete:"
 msgid_plural "{0} objects to delete:"
 msgstr[0] "削除するオブジェクト{0}件:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr "タイル情報を表示"
 
 msgid "Tile Info"
@@ -8861,17 +9013,23 @@ msgstr "タイル情報"
 msgid "Metadata "
 msgstr "メタデータ "
 
-msgid "Auto Zoom"
+msgid "Load tile"
+msgstr "タイルを読み込み"
+
+msgid "Auto zoom"
 msgstr "自動ズーム"
 
 msgid "Auto load tiles"
 msgstr "タイルの自動読み込み"
 
-msgid "Load All Tiles"
-msgstr "全てのタイルをロード"
+msgid "Show errors"
+msgstr "エラーを表示"
+
+msgid "Load all tiles"
+msgstr "タイルをすべて読み込み"
 
-msgid "Load All Error Tiles"
-msgstr "エラーになったすべてのタイルをロード"
+msgid "Load all error tiles"
+msgstr "エラーになったタイルをすべて読み込み"
 
 msgid "Zoom to native resolution"
 msgstr "本来の解像度にズーム"
@@ -8879,26 +9037,17 @@ msgstr "本来の解像度にズーム"
 msgid "Change resolution"
 msgstr "解像度の変更"
 
-msgid "Failed to create tile source"
-msgstr "タイルソースの作成に失敗しました"
-
-msgid "Show Errors"
-msgstr "エラーを表示"
-
-msgid "Load Tile"
-msgstr "タイルの読み込み"
-
 msgid "Increase zoom"
 msgstr "ズームアップ"
 
 msgid "Decrease zoom"
 msgstr "ズームダウン"
 
-msgid "Snap to tile size"
-msgstr "タイルサイズに合わせる"
+msgid "Flush tile cache"
+msgstr "タイルキャッシュを破棄"
 
-msgid "Flush Tile Cache"
-msgstr "タイルのキャッシュをフラッシュ"
+msgid "Failed to create tile source"
+msgstr "タイルソースの作成に失敗しました"
 
 msgid "zoom in to load any tiles"
 msgstr "タイルを読み込むには拡大してください"
@@ -8945,7 +9094,7 @@ msgstr "WMSファイルを保存"
 msgid ""
 "Aerial imagery \"{0}\" might be misaligned. Please check its offset using "
 "GPS tracks!"
-msgstr ""
+msgstr "航空画像 \"{0}\" がずれているかもしれません。 GPS 軌跡を使って位置を確認してください!"
 
 msgid "http://wiki.openstreetmap.org/wiki/Using_Imagery"
 msgstr "http://wiki.openstreetmap.org/wiki/JA:Using_Imagery"
@@ -9321,6 +9470,9 @@ msgstr ""
 "オフセット区切り作業中にエラーです。\n"
 "期待されるフォーマット: {0}"
 
+msgid "Geotagged Images"
+msgstr "ジオタグのついた画像"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "EXIFからGPS位置を取得"
 
@@ -9345,9 +9497,6 @@ msgstr "ディレクトリからファイルを入手中のエラー {0}\n"
 msgid "One of the selected files was null"
 msgstr "選択されたファイルのひとつがヌルでした"
 
-msgid "Geotagged Images"
-msgstr "ジオタグのついた画像"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0}件の画像がロードされました。"
@@ -9710,10 +9859,8 @@ msgstr[0] "このスタイルを読み込むのに{0}件のエラーがありま
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "''{0}''から地図描画スタイルの解析に失敗しました。エラー: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr "''{1}''に推奨されない''{0}''が設定されており、まもなく取り除かれる予定です。代わりに''{2}''を使用してください。"
+msgid "Failed to locate image ''{0}''"
+msgstr "イメージ ''{0}'' が見つかりません"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "不正なマイナス符号、値は正でないといけません。"
@@ -9759,6 +9906,12 @@ msgstr "アクセストークンURL:"
 msgid "Authorize URL:"
 msgstr "認証URL:"
 
+msgid "OSM login URL:"
+msgstr "OSM ログイン URL:"
+
+msgid "OSM logout URL:"
+msgstr "OSM ログアウト URL:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "OAuthの設定を初期値にリセット"
 
@@ -9822,12 +9975,6 @@ msgstr "ユーザー名: "
 msgid "Password: "
 msgstr "パスワード: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>警告:</strong> JOSMはセキュリティ保護された接続を使用して<strong>一度だけ</strong>ログインします。"
-
 msgid "Granted rights"
 msgstr "認められた権利"
 
@@ -9954,6 +10101,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "認証手続きを選択してください: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "''{0}'' 用のアクセストークンを取得"
 
@@ -10333,6 +10486,15 @@ msgstr "Registered toolbar action {0} overwritten: {1} gets {2}"
 msgid "Toolbar: {0}"
 msgstr "ツールバー: {0}"
 
+msgid "add entry"
+msgstr "エントリを追加"
+
+msgid "Remove the selected entry"
+msgstr "選択したエントリを削除します"
+
+msgid "Key: {0}"
+msgstr "キー: {0}"
+
 msgid "Advanced Preferences"
 msgstr "高度な設定"
 
@@ -10418,18 +10580,9 @@ msgstr "プロファイルのファイルを選択してください"
 msgid "Change list setting"
 msgstr "リストの設定を変更"
 
-msgid "Key: {0}"
-msgstr "キー: {0}"
-
 msgid "Change list of lists setting"
 msgstr "リストの一覧の設定を変更"
 
-msgid "add entry"
-msgstr "エントリを追加"
-
-msgid "Remove the selected entry"
-msgstr "選択したエントリを削除します"
-
 msgid "Change list of maps setting"
 msgstr "地図の一覧の設定を変更"
 
@@ -11004,7 +11157,7 @@ msgid "2. Enter name for this layer"
 msgstr "2. このレイヤーの名称を入力してください"
 
 msgid "{0} cache, total cache size: {1} bytes"
-msgstr ""
+msgstr "キャッシュ{0}件、合計キャッシュサイズ: {1}バイト"
 
 msgid "Cache name"
 msgstr "キャッシュ名"
@@ -11084,9 +11237,6 @@ msgstr "選択したエントリをコピーします"
 msgid "Please select at least one row to copy."
 msgstr "コピーする列を1つ以上選んでください。"
 
-msgid "reload defaults"
-msgstr "既定値を再読込み"
-
 msgid "Menu Name"
 msgstr "メニューの名前"
 
@@ -11293,7 +11443,7 @@ msgstr ""
 "width=600>エラーコード: {1}</table></html>"
 
 msgid "Sort presets menu alphabetically"
-msgstr ""
+msgstr "プリセットメニューをアルファベット順に並べ替え"
 
 msgid "Tagging Presets"
 msgstr "タグ付けプリセット"
@@ -11373,6 +11523,9 @@ msgid_plural ""
 "Downloading the following {0} plugins has <strong>failed</strong>:"
 msgstr[0] "次の{0}件のプラグインのダウンロードに<strong>失敗</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>エラーメッセージ(未訳): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "ダウンロードしたプラグインを有効にするにはJOSMを再起動してください。"
 
@@ -11557,7 +11710,7 @@ msgid "LKS-92 (Latvia TM)"
 msgstr "LKS-92 (Latvia TM)"
 
 msgid "Rijksdriehoekscoördinaten (Netherlands)"
-msgstr ""
+msgstr "Rijksdriehoekscoördinaten (Netherlands)"
 
 msgid "SWEREF99 13 30 / EPSG:3008 (Sweden)"
 msgstr "SWEREF99 13 30 / EPSG:3008 (Sweden)"
@@ -11850,13 +12003,13 @@ msgid "Please enter the OSM API URL."
 msgstr "OSM API URLを入力してください。"
 
 msgid "Use Overpass server for object downloads"
-msgstr ""
+msgstr "オブジェクトのダウンロードに Overpass サーバーを使用"
 
 msgid "Overpass server: "
 msgstr "Overpass サーバー: "
 
 msgid "Overpass server"
-msgstr ""
+msgstr "Overpass サーバー"
 
 msgid "Proxy settings"
 msgstr "プロキシ設定"
@@ -12017,12 +12170,6 @@ msgstr "数値"
 msgid "Checks for wrong numeric values"
 msgstr "誤った数値をチェックします"
 
-msgid "Power"
-msgstr "電力関係"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "電力関係のインフラのエラーをチェックします"
-
 msgid "Religion"
 msgstr "宗教"
 
@@ -12111,6 +12258,9 @@ msgstr "プリセット ''{0}''を使います"
 msgid "Elements of type {0} are supported."
 msgstr "タイプ{0}の要素がサポートされます"
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "他の修正対象"
 
@@ -12122,7 +12272,7 @@ msgstr "新しいリレーション"
 
 msgid ""
 "The preset <i>{0}</i> cannot be applied since nothing has been selected!"
-msgstr ""
+msgstr "何も選択されていないので、プリセット <i>{0}</i> が適用できません。"
 
 msgid ""
 "The preset <i>{0}</i> cannot be applied since the selection is unsuitable!"
@@ -12180,6 +12330,9 @@ msgstr "プリセットを検索"
 msgid "Presets"
 msgstr "プリセット"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "プリセットでオブジェクトを検索"
 
@@ -12231,6 +12384,9 @@ msgstr ""
 "\"{0}-{1}\" プリセットのタグ付けが壊れています - ''short_descriptions'' の中の項目数は ''values'' "
 "と同じである必要があります"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "この地物・機能の詳細情報"
 
@@ -12319,16 +12475,30 @@ msgstr "現在の値は正しいOSMのIDではありません。ゼロより大
 msgid "false: the property is explicitly switched off"
 msgstr "偽: プロパティをオフに設定する"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "真: プロパティをオンに設定する"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "部分:選択されたオブジェクトによって異なる値が設定されており、変更しません"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "非設定: 選択されたオブジェクトにこのプロパティを設定しない"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "切り取り"
 
@@ -12812,6 +12982,9 @@ msgstr "OAuth認証ヘッダでのHTTP接続のサインに失敗"
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "設定項目''{0}''が想定外の値です。''{1}''になっています。"
 
+msgid "OSM Server Files"
+msgstr "OSMサーバーファイル"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>保存中にエラー発生。<br>エラー: <br>{0}</html>"
 
@@ -12826,9 +12999,6 @@ msgstr "gzip圧縮したOSMファイル"
 msgid "Parsing OSM history data ..."
 msgstr "OSM 履歴データ解析中 ..."
 
-msgid "OSM Server Files"
-msgstr "OSMサーバーファイル"
-
 msgid "Invalid dataset"
 msgstr "データセットが無効です"
 
@@ -13022,9 +13192,6 @@ msgstr "データアップロード中 ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "osmプリミティブに予期しないID 0が見つかりました"
 
-msgid "OSM Server Files zip compressed"
-msgstr "OSMサーバーファイル(ZIP圧縮)"
-
 msgid "Downloading data..."
 msgstr "データのダウンロード中..."
 
@@ -13199,22 +13366,29 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr "リモート制御により、プロトコルバージョンを報告するよう指示されました。これにより、ウェブサイトが実行中のJOSMを検出できます。"
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr "ジオイメージレイヤーのバージョン ''{0}'' のメタデータはサポートされていません。0.1である必要があります。"
+msgid "local file"
+msgstr "ローカルファイル"
+
+msgid "include"
+msgstr "埋め込む"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "レイヤーに保存されていないデータが含まれています。ファイルに保存してください。"
+
+msgid "Layer does not contain unsaved data."
+msgstr "レイヤーには保存されていないデータがありません。"
 
 msgid "Data:"
 msgstr "データ:"
 
-msgid "local file"
-msgstr "ローカルファイル"
+msgid "Link to a OSM data file on your local disk."
+msgstr "ローカルディスク上のOSMデータファイルにリンク"
 
-msgid "Link to a GPX file on your local disk."
-msgstr "ローカルディスクにあるGPXファイルにリンクします。"
+msgid "Include OSM data in the .joz session file."
+msgstr ".jozセッションファイル中にOSMデータをインクルード"
 
-msgid "include"
-msgstr "埋め込む"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr ".jozセッションファイルに含まれるGPXデータを含める。"
@@ -13225,6 +13399,14 @@ msgstr "ファイルの関連付けがありません"
 msgid "GPX data will be included in the session file."
 msgstr "セッションファイル中にGPXデータを含めます。"
 
+msgid "OSM data will be included in the session file."
+msgstr "OSMデータはセッションファイルに含められます。"
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr "ジオイメージレイヤーのバージョン ''{0}'' のメタデータはサポートされていません。0.1である必要があります。"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13242,20 +13424,9 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr "マーカーレイヤー用のメタデータのバージョン''{0}''はサポートされていません。0.1である必要があります"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "レイヤーに保存されていないデータが含まれています。ファイルに保存してください。"
-
-msgid "Layer does not contain unsaved data."
-msgstr "レイヤーには保存されていないデータがありません。"
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "ローカルディスク上のOSMデータファイルにリンク"
-
-msgid "Include OSM data in the .joz session file."
-msgstr ".jozセッションファイル中にOSMデータをインクルード"
-
-msgid "OSM data will be included in the session file."
-msgstr "OSMデータはセッションファイルに含められます。"
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -13623,7 +13794,7 @@ msgid "Downloading plugin list from ''{0}''"
 msgstr "''{0}'' からプラグインリストをダウンロード中"
 
 msgid "Unsuccessful HTTP request"
-msgstr ""
+msgstr "失敗したHTTPリクエスト"
 
 msgid "Plugin list download error"
 msgstr "プラグイン一覧ダウンロードエラー"
@@ -13976,9 +14147,6 @@ msgstr ""
 "ダウンロードしようとしたエリアが大きすぎるか、リクエストが大きすぎます。<br>もっと小さいエリアでリクエストするか、OSMコミュニティから提供されたエク"
 "スポートファイルを使用してください。"
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>エラーメッセージ(未訳): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -14021,6 +14189,9 @@ msgstr "ダウンロードは ''{0}'' にリダイレクトされました"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "ダウンロードURLに対するリダイレクトが多すぎます。異常終了します。"
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Unable to find translation for the locale {0}. Reverting to {1}."
 
@@ -14029,9 +14200,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr "Fatal: 画像 ''{0}'' の配置に失敗しました。これは深刻な構成の問題です。JOSM は動作停止します。"
 
-msgid "Failed to locate image ''{0}''"
-msgstr "イメージ ''{0}'' が見つかりません"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "zipファイル''{0}''の扱いに失敗しました。例外: {1}"
 
@@ -14069,7 +14237,7 @@ msgid "reserved"
 msgstr "予約"
 
 msgid "Unable to delete old preferences file {0}"
-msgstr ""
+msgstr "古い設定ファイル {0} が削除できませんでした"
 
 msgid "Outdated Java version"
 msgstr "Javaのバージョンが期限切れ"
@@ -14170,7 +14338,10 @@ msgstr ""
 "/html>"
 
 msgid "Unable to delete file {0}"
-msgstr ""
+msgstr "ファイル {0} が削除できませんでした"
+
+msgid "Unable to create directory {0}"
+msgstr "ディレクトリ {0} が作成できませんでした"
 
 msgid "ms"
 msgstr "ミリ秒"
@@ -14482,9 +14653,6 @@ msgstr "選択されたファイルを開く"
 msgid "Open selected file."
 msgstr "選択したファイルを開く。"
 
-msgid "Refresh"
-msgstr "リフレッシュ"
-
 msgid "Rename File"
 msgstr "ファイル名を変更"
 
@@ -14578,6 +14746,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Public Transport (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (German Style)"
 
@@ -14644,6 +14815,9 @@ msgstr "OSM Inspector: Addresses"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Boundaries (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr "SIG Instituto Geográfico Nacional (WMTS)"
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI black-and-white 2.5m"
 
@@ -14672,7 +14846,7 @@ msgid "LPI NSW Administrative Boundaries State Forest"
 msgstr "LPI NSW Administrative Boundaries State Forest"
 
 msgid "LPI NSW Administrative Boundaries NPWS Reserve"
-msgstr ""
+msgstr "LPI NSW Administrative Boundaries NPWS Reserve"
 
 msgid "Geoimage.at MaxRes"
 msgstr "Geoimage.at MaxRes"
@@ -14740,14 +14914,17 @@ msgstr "URBIS 2015 aerial imagery"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW(allonie) PICC numerical imagery"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW(allonie) 2015 aerial imagery"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW(allonie) 2012-2013 aerial imagery"
 
-msgid "TEC bus lines"
-msgstr "TEC bus lines"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW(allonie) 2009-2010 aerial imagery"
+
+msgid "TEC bus lines (2014)"
+msgstr "TEC bus lines (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
@@ -14869,6 +15046,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Toulouse - Orthophotoplan 2015"
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -14891,9 +15071,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Sorbian Language)"
 
@@ -14965,6 +15142,15 @@ msgstr "Drone Imagery 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Drone Imagery Canaan(Haiti) November 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr "FÖMI ortophoto 2000"
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr "Interspect Budapest ortophoto 2014"
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr "Five districts of Budapest: III, IV, XIII, XIV, XV"
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
 
@@ -14998,11 +15184,14 @@ msgstr "OSMIE Local Election Areas"
 msgid "OSMIE Dail Election Areas"
 msgstr "OSMIE Dail Election Areas"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr "OSMIE T.ie Land not in Counties"
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italy"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Lombardia - Italy (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Sicily - Italy"
@@ -15706,6 +15895,9 @@ msgstr "場所を移動したりズームしたりすると、新しいデータ
 msgid "Create a grid of ways."
 msgstr "ウェイのグリッドを作成。"
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "チェコ共和国内のアドレスノードと建物を作成、編集するためのプラグインです。"
@@ -16392,6 +16584,105 @@ msgstr "制限"
 msgid "Brand"
 msgstr "ブランド(会社名)"
 
+msgid "Cuisine"
+msgstr "料理の種類"
+
+msgid "italian"
+msgstr "イタリアン"
+
+msgid "chinese"
+msgstr "中国料理"
+
+msgid "pizza"
+msgstr "ピザ"
+
+msgid "burger"
+msgstr "バーガー"
+
+msgid "greek"
+msgstr "ギリシャ料理"
+
+msgid "german"
+msgstr "ドイツ料理"
+
+msgid "indian"
+msgstr "インド料理"
+
+msgid "regional"
+msgstr "郷土料理"
+
+msgid "kebab"
+msgstr "ケバブ"
+
+msgid "turkish"
+msgstr "トルコ料理"
+
+msgid "asian"
+msgstr "アジア各国料理"
+
+msgid "thai"
+msgstr "タイ料理"
+
+msgid "mexican"
+msgstr "メキシコ料理"
+
+msgid "japanese"
+msgstr "和食"
+
+msgid "french"
+msgstr "フレンチ"
+
+msgid "sandwich"
+msgstr "サンドイッチ"
+
+msgid "coffee_shop"
+msgstr "喫茶店"
+
+msgid "sushi"
+msgstr "寿司"
+
+msgid "steak_house"
+msgstr "ステーキハウス"
+
+msgid "fish_and_chips"
+msgstr "フィッシュ・アンド・チップス"
+
+msgid "chicken"
+msgstr "チキン"
+
+msgid "american"
+msgstr "アメリカ料理"
+
+msgid "ice_cream"
+msgstr "アイスクリーム"
+
+msgid "international"
+msgstr "多国籍料理"
+
+msgid "seafood"
+msgstr "シーフード料理"
+
+msgid "spanish"
+msgstr "スペイン料理"
+
+msgid "vietnamese"
+msgstr "ベトナム料理"
+
+msgid "fish"
+msgstr "魚料理"
+
+msgid "noodle"
+msgstr "麺類"
+
+msgid "barbecue"
+msgstr "焼肉"
+
+msgid "vegetarian"
+msgstr "べリタリアン向け"
+
+msgid "korean"
+msgstr "韓国料理"
+
 msgid "Internet access"
 msgstr "インターネットアクセス"
 
@@ -16959,12 +17250,15 @@ msgstr "最大重量(t)"
 msgid "Toll"
 msgstr "料金"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "永続的な水域ではない(季節によってなくなる)?"
+msgid "Intermittent"
+msgstr ""
 
-msgid "In the tidal range"
+msgid "Seasonal"
 msgstr ""
 
+msgid "In the tidal range"
+msgstr "潮間帯"
+
 msgid "culvert"
 msgstr "カルバート"
 
@@ -17090,7 +17384,7 @@ msgid "Primary"
 msgstr "主要地方道"
 
 msgid "Overhead trolley wires"
-msgstr ""
+msgstr "トロリーバスの架線"
 
 msgid "Primary Link"
 msgstr "主要地方道の連絡路"
@@ -17332,7 +17626,7 @@ msgid "Tourist buses"
 msgstr "観光バス"
 
 msgid "Max. speed Heavy Goods Vehicles (km/h)"
-msgstr ""
+msgstr "大型貨物車の制限速度 (km/h)"
 
 msgid "Min. speed (km/h)"
 msgstr "最低速度(km/h)"
@@ -17713,26 +18007,30 @@ msgstr "信号機の場合:"
 msgid "Traffic Calming"
 msgstr "交通静穏化"
 
-msgid "bump"
-msgstr "段差"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
+msgstr ""
 
-msgid "chicane"
-msgstr "シケイン"
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
-msgstr "狭窄"
+msgid "Cushion"
+msgstr ""
 
-msgid "cushion"
-msgstr "スピードクッション"
+msgid "Hump"
+msgstr ""
 
-msgid "hump"
-msgstr "ハンプ"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "ランブルストリップス"
+msgid "Rumble strip"
+msgstr ""
 
-msgid "table"
-msgstr "スピードテーブル"
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "対向車待機所"
@@ -17883,6 +18181,9 @@ msgstr "市壁"
 msgid "Retaining Wall"
 msgstr "擁壁"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "濠"
@@ -18053,6 +18354,9 @@ msgstr "河川"
 msgid "Salt Water"
 msgstr "塩水"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "永続的な水域ではない(季節によってなくなる)?"
+
 msgid "Coastline"
 msgstr "海岸線"
 
@@ -18115,14 +18419,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr "大きな水域で、部分的に陸地によって閉じていますが、大きな開口部があります。"
 
-msgid "Cliff"
-msgstr "崖"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr "完全に垂直または垂直に近い、急な岩が露出したところです(ウェイの右側が低い方になるようにしてください)。"
-
 msgid "Shipping"
 msgstr "港湾関連"
 
@@ -18288,7 +18584,7 @@ msgid "commercial"
 msgstr "商用"
 
 msgid "Floating"
-msgstr ""
+msgstr "浮き桟橋"
 
 msgid "Lock Gate"
 msgstr "ロックゲート"
@@ -18366,7 +18662,7 @@ msgid "Traffic lights"
 msgstr "警報灯"
 
 msgid "Barrier"
-msgstr "柵"
+msgstr "遮断機"
 
 msgctxt "crossing:barrier"
 msgid "yes"
@@ -19051,92 +19347,26 @@ msgstr "飲食店"
 msgid "Restaurant"
 msgstr "レストラン"
 
-msgid "Cuisine"
-msgstr "料理の種類"
+msgid "Microbrewery"
+msgstr "地酒醸造所"
 
-msgid "italian"
-msgstr "イタリアン"
+msgid "Outdoor seating"
+msgstr "屋外席"
 
-msgid "chinese"
-msgstr "中国料理"
+msgid "Takeaway"
+msgstr "テイクアウト"
 
-msgid "pizza"
-msgstr "ピザ"
+msgid "Fast Food"
+msgstr "ファストフード"
 
-msgid "burger"
-msgstr "バーガー"
+msgid "Food Court"
+msgstr "フードコート"
 
-msgid "greek"
-msgstr "ギリシャ料理"
+msgid "Cafe"
+msgstr "カフェ"
 
-msgid "german"
-msgstr "ドイツ料理"
-
-msgid "indian"
-msgstr "インド料理"
-
-msgid "regional"
-msgstr "郷土料理"
-
-msgid "kebab"
-msgstr "ケバブ"
-
-msgid "turkish"
-msgstr "トルコ料理"
-
-msgid "asian"
-msgstr "アジア各国料理"
-
-msgid "thai"
-msgstr "タイ料理"
-
-msgid "mexican"
-msgstr "メキシコ料理"
-
-msgid "japanese"
-msgstr "和食"
-
-msgid "french"
-msgstr "フレンチ"
-
-msgid "sandwich"
-msgstr "サンドイッチ"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "寿司"
-
-msgid "steak_house"
-msgstr "ステーキハウス"
-
-msgid "Microbrewery"
-msgstr "地酒醸造所"
-
-msgid "Outdoor seating"
-msgstr "屋外席"
-
-msgid "Takeaway"
-msgstr "テイクアウト"
-
-msgid "Fast Food"
-msgstr "ファストフード"
-
-msgid "fish_and_chips"
-msgstr "フィッシュ・アンド・チップス"
-
-msgid "chicken"
-msgstr "チキン"
-
-msgid "Food Court"
-msgstr "フードコート"
-
-msgid "Cafe"
-msgstr "カフェ"
-
-msgid "ice_cream"
-msgstr "アイスクリーム"
+msgid "Ice cream"
+msgstr "アイスクリーム店"
 
 msgid "Pub"
 msgstr "居酒屋"
@@ -19313,6 +19543,12 @@ msgstr "テーマパーク"
 msgid "Water Park"
 msgstr "ウォーターパーク"
 
+msgid "Swimming Pool"
+msgstr "遊泳プール"
+
+msgid "Used for the water area only."
+msgstr "水域にのみ使用してください。"
+
 msgid "Sauna"
 msgstr "サウナ"
 
@@ -19347,9 +19583,6 @@ msgstr "焚火場所"
 msgid "Fishing"
 msgstr "つり場"
 
-msgid "Private Swimming Pool"
-msgstr "専用の遊泳プール"
-
 msgid "Night Club"
 msgstr "ナイトクラブ"
 
@@ -19392,12 +19625,18 @@ msgstr "像"
 msgid "Artist Name"
 msgstr "作者名"
 
-msgid "Recording Studio"
-msgstr "録音スタジオ"
+msgid "Studio"
+msgstr "スタジオ"
 
 msgid "audio"
 msgstr "オーディオ"
 
+msgid "radio"
+msgstr "ラジオ"
+
+msgid "television"
+msgstr "テレビ"
+
 msgid "video"
 msgstr "ビデオ"
 
@@ -19501,6 +19740,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "安息日再臨派教会"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "モスク"
 
@@ -19660,6 +19903,125 @@ msgstr "(+81-3-3345-6789のような国際で通用する電話番号を使っ
 msgid "Veterinary"
 msgstr "動物病院"
 
+msgid "Emergency"
+msgstr "緊急設備"
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "AED(自動体外式除細動器)"
+
+msgid "Located inside a building?"
+msgstr "建物内"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "最終検査日(YYYY-MM-DD)"
+
+msgid "Last check note"
+msgstr "最終検査時のメモ"
+
+msgid "Fire Extinguisher"
+msgstr "消火器"
+
+msgid "Indoor"
+msgstr "室内"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "消火栓"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "地下"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "柱"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "壁"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "ため池"
+
+msgid "Diameter (in mm)"
+msgstr "直径(mm単位)"
+
+msgid "Hydrant Position"
+msgstr "消火栓の位置"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "車線"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "駐車場"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "歩道"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "緑地"
+
+msgid "Pressure (in bar)"
+msgstr "圧力(バール単位)"
+
+msgid "suction"
+msgstr "吸い上げ"
+
+msgid "Count"
+msgstr "本数"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "緊急電話"
+
+msgid "Siren"
+msgstr "サイレン"
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr "電気"
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19772,24 +20134,9 @@ msgstr "紙幣"
 msgid "Telephone cards"
 msgstr "テレフォンカード"
 
-msgid "Emergency Phone"
-msgstr "緊急電話"
-
 msgid "Internet Access"
 msgstr "インターネットアクセス"
 
-msgid "Automated Defibrillator"
-msgstr "AED(自動体外式除細動器)"
-
-msgid "Located inside a building?"
-msgstr "建物内"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "最終検査日(YYYY-MM-DD)"
-
-msgid "Last check note"
-msgstr "最終検査時のメモ"
-
 msgid "Clock"
 msgstr "時計"
 
@@ -19952,64 +20299,15 @@ msgctxt "height"
 msgid "full"
 msgstr "高"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "隠す"
+msgstr ""
 
 msgid "Lock"
 msgstr "ロック"
 
-msgid "Indoor"
-msgstr "室内"
-
-msgid "Fire Hydrant"
-msgstr "消火栓"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "地下"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "柱"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "壁"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "ため池"
-
-msgid "Diameter (in mm)"
-msgstr "直径(mm単位)"
-
-msgid "Hydrant Position"
-msgstr "消火栓の位置"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "車線"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "駐車場"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "歩道"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "緑地"
-
-msgid "Pressure (in bar)"
-msgstr "圧力(バール単位)"
-
-msgid "suction"
-msgstr "吸い上げ"
-
-msgid "Count"
-msgstr "本数"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr "空気ポンプ"
@@ -20035,35 +20333,88 @@ msgstr "広告枠"
 msgid "Billboard"
 msgstr "ビルボード"
 
-msgid "Sports"
-msgstr "スポーツ"
+msgid "Sports"
+msgstr "スポーツ"
+
+msgid "Sport Facilities"
+msgstr "スポーツ施設"
+
+msgid "Stadium"
+msgstr "スタジアム"
+
+msgid "Sports Centre"
+msgstr "スポーツセンター"
+
+msgid "Pitch"
+msgstr "競技場"
+
+msgid "artificial_turf"
+msgstr "人工芝"
+
+msgid "decoturf"
+msgstr ""
+
+msgid "tartan"
+msgstr ""
+
+msgid "Racetrack"
+msgstr "競技トラック"
+
+msgid "Golf"
+msgstr "ゴルフ"
+
+msgid "Golf Course"
+msgstr "ゴルフコース"
+
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
 
-msgid "Sport Facilities"
-msgstr "スポーツ施設"
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
 
-msgid "Stadium"
-msgstr "スタジアム"
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
 
-msgid "Sports Centre"
-msgstr "スポーツセンター"
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
 
-msgid "Pitch"
-msgstr "競技場"
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
 
-msgid "artificial_turf"
-msgstr "人工芝"
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
 
-msgid "decoturf"
+msgctxt "golf"
+msgid "Green"
 msgstr ""
 
-msgid "tartan"
+msgctxt "golf"
+msgid "Fairway"
 msgstr ""
 
-msgid "Racetrack"
-msgstr "競技トラック"
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
 
-msgid "Golf Course"
-msgstr "ゴルフコース"
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
 
 msgid "Miniature Golf"
 msgstr "ミニチュアゴルフ"
@@ -20289,9 +20640,6 @@ msgstr "ビーチバレー"
 msgid "Billiards"
 msgstr "ビリヤード"
 
-msgid "Golf"
-msgstr "ゴルフ"
-
 msgid "golf_course"
 msgstr "ゴルフコース"
 
@@ -20456,6 +20804,10 @@ msgid "gasometer"
 msgstr "ガスタンク"
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "牛小屋"
 
@@ -20464,6 +20816,38 @@ msgid "construction"
 msgstr "建設中"
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "階数"
 
@@ -20576,6 +20960,9 @@ msgstr "風車"
 msgid "Gasometer"
 msgstr "ガスタンク"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "貯蔵タンク"
 
@@ -20977,6 +21364,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20986,6 +21381,9 @@ msgstr "廃墟"
 msgid "Range"
 msgstr "射撃場"
 
+msgid "Power"
+msgstr "電力関係"
+
 msgid "Power Plant"
 msgstr "発電所"
 
@@ -21417,11 +21815,14 @@ msgstr "1Mvar"
 msgid "5 Mvar"
 msgstr "5Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "配電箱"
+msgid "Power Street Cabinet"
+msgstr ""
+
+msgid "Transformer Tower"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "送電塔"
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr "構造"
@@ -21442,6 +21843,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "赤/白"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr "門形"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "門形2層"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "門形3層"
+
+msgid "Power Tower"
+msgstr "送電塔"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "塔の種類"
@@ -21565,18 +21984,6 @@ msgid "guyed_h-frame"
 msgstr "支え付きH形"
 
 msgctxt "power"
-msgid "portal"
-msgstr "門形"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "門形2層"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "門形3層"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "支え付きV形"
 
@@ -21609,6 +22016,9 @@ msgstr "電柱の属性:"
 msgid "Transformer Attributes:"
 msgstr "変電器の属性:"
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "送電線"
 
@@ -21866,6 +22276,9 @@ msgstr "家具店"
 msgid "Kitchen"
 msgstr "キッチン販売店"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "カーテン店"
 
@@ -21908,12 +22321,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "薬品・化粧品店"
 
-msgid "Hairdresser/Barber"
-msgstr "理美容店"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "美容"
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr "理美容店"
+
 msgid "Tattoo"
 msgstr "刺青"
 
@@ -22239,6 +22661,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "通信会社"
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "地理"
 
@@ -22407,6 +22904,14 @@ msgstr "谷"
 msgid "A low area between hills."
 msgstr "山の間の低いところです。"
 
+msgid "Cliff"
+msgstr "崖"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr "完全に垂直または垂直に近い、急な岩が露出したところです(ウェイの右側が低い方になるようにしてください)。"
+
 msgid "Cave Entrance"
 msgstr "洞窟の出入口"
 
@@ -22608,6 +23113,51 @@ msgstr "牧草地"
 msgid "Orchard"
 msgstr "果樹園"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "ぶどう畑"
 
@@ -23402,9 +23952,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1}は非推奨です"
-
 msgid "{0} is deprecated"
 msgstr "{0}は推奨されていません"
 
@@ -23426,8 +23973,8 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1}は推奨されません。代わりにマルチポリゴンを使用してください。"
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr ""
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -23470,6 +24017,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0}がノードに設定されています。ウェイに設定するべきです。"
 
@@ -23485,6 +24041,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0}はウェイ上にあります。リレーションの中で使用してください"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0}がノード上にある"
 
@@ -23512,6 +24071,9 @@ msgstr "{0} はウェイに接続している必要があります"
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "通り名が略称になっている"
 
@@ -23553,8 +24115,8 @@ msgstr "layerタグに+記号がある"
 msgid "layer should be between -5 and 5"
 msgstr "layerは-5~5の範囲でなければならない"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "levelは0.5単位の数値でなければならない"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr ""
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -27138,7 +27700,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27451,6 +28013,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27466,6 +28031,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "測定した値"
 
@@ -28824,6 +29401,12 @@ msgstr "Proj4J プラグイン"
 msgid "Code"
 msgstr "コード"
 
+msgid "Can''t parse a time from this string."
+msgstr "この文字列から時刻を解釈できません。"
+
+msgid "Invalid value"
+msgstr "無効な値です"
+
 msgid "added"
 msgstr "追加"
 
@@ -28910,15 +29493,6 @@ msgstr "キャッチ"
 msgid "Join"
 msgstr "統合"
 
-msgid "Enable"
-msgstr "有効"
-
-msgid "Can''t parse a time from this string."
-msgstr "この文字列から時刻を解釈できません。"
-
-msgid "Invalid value"
-msgstr "無効な値です"
-
 msgid "moved"
 msgstr "移動"
 
@@ -30965,6 +31539,9 @@ msgstr "選択されたノードのウェイを直線化できません。"
 msgid "Internal error: number of nodes is {0}."
 msgstr "内部エラー:ノードの数が{0}。"
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "ノードを展開"
 
@@ -31584,6 +32161,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Wikipediaから名前を追加"
 
@@ -31668,6 +32250,3 @@ msgstr "ドライブに行く"
 
 msgid "Drive a race car on this layer"
 msgstr "このレイヤーでレースカーをドライブします。"
-
-#~ msgid "Retirement Home"
-#~ msgstr "老人ホーム"
diff --git a/i18n/po/ka.po b/i18n/po/ka.po
index 9472f6d..fd43d99 100644
--- a/i18n/po/ka.po
+++ b/i18n/po/ka.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:41+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:42+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: ka\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -389,6 +389,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -446,6 +449,12 @@ msgstr "წაშალე"
 msgid "Delete selected objects."
 msgstr "წაშალე მონიშნული ობიექტები"
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1177,9 +1186,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1512,6 +1518,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2230,6 +2246,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2271,6 +2292,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2625,7 +2655,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3188,9 +3221,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3249,6 +3279,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3476,6 +3509,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3553,12 +3589,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3568,6 +3616,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4134,6 +4200,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4828,9 +4897,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4889,12 +4955,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4921,6 +4981,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5740,6 +5812,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5856,6 +5940,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6281,6 +6368,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6628,19 +6718,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6742,6 +6826,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7069,7 +7165,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7105,6 +7201,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7172,6 +7271,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7284,9 +7404,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7317,108 +7434,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7437,6 +7529,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7445,48 +7540,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7494,61 +7578,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7936,6 +8084,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8039,10 +8192,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8222,9 +8379,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8737,7 +8891,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8746,31 +8900,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8779,10 +8930,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9202,6 +9353,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9226,9 +9380,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9579,9 +9730,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9626,6 +9775,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9682,11 +9837,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9802,6 +9952,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10162,6 +10318,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10243,18 +10408,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10906,9 +11062,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11180,6 +11333,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11809,12 +11965,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11904,6 +12054,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11974,6 +12127,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12017,6 +12173,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12105,16 +12264,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12594,6 +12767,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12608,9 +12784,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12803,9 +12976,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12974,21 +13144,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13000,6 +13177,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13017,19 +13202,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13712,9 +13886,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13746,6 +13917,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13754,9 +13928,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13890,6 +14061,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14198,9 +14372,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14294,6 +14465,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14360,6 +14534,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14456,13 +14633,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14585,6 +14765,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14605,9 +14788,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14678,6 +14858,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14711,10 +14900,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15410,6 +15602,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16065,25 +16260,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16632,7 +16926,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17386,25 +17683,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17554,6 +17855,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17724,6 +18028,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17786,14 +18093,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18722,66 +19021,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18794,19 +19033,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18984,6 +19217,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19018,9 +19257,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19063,12 +19299,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19172,6 +19414,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19331,6 +19577,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19443,24 +19808,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19623,63 +19973,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19733,9 +20034,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19960,9 +20314,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20127,6 +20478,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20135,6 +20490,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20247,6 +20634,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20648,6 +21038,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20657,6 +21055,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21088,10 +21489,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21113,6 +21517,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21236,18 +21658,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21280,6 +21690,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21537,6 +21950,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21579,12 +21995,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21910,6 +22335,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22078,6 +22578,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22278,6 +22786,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23072,9 +23625,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23096,7 +23646,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23140,6 +23690,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23155,6 +23714,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23182,6 +23744,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23223,7 +23788,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26647,7 +27212,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26960,6 +27525,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26975,6 +27543,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28316,6 +28896,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28402,15 +28988,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30397,6 +30974,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30985,6 +31565,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/km.po b/i18n/po/km.po
index cdae781..b4dfaa1 100644
--- a/i18n/po/km.po
+++ b/i18n/po/km.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-01-27 10:25+0000\n"
 "Last-Translator: Sophea Sok <sksophea at gmail.com>\n"
 "Language-Team: Khmer <km at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:49+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:49+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -400,6 +400,9 @@ msgstr ""
 "មិន​អាច​បញ្ចូល​ផ្លូវ<br>(ពួកវា​មិន​អាច​ត្រូវ​បាន​បញ្ចូល​គ្នា​ក្នុង​ខ្សែ​តំណ​ត"
 "ែ​មួយ​បាន​ឡើយ)"
 
+msgid "Reverse Ways"
+msgstr "បញ្ច្រាស​ផ្លូវ"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "បញ្ចូល {0} ផ្លូវ"
@@ -454,6 +457,12 @@ msgstr "លុបចោល"
 msgid "Delete selected objects."
 msgstr "លុបចោល​វត្ថុដែលបានជ្រើសរើស"
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "បិទ/បើក​ផ្ទាំង​ប្រអប់​បញ្ចូល"
 
@@ -1247,9 +1256,6 @@ msgstr "ចុច​ដើម្បី​ចាប់ផ្ដើម​ឡើង
 msgid "Reverse way"
 msgstr "បញ្ច្រាស​ផ្លូវ"
 
-msgid "Reverse Ways"
-msgstr "បញ្ច្រាស​ផ្លូវ"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "បញ្ច្រាស​ទិសដៅ​ផ្លូវ​ដែល​បាន​ជ្រើស​ទាំងអស់។"
 
@@ -1608,6 +1614,16 @@ msgstr ""
 "ព្រោះ​អ្នក​មិន​ឃើញ​វត្ថុ​ពិត (ដែល​អ្នក​មិន​ឃើញ) "
 "អាច​ប្រើ​វា។<br>តើ​អ្នក​ពិតជា​ចង់​ផ្ដាច់​មែន​ឬ?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "ផ្ដាច់​តំណ​ពី​ផ្លូវ"
 
@@ -2370,6 +2386,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "បន្ថែម​ជ្រើស​ទៅ​ទំនាក់ទំនង"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "បន្ថែម​ជម្រើស​ទៅ​ទំនាក់ទំនង {0}"
@@ -2413,6 +2434,15 @@ msgstr[0] ""
 msgid "Confirmation"
 msgstr "ការ​បញ្ជាក់"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ {0}"
+
 msgid "Select in relation list"
 msgstr "ជ្រើស​នៅ​ក្នុង​បញ្ជី​ទំនាក់ទំនង"
 
@@ -2784,8 +2814,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "ការ​រំពឹង​ទុក <i>អប្ប.</i>/<i>អតិ.</i> បន្ទាប់ពី ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr "ជួរ​ព្រីមីទីវ ids ដែល​បាន​រំពឹង​ទុក"
@@ -3383,9 +3416,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr " (នៅ​បន្ទាត់​ទី {0}, ជួរឈរ {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "ការ​កំណត់​ចំណូលចិត្ត {0} ត្រូវ​បាន​លុបចេញ​ដោយសារ​វា​លែង​ប្រើ។"
 
@@ -3446,6 +3476,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "កើត"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr "រក​មិន​ឃើញ​ចំណោល ''{0}'' ចំណាំ ''{1}'' មិន​អាច​ប្រើ​បាន"
 
@@ -3698,6 +3731,9 @@ msgstr "អត្ថបទ"
 msgid "areatext"
 msgstr "ផ្ទៃ​អត្ថបទ"
 
+msgid " (at line {0}, column {1})"
+msgstr " (នៅ​បន្ទាត់​ទី {0}, ជួរឈរ {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3780,12 +3816,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "ប៉ារ៉ាម៉ែត្រ ''{0}'' បាន​ទាមទារ។"
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Lambert Conformal Conic"
 
@@ -3795,6 +3843,24 @@ msgstr "Lat/lon (Geodetic)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Swiss Oblique Mercator"
 
@@ -4388,6 +4454,9 @@ msgstr "ចន្លោះ​ដកឃ្លា​មិន​ត្រឹមត
 msgid "Property values start or end with white space"
 msgstr "តម្លៃ​លក្ខណសម្បត្តិ​បាន​ចាប់ផ្ដើម ឬ​បញ្ចប់​ដោយ​ចន្លោះ​ដកឃ្លា"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "តម្លៃ​លក្ខណសម្បត្តិ​មាន​ធាត HTML"
 
@@ -5114,9 +5183,6 @@ msgstr "ចំណូលចិត្ត​រូបភាព"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "ចុច​ដើម្បី​បើក​ផ្ទាំង​រូបភាព​នៅ​ក្នុង​ចំណូលចិត្ត"
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -5175,12 +5241,6 @@ msgstr "ផ្ទៃ​ខាងមុខ​របារ​ស្ថានភា
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "រយៈទទឹង​ភូមិសាស្ត្រ​នៅ​ព្រួញ​កណ្ដុរ។"
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "រយៈបណ្ដោយ​ភូមិសាស្ត្រ​នៅ​ព្រួញ​កណ្ដុរ។"
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "ក្បាល (ត្រីវិស័យ) នៃ​អង្កត់​បន្ទាត់​កំពុង​ត្រូវ​បាន​គូរ។"
 
@@ -5209,6 +5269,18 @@ msgstr "អ្នកប្រើ៖"
 msgid "Do not hide status bar"
 msgstr "កុំ​លាក់​របារ​ស្ថានភាព"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "រយៈទទឹង​ភូមិសាស្ត្រ​នៅ​ព្រួញ​កណ្ដុរ។"
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "រយៈបណ្ដោយ​ភូមិសាស្ត្រ​នៅ​ព្រួញ​កណ្ដុរ។"
+
 msgid "System of measurement changed to {0}"
 msgstr "បាន​ប្ដូរ​រង្វាស់​ប្រព័ន្ធ​ទៅ {0}"
 
@@ -6115,6 +6187,18 @@ msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 "បើក​ប្រអប់​បញ្ចូល​គ្នានៃ​ធាតុ​ដែល​បាន​ជ្រើស​ទាំងអស់​នៅ​ក្នុង​បញ្ជី​ខាងលើ។"
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "បាន​រក​ឃើញ​ការ​ប៉ះទង្គិច {0} ។"
@@ -6235,6 +6319,9 @@ msgstr "ផ្លាស់ទី​តម្រង​ចុះក្រោម"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "បាន​លាក់​តម្រង៖{0} បាន​បិទ៖{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "កំហុស​ក្នុង​តម្រង"
 
@@ -6672,6 +6759,9 @@ msgstr "ការ​កំណត់​រចនាប័ទ្ម"
 msgid "Customize the style"
 msgstr "ប្ដូរ​រចនាប័ទ្ម​តាម​បំណង"
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -7035,21 +7125,15 @@ msgstr[0] ""
 "<html>វត្ថុ​ដែល​បាន​ជ្រើស​មិន​មាន​នៅ​ក្នុង<br>ស្រទាប់​កែសម្រួល ''{0}'' "
 "បច្ចុប្បន្ន​ទេ។</html>"
 
-msgid "Download content"
-msgstr "ទាញ​យក​មាតិកា"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "ទាញ​យក​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ​ពី​ម៉ាស៊ីន​មេ OSM"
-
-msgid "Update content"
-msgstr "ធ្វើ​បច្ចុប្បន្នភាព​មាតិកា"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "ធ្វើ​បច្ចុប្បន្នភាព​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ​ពី​ម៉ាស៊ីន​មេ OSM"
-
 msgid "Download and show the history of the selected objects"
 msgstr "ទាញ​យក និង​បង្ហាញ​ប្រវត្តិ​វត្ថុ​ដែល​បាន​ជ្រើស"
 
+msgid "Download objects"
+msgstr "ទាញ​យក​វត្ថុ"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "ជ្រើស​ក្នុង​ស្រទាប់"
 
@@ -7156,6 +7240,18 @@ msgstr "បើក"
 msgid "closed"
 msgstr "បិទ"
 
+msgid "Download content"
+msgstr "ទាញ​យក​មាតិកា"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "ទាញ​យក​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ​ពី​ម៉ាស៊ីន​មេ OSM"
+
+msgid "Update content"
+msgstr "ធ្វើ​បច្ចុប្បន្នភាព​មាតិកា"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "ធ្វើ​បច្ចុប្បន្នភាព​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ​ពី​ម៉ាស៊ីន​មេ OSM"
+
 msgid "Changeset ID: "
 msgstr "លេខ​សម្គាល់​សំណុំ​ផ្លាស់ប្ដូរ៖ "
 
@@ -7537,8 +7633,8 @@ msgstr "កែសម្រួល​តម្លៃ​ពាក្យ​គន្
 msgid "Edit Tags"
 msgstr "កែសម្រួល​ស្លាក"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "ទៅកាន់ OSM វីគី​សម្រាប់​ជំនួយ​ស្លាក (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr ""
@@ -7575,6 +7671,9 @@ msgstr "ចម្លង​តម្លៃ/ពាក្យ​គន្លឹះ"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "ចម្លង​តម្លៃ និង​ពាក្យ​គន្លឹះ​នៃ​ស្លាក​ទាំងអស់​ទៅ​ក្ដារ​តម្បៀត​ខ្ទាស់"
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "ស្វែងរក​ពាក្យ​គន្លឹះ/តម្លៃ/ស្លាក"
 
@@ -7640,6 +7739,27 @@ msgstr "កំណត់​ចំនួន​ស្លាក​ដែល​បា
 msgid "Remember last used tags after a restart"
 msgstr "ចងចាំ​ស្លាក​ដែល​បាន​ប្រើ​ចុងក្រោយ​បន្ទាប់ពី​ចាប់ផ្ដើម​ឡើងវិញ"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7753,9 +7873,6 @@ msgstr ""
 "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង​ផ្ដោត​ជាមួយ​ទំនាក់ទំនង ''{0}'' នៅ​ក្នុង​ស្រទាប់ "
 "''{1}''"
 
-msgid "Relation Editor: {0}"
-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 "
@@ -7796,127 +7913,89 @@ msgstr ""
 "<html>អ្នក​កំពុង​ព្យាយាម​បន្ថែម​ទំនាក់ទំនង​ទៅ​ខ្លួន​ឯង។<br><br>វា​នឹង​បង្កើត​"
 "សេចក្ដី​យោង​រង្វង់ ហើយ​ធ្វើឲ្យ​ធុញទ្រាន់។<br>រំលង​ទំនាក់ទំនង ''{0}'' ។</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr ""
-"បន្ថែម​វត្ថុ​ដែល​បាន​ជ្រើស​ទាំងអស់​នៅ​ក្នុងសំណុំ​ទិន្នន័យ​បច្ចុប្បន្ន​នៅ​មុខ​"
-"សមាជិក​ទីមួយ"
+msgid "Select previous Gap"
+msgstr "ជ្រើស​ចន្លោះ​មុន"
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
-msgstr ""
-"បន្ថែម​វត្ថុ​ដែល​បាន​ជ្រើស​ទាំងអស់​នៅ​ក្នុង​សំណុំ​ទិន្នន័យ​បច្ចុប្បន្ន "
-"នៅ​មុខ​សមាជិក​ដែល​ជ្រើស​ទីមួយ"
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "ជ្រើស​សមាជិក​ទំនាក់ទំនង​ពីមុន​ដែល​ធ្វើឲ្យ​ចន្លោះ​កើនឡើង"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"បន្ថែម​វត្ថុ​ដែល​បាន​ជ្រើស​ទាំងអស់​នៅ​ក្នុង​សំណុំ​ទិន្នន័យ​បច្ចុប្បន្ន "
-"បន្ទាប់ពី​សមាជិក​ដែល​បាន​ជ្រើស​ចុងក្រោយ"
+msgid "Select next Gap"
+msgstr "ជ្រើស​ចន្លោះ​បន្ទាប់"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "លុប​សមាជិក​ទាំងអស់​ដែល​យោង​ទៅវត្ថុ​បាន​ជ្រើស​មួយ"
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "ជ្រើស​សមាជិក​ទំនាក់ទំនង​បន្ទាប់​ដែល​ធ្វើឲ្យ​ចន្លោះ​កើនឡើង"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr "ជ្រើស​សមាជិក​ទំនាក់ទំនង​ដែល​យោង​ទៅ​វត្ថុ​នៅ​ក្នុង​ជម្រើស​បច្ចុប្បន្ន"
+msgid "Zoom to Gap"
+msgstr "ពង្រីក​ទៅ​ចន្លោះ"
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr ""
-"ជ្រើស​សមាជិក​ទំនាក់ទំនង​ដែល​យោង​ទៅ​វត្ថុ {0} នៅ​ក្នុង​ជម្រើស​បច្ចុប្បន្ន"
+msgid "Zoom to the gap in the way sequence"
+msgstr "ពង្រីក​ទៅ​ចន្លោះ​នៅ​ក្នុង​លំដាប់​ផ្លូវ"
 
-msgid "Select objects for selected relation members"
-msgstr "ជ្រើស​វត្ថុ​សម្រាប់​សមាជិក​ទំនាក់ទំនង​ដែល​បាន​ជ្រើស"
+msgid "Refers to"
+msgstr "យោង​ទៅ"
 
-msgid "Sort the relation members"
-msgstr "តម្រៀប​សមាជិក​ទំនាក់ទំនង"
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
 
-msgid "Relation Editor: Sort"
-msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ តម្រៀប"
+msgid "Download referring relations"
+msgstr "ទាញ​យក​ទំនាក់ទំនង​យោង"
 
-msgid "Sort below"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "មាន​ជម្លោះ {0} អំឡុង​ពេល​នាំចូល​។"
 
-msgid "Sort the selected relation members and all members below"
-msgstr ""
+msgid "including immediate children of parent relations"
+msgstr "រួមបញ្ចូល​កូនៗ​ផ្លាស់​របស់​ទំនាក់ទំនង​មេ"
 
-msgid "Reverse the order of the relation members"
-msgstr "បញ្ច្រាស​លំដាប់​នៃ​សមាជិក​ទំនាក់ទំនង"
+msgid "Load parent relations"
+msgstr "ផ្ទុក​ទំនាក់ទំនង​មេ"
 
-msgid "Reverse"
-msgstr "បញ្ច្រាស"
+msgid "Reload"
+msgstr "ផ្ទុក​ឡើងវិញ"
 
-msgid "Move the currently selected members up"
-msgstr "ផ្លាស់ទី​សមាជិក​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​ឡើងលើ"
+msgid "Loading parent relations"
+msgstr "កំពុង​ផ្ទុក​ផ្ទុក​ទំនាក់ទំនង​មេ"
 
-msgid "Relation Editor: Move Up"
-msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ ផ្លាស់ទី​ឡើងលើ"
+msgid "Edit the currently selected relation"
+msgstr "កែសម្រួល​ទំនាក់ទំនង​ដែល​ជ្រើស​បច្ចុប្បន្ន"
 
-msgid "Move the currently selected members down"
-msgstr "ផ្លាស់ទី​សមាជិក​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​ចុះក្រោម"
+msgid "Apply Changes"
+msgstr "អនុវត្ត​ការ​ផ្លាស់ប្តូរ"
 
-msgid "Relation Editor: Move Down"
-msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ ផ្លាស់ទី​ចុះក្រោម"
+msgid "Create new relation in layer ''{0}''"
+msgstr "បង្កើត​ទំនាក់ទំនង​ថ្មី​ក្នុង​ស្រទាប់ ''{0}''"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "លុប​សមាជិក​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​ចេញពី​ទំនាក់ទំនង​នេះ"
+msgid "Edit new relation in layer ''{0}''"
+msgstr "កែសម្រួល​ទំនាក់ទំនង​ថ្មី​ក្នុង​ស្រទាប់ ''{0}''"
 
-msgid "Relation Editor: Remove"
-msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ លុបចេញ"
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "កែសម្រួល​ទំនាក់ទំនង #{0} ក្នុង​ស្រទាប់ ''{1}''"
 
-msgid "Delete the currently edited relation"
-msgstr "លុប​ទំនាក់ទំនង​ដែល​បាន​កែសម្រួល​បច្ចុប្បន្ន"
+msgid "Load relation"
+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."
+"Add all objects selected in the current dataset after the last selected "
+"member"
 msgstr ""
-"សមាជិក​មួយ "
-"ឬ​ច្រើន​នៃ​ទំនាក់ទំនង​ថ្មី​នេះ​ត្រូវ​បាន​លុប​នៅ​ពេល​បើក​កម្មវិធី​កែសម្រួល។\n"
-"ពួកគេ​ត្រូវ​បាន​លុបចេញ​ពី​បញ្ជី​សមាជិក​ទំនាក់ទំនង។"
-
-msgid "Yes, create a conflict and close"
-msgstr "បាទ/ចាស បង្កើត​ការ​ប៉ះ​ទង្គិច រួច​បិទ"
+"បន្ថែម​វត្ថុ​ដែល​បាន​ជ្រើស​ទាំងអស់​នៅ​ក្នុង​សំណុំ​ទិន្នន័យ​បច្ចុប្បន្ន "
+"បន្ទាប់ពី​សមាជិក​ដែល​បាន​ជ្រើស​ចុងក្រោយ"
 
-msgid "Click to create a conflict and close this relation editor"
+msgid ""
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
-"ចុច​ដើម្បី​បង្កើត​ការ​ប៉ះ​ទង្គិច រួច​បិទ​កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង​នេះ"
-
-msgid "No, continue editing"
-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>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
-"<html>ស្រទាប់ ''{0}'' មាន​ការ​ប៉ះទង្គិច​សម្រាប់​វត្ថុ​រួចហើយ<br>''{1}'' "
-"។<br>សូម​ដោះស្រាយ​ការ​ប៉ះទង្គិច​ជាមុន រួច​ព្យាយាម​ម្ដងទៀត។</html>"
+"បន្ថែម​វត្ថុ​ដែល​បាន​ជ្រើស​ទាំងអស់​នៅ​ក្នុង​សំណុំ​ទិន្នន័យ​បច្ចុប្បន្ន "
+"នៅ​មុខ​សមាជិក​ដែល​ជ្រើស​ទីមួយ"
 
 msgid "Apply the current updates"
 msgstr "អនុវត្ត​បច្ចុប្បន្នភាព​បច្ចុប្បន្ន"
 
-msgid "Apply the updates and close the dialog"
-msgstr "អនុវត្ត​បច្ចុប្បន្នភាព រួច​បិទ​ប្រអប់"
-
 msgid "Cancel the updates and close the dialog"
 msgstr "បោះបង់​បច្ចុប្បន្នភាព រួច​បិទ​ប្រអប់"
 
@@ -7937,6 +8016,11 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr "បោះបង់ រួច​បន្ត​ការ​កែសម្រួល"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+"ចុច​ដើម្បី​ត្រឡប់​ទៅ​កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង "
+"រួច​បន្ត​ការ​កែសម្រួល​ទំនាក់ទំនង"
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7947,8 +8031,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr "ការ​ផ្លាស់ប្ដូរ​ដែល​មិន​បាន​រក្សាទុក"
 
-msgid "Add an empty tag"
-msgstr "បន្ថែម​ស្លាក​ទទេ"
+msgid "Delete the currently edited relation"
+msgstr "លុប​ទំនាក់ទំនង​ដែល​បាន​កែសម្រួល​បច្ចុប្បន្ន"
+
+msgid "Relation Editor: Download Members"
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ ទាញ​យក​សមាជិក"
 
 msgid "Download all incomplete members"
 msgstr "ទាញ​យក​សមាជិក​ដែល​មិន​បញ្ចប់​ទាំងអស់"
@@ -7956,40 +8043,27 @@ msgstr "ទាញ​យក​សមាជិក​ដែល​មិន​បញ
 msgid "Download Members"
 msgstr "ទាញ​យក​សមាជិក"
 
-msgid "Relation Editor: Download Members"
-msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ ទាញ​យក​សមាជិក"
-
 msgid "Download selected incomplete members"
 msgstr "ទាញ​យក​សមាជិក​មិន​បញ្ចប់​ដែល​បាន​ជ្រើស"
 
-msgid "Sets a role for the selected members"
-msgstr "កំណត់​តួនាទី​សម្រាប់​សមាជិក​ដែល​បាន​ជ្រើស"
-
-msgid "Apply Role"
-msgstr "អនុវត្ត​តួនាទី"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "អ្នក​កំពុង​កំណត់​តួនាទី​ទទេ​នៅ​លើ​វត្ថុ {0} ។"
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "វា​ស្មើ​ទៅ​នឹង​ការ​លុប​តួនាទី​ចេញពី​វត្ថុ​ទាំងនេះ។"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr ""
+"កែសម្រួល​ទំនាក់ទំនង​សមាជិក​ទំនាក់ទំនង​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​យោង​ទៅ"
 
-msgid "Do you really want to apply the new role?"
-msgstr "តើ​អ្នក​ពិតជា​ចង់​អនុវត្ត​តួនាទី​ថ្មី​មែន​ឬ?"
+msgid "Relation Editor: Move Down"
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ ផ្លាស់ទី​ចុះក្រោម"
 
-msgid "Yes, apply it"
-msgstr "បាទ/ចាស អនុវត្ត"
+msgid "Move the currently selected members down"
+msgstr "ផ្លាស់ទី​សមាជិក​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​ចុះក្រោម"
 
-msgid "No, do not apply"
-msgstr "ទេ កុំ​អនុវត្ត"
+msgid "Relation Editor: Move Up"
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ ផ្លាស់ទី​ឡើងលើ"
 
-msgid "Confirm empty role"
-msgstr "បញ្ជាក់​តួនាទី​ទទេ"
+msgid "Move the currently selected members up"
+msgstr "ផ្លាស់ទី​សមាជិក​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​ឡើងលើ"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr ""
-"កែសម្រួល​ទំនាក់ទំនង​សមាជិក​ទំនាក់ទំនង​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​យោង​ទៅ"
+msgid "Apply the updates and close the dialog"
+msgstr "អនុវត្ត​បច្ចុប្បន្នភាព រួច​បិទ​ប្រអប់"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
@@ -7998,62 +8072,136 @@ msgstr ""
 "សមាជិក​មកពី​ទ្រនាប់​បិទភ្ជាប់​មិន​អាច​បន្ថែម​បាន​ទ "
 "ព្រោះ​ពួកគេ​មិន​ត្រូវ​បាន​បញ្ចូល​ក្នុង​ស្រទាប់​បច្ចុប្បន្ន"
 
-msgid "Select previous Gap"
-msgstr "ជ្រើស​ចន្លោះ​មុន"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "ជ្រើស​សមាជិក​ទំនាក់ទំនង​ពីមុន​ដែល​ធ្វើឲ្យ​ចន្លោះ​កើនឡើង"
+msgid "Refresh relation from data layer"
+msgstr ""
 
-msgid "Select next Gap"
-msgstr "ជ្រើស​ចន្លោះ​បន្ទាប់"
+msgid "Refresh"
+msgstr "ផ្ទុក​ឡើងវិញ"
 
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "ជ្រើស​សមាជិក​ទំនាក់ទំនង​បន្ទាប់​ដែល​ធ្វើឲ្យ​ចន្លោះ​កើនឡើង"
+msgid "Yes, discard changes and reload"
+msgstr ""
 
-msgid "Zoom to Gap"
-msgstr "ពង្រីក​ទៅ​ចន្លោះ"
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
-msgstr "ពង្រីក​ទៅ​ចន្លោះ​នៅ​ក្នុង​លំដាប់​ផ្លូវ"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
 
-msgid "Refers to"
-msgstr "យោង​ទៅ"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Download referring relations"
-msgstr "ទាញ​យក​ទំនាក់ទំនង​យោង"
+msgid "No, continue editing"
+msgstr "ទេ បន្ត​កែសម្រួល"
 
-msgid "There were {0} conflicts during import."
-msgstr "មាន​ជម្លោះ {0} អំឡុង​ពេល​នាំចូល​។"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "including immediate children of parent relations"
-msgstr "រួមបញ្ចូល​កូនៗ​ផ្លាស់​របស់​ទំនាក់ទំនង​មេ"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "Load parent relations"
-msgstr "ផ្ទុក​ទំនាក់ទំនង​មេ"
+msgid "Relation Editor: Remove"
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ លុបចេញ"
 
-msgid "Reload"
-msgstr "ផ្ទុក​ឡើងវិញ"
+msgid "Remove the currently selected members from this relation"
+msgstr "លុប​សមាជិក​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​ចេញពី​ទំនាក់ទំនង​នេះ"
 
-msgid "Loading parent relations"
-msgstr "កំពុង​ផ្ទុក​ផ្ទុក​ទំនាក់ទំនង​មេ"
+msgid "Remove all members referring to one of the selected objects"
+msgstr "លុប​សមាជិក​ទាំងអស់​ដែល​យោង​ទៅវត្ថុ​បាន​ជ្រើស​មួយ"
 
-msgid "Edit the currently selected relation"
-msgstr "កែសម្រួល​ទំនាក់ទំនង​ដែល​ជ្រើស​បច្ចុប្បន្ន"
+msgid "Reverse the order of the relation members"
+msgstr "បញ្ច្រាស​លំដាប់​នៃ​សមាជិក​ទំនាក់ទំនង"
 
-msgid "Apply Changes"
-msgstr "អនុវត្ត​ការ​ផ្លាស់ប្តូរ"
+msgid "Reverse"
+msgstr "បញ្ច្រាស"
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "បង្កើត​ទំនាក់ទំនង​ថ្មី​ក្នុង​ស្រទាប់ ''{0}''"
+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 "Edit new relation in layer ''{0}''"
-msgstr "កែសម្រួល​ទំនាក់ទំនង​ថ្មី​ក្នុង​ស្រទាប់ ''{0}''"
+msgid "Yes, create a conflict and close"
+msgstr "បាទ/ចាស បង្កើត​ការ​ប៉ះ​ទង្គិច រួច​បិទ"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "កែសម្រួល​ទំនាក់ទំនង #{0} ក្នុង​ស្រទាប់ ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
+msgstr ""
+"ចុច​ដើម្បី​បង្កើត​ការ​ប៉ះ​ទង្គិច រួច​បិទ​កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង​នេះ"
 
-msgid "Load relation"
-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 "Select objects for selected relation members"
+msgstr "ជ្រើស​វត្ថុ​សម្រាប់​សមាជិក​ទំនាក់ទំនង​ដែល​បាន​ជ្រើស"
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr "ជ្រើស​សមាជិក​ទំនាក់ទំនង​ដែល​យោង​ទៅ​វត្ថុ​នៅ​ក្នុង​ជម្រើស​បច្ចុប្បន្ន"
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"ជ្រើស​សមាជិក​ទំនាក់ទំនង​ដែល​យោង​ទៅ​វត្ថុ {0} នៅ​ក្នុង​ជម្រើស​បច្ចុប្បន្ន"
+
+msgid "Sets a role for the selected members"
+msgstr "កំណត់​តួនាទី​សម្រាប់​សមាជិក​ដែល​បាន​ជ្រើស"
+
+msgid "Apply Role"
+msgstr "អនុវត្ត​តួនាទី"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "អ្នក​កំពុង​កំណត់​តួនាទី​ទទេ​នៅ​លើ​វត្ថុ {0} ។"
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "វា​ស្មើ​ទៅ​នឹង​ការ​លុប​តួនាទី​ចេញពី​វត្ថុ​ទាំងនេះ។"
+
+msgid "Do you really want to apply the new role?"
+msgstr "តើ​អ្នក​ពិតជា​ចង់​អនុវត្ត​តួនាទី​ថ្មី​មែន​ឬ?"
+
+msgid "Yes, apply it"
+msgstr "បាទ/ចាស អនុវត្ត"
+
+msgid "No, do not apply"
+msgstr "ទេ កុំ​អនុវត្ត"
+
+msgid "Confirm empty role"
+msgstr "បញ្ជាក់​តួនាទី​ទទេ"
+
+msgid "Relation Editor: Sort"
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ តម្រៀប"
+
+msgid "Sort the relation members"
+msgstr "តម្រៀប​សមាជិក​ទំនាក់ទំនង"
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "ផ្លូវ​ត្រូវ​បាន​តភ្ជាប់"
@@ -8486,6 +8634,11 @@ msgid ""
 msgstr ""
 "<html>កំណែ <strong>{0}</strong> បាន​បង្កើត​នៅ <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8614,16 +8767,15 @@ msgid "Upload"
 msgstr "ផ្ទុក​ឡើង"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>ជ្រើស​សកម្មភាព​ដើម្បី​អនុវត្ត​សម្រាប់​ស្រទាប់​នេះ "
-"បើ​អ្នក​ចុច​ប៊ូតុង​ខាងឆ្វេង​ភាគច្រើន។<br/>ធីក \"ផ្ទុក​ឡើង\" "
-"ដើម្បី​ផ្ទុក​ឡើង​នូវ​ការ​ផ្លាស់ប្ដូរ​ទៅកាន់​ម៉ាស៊ីន​មេ OSM ។<br/>ធីក "
-"\"រក្សាទុក\" "
-"ដើម្បី​រក្សាទុក​ស្រទាប់​ទៅកាន់​ឯកសារ​ដែល​បាន​បញ្ជាក់​នៅ​ខាងឆ្វេង។</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr ""
@@ -8828,9 +8980,6 @@ msgstr ""
 "បាន​បរាជ័យ​ក្នុង​ការ​ទៅ​យក​ព័ត៌មាន​អ្នកប្រើ​សម្រាប់​អ្នកប្រើ JOSM "
 "បច្ចុប្បន្ន។ ការលើកលែង​គឺ៖ {0}"
 
-msgid "Download objects"
-msgstr "ទាញ​យក​វត្ថុ"
-
 msgid "Initializing nodes to download ..."
 msgstr "កំពុង​ចាប់ផ្ដើម​តំណ​ដើម្បី​ទាញ​យក..."
 
@@ -9420,8 +9569,8 @@ msgid "{0} object to delete:"
 msgid_plural "{0} objects to delete:"
 msgstr[0] "វត្ថុ {0} ដែល​ត្រូវ​លុប៖"
 
-msgid "Show Tile Info"
-msgstr "បង្ហាញ​ព័ត៌មាន​ក្រឡា"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr ""
@@ -9429,17 +9578,23 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr "ពង្រីក​បង្រួម​ស្វ័យប្រវត្តិ"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "ផ្ទុក​ក្រឡា​ស្វ័យប្រវត្តិ"
 
-msgid "Load All Tiles"
-msgstr "ផ្ទុក​ក្រឡា​ទាំងអស់"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "ផ្ទុក​ក្រឡា​មាន​កំហុស​ទាំងអស់"
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "ពង្រីក​ទៅ​គុណភាព​បង្ហាញ​ដើម"
@@ -9447,26 +9602,17 @@ msgstr "ពង្រីក​ទៅ​គុណភាព​បង្ហាញ​
 msgid "Change resolution"
 msgstr "ប្ដូរ​គុណភាព​បង្ហាញ"
 
-msgid "Failed to create tile source"
-msgstr ""
-
-msgid "Show Errors"
-msgstr "បង្ហាញ​កំហុស"
-
-msgid "Load Tile"
-msgstr "ផ្ទុក​ក្រឡា"
-
 msgid "Increase zoom"
 msgstr "បង្កើន​ការ​ពង្រីក"
 
 msgid "Decrease zoom"
 msgstr "បន្ថយ​ការ​ពង្រីក"
 
-msgid "Snap to tile size"
-msgstr "ខ្ទាស់​ទៅ​ទំហំ​ក្រឡា"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "ឃ្លាំង​ក្រឡា​រាបស្មើ"
+msgid "Failed to create tile source"
+msgstr ""
 
 msgid "zoom in to load any tiles"
 msgstr "ពង្រីក​ដើម្បី​ផ្ទុក​ក្រឡា"
@@ -9895,6 +10041,9 @@ msgstr ""
 "មាន​កំហុស​ពេល​ញែក​អុហ្វសិត។\n"
 "ទ្រង់ទ្រាយ​រំពឹង​ទុក៖ {0}"
 
+msgid "Geotagged Images"
+msgstr "រូបភាព​ដែល​បាន​ដាក់​ស្លាក​ភូមិសាស្ត្រ"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "កំពុង​ស្រង់​ទីតាំង​ជីភីអេស​ពី EXIF"
 
@@ -9919,9 +10068,6 @@ msgstr "មាន​កំហុស​ពេល​យក​ឯកសារ​ព
 msgid "One of the selected files was null"
 msgstr "មាន​ឯកសារ​មួយ​ដែល​ជ្រើស​គឺ​ទទេ"
 
-msgid "Geotagged Images"
-msgstr "រូបភាព​ដែល​បាន​ដាក់​ស្លាក​ភូមិសាស្ត្រ"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "បាន​ផ្ទុក​រូបភាព {0} ។"
@@ -10310,12 +10456,8 @@ msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 "បាន​បរាជ័យ​ក្នុង​ការ​ញែក​រចនាប័ទ្ម​គំនូរ​ផែនទី​ពី ''{0}'' ។ កំហុស​គឺ៖ {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"បាន​រក​ឃើញ​ការ​បដិសេធ ''{0}'' នៅ​ក្នុង ''{1}'' "
-"ដែល​នឹង​ត្រូវ​លុបចេញ​ក្នុង​ពេល​ឆាប់ៗ។ ប្រើ ''{2}'' ជំនួស។"
+msgid "Failed to locate image ''{0}''"
+msgstr "បាន​បរាជ័យ​កំណត់​ទីតាំង​រូបភាព ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "លំនាំ​សញ្ញា​ដក​មិន​ត្រឹមត្រូវ តម្លៃ​ត្រូវតែ​វិជ្ជមាន"
@@ -10364,7 +10506,13 @@ msgstr "URL ថូខឹន​ចូល​ដំណើរការ៖"
 msgid "Authorize URL:"
 msgstr "URL អនុញ្ញាត៖"
 
-msgid "Click to reset the OAuth settings to default values"
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
+msgid "Click to reset the OAuth settings to default values"
 msgstr "ចុច​ដើម្បី​កំណត់ OAuth ឡើងវិញ​ទៅ​តម្លៃ​លំនាំដើម"
 
 msgid "Click to abort resetting to the OAuth default values"
@@ -10441,13 +10589,6 @@ msgstr "ឈ្មោះ​អ្នកប្រើ៖ "
 msgid "Password: "
 msgstr "ពាក្យសម្ងាត់៖ "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>ព្រមាន៖</strong> JOSM បាន​ចូល <strong>ដោយ</strong> "
-"ការ​តភ្ជាប់​សុវត្ថិភាព។"
-
 msgid "Granted rights"
 msgstr "បាន​ផ្ដល់​សិទ្ធិ"
 
@@ -10592,6 +10733,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "សូម​ជ្រើស​បែបបទ​អនុញ្ញាត៖ "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "យក​ថូខឹន​ចូល​ដំណើរការ​សម្រាប់ ''{0}''"
 
@@ -11008,6 +11155,15 @@ msgstr "បាន​ចុះឈ្មោះ​របារ​ឧបករណ៍
 msgid "Toolbar: {0}"
 msgstr "របារ​ឧបករណ៍៖ {0}"
 
+msgid "add entry"
+msgstr "បន្ថែម​ធាតុ"
+
+msgid "Remove the selected entry"
+msgstr "លុប​ធាតុ​ដែល​បាន​ជ្រើស"
+
+msgid "Key: {0}"
+msgstr "ពាក្យ​គន្លឹះ៖ {0}"
+
 msgid "Advanced Preferences"
 msgstr "ចំណូល​ចិត្ត​កម្រិត​ខ្ពស់"
 
@@ -11099,18 +11255,9 @@ msgstr "ជ្រើស​ឯកសារ​ប្រវត្តិរូប"
 msgid "Change list setting"
 msgstr "ប្ដូរ​ការ​កំណត់​បញ្ជី"
 
-msgid "Key: {0}"
-msgstr "ពាក្យ​គន្លឹះ៖ {0}"
-
 msgid "Change list of lists setting"
 msgstr "ប្ដូរ​បញ្ជី​នៃ​ការ​កំណត់"
 
-msgid "add entry"
-msgstr "បន្ថែម​ធាតុ"
-
-msgid "Remove the selected entry"
-msgstr "លុប​ធាតុ​ដែល​បាន​ជ្រើស"
-
 msgid "Change list of maps setting"
 msgstr "ប្ដូរ​បញ្ជី​ការ​កំណត់​ផែនទី"
 
@@ -11818,9 +11965,6 @@ msgstr "ចម្លង​លំនាំដើម​ដែល​បាន​ជ
 msgid "Please select at least one row to copy."
 msgstr "សូម​ជ្រើស​ជួរដេក​យ៉ាង​ហោច​មួយ​ដើម្បី​ចម្លង។"
 
-msgid "reload defaults"
-msgstr "ផ្ទុក​លំនាំដើម​ឡើងវិញ"
-
 msgid "Menu Name"
 msgstr "ឈ្មោះ​ម៉ឺនុយ"
 
@@ -12128,6 +12272,9 @@ msgid_plural ""
 msgstr[0] ""
 "ការ​ទាញ​យក​កម្មវិធី​ជំនួយ {0} ដូច​ខាងក្រោម <strong>បាន​បរាជ័យ</strong>៖"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>សារ​កំហុស (មិន​បកប្រែ)៖ {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 "សូម​ចាប់ផ្ដើម JOSM ឡើងវិញ​ដើម្បី​ធ្វើឲ្យ​កម្មវិធី​ជំនួយ​ដែល​បាន​ទាញ​យក​សកម្ម។"
@@ -12820,12 +12967,6 @@ msgstr "តម្លៃ​ជា​លេខ"
 msgid "Checks for wrong numeric values"
 msgstr "ពិនិត្យមើល​តម្លៃ​ជា​លេខ​ដែល​ខុស"
 
-msgid "Power"
-msgstr "ថាមពល"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "ពិនិត្យមើល​កំហុស​នៅ​លើ​ហេដ្ឋារចនាសម្ព័ន្ធ​ថាមពល"
-
 msgid "Religion"
 msgstr "សាសនា"
 
@@ -12914,6 +13055,9 @@ msgstr "ប្រើ​ការ​កំណត់​ស្រេច ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "បាន​គាំទ្រ​ធាតុ​នៃ​ប្រភេទ {0} ។"
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "កែសម្រួល​ផង​ដែរ..."
 
@@ -12983,6 +13127,9 @@ msgstr "ស្វែងរក​ការ​កំណត់​ស្រេច"
 msgid "Presets"
 msgstr "ការ​កំណត់​ជាមុន"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "ស្វែងរក​វត្ថុ​តាម​ការ​កំណត់​ស្រេច"
 
@@ -13036,6 +13183,9 @@ msgstr ""
 "ការ​ដាក់​ស្លាក​ការ​កំណត់​ស្រេច \"{0}-{1}\" - បាន​ខូច - ចំនួន​ធាតុ​នៅ​ក្នុង "
 "''short_descriptions'' ត្រូវតែ​ដូច​ទៅ​នឹង ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "ព័ត៌មាន​បន្ថែម​អំពី​លក្ខណៈ​នេះ"
 
@@ -13134,16 +13284,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "មិន​ពិត៖ លក្ខណសម្បត្តិ​ត្រូវ​បាន​បិទ​"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "ពិត៖ លក្ខណសម្បត្តិ​ត្រូវ​បាន​បើក"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "ភាគ​ខ្លះ៖ វត្ថុ​ដែល​បាន​ជ្រើស​ផ្សេងគ្នា មាន​តម្លៃ​ខុសគ្នា, កុំ​ប្ដូរ"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "មិន​កំណត់៖ កុំ​កំណត់​លក្ខណសម្បត្តិ​នេះ​ឲ្យ​វត្ថុ​ដែល​បាន​ជ្រើស"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "​កាត់"
 
@@ -13702,6 +13866,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "តម្លៃ​មិន​រំពឹង​ទុក​សម្រាប់​ចំណូលចិត្ត ''{0}'' ។ បាន​ទទួល ''{1}'' ។"
 
+msgid "OSM Server Files"
+msgstr "ឯកសារ​ម៉ាស៊ីន​មេ OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>កំហុស​បាន​កើតឡើង​ពេល​រក្សាទុក។<br>កំហុស​គឺ៖<br>{0}</html>"
 
@@ -13717,9 +13884,6 @@ msgstr "ឯកសារ​ម៉ាស៊ីន​មេ OSM gzip បាន​
 msgid "Parsing OSM history data ..."
 msgstr "កំពុង​ញែក​ទិន្នន័យ​ប្រវត្តិ OSM ..."
 
-msgid "OSM Server Files"
-msgstr "ឯកសារ​ម៉ាស៊ីន​មេ OSM"
-
 msgid "Invalid dataset"
 msgstr "សំណុំ​ទិន្នន័យ​មិន​ត្រឹមត្រូវ"
 
@@ -13932,9 +14096,6 @@ msgstr "កំពុង​ផ្ទុក​ទិន្នន័យ​ឡើង
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "បាន​រក​ឃើញ​លេខ​សម្គាល់ 0 មិន​រំពឹង​ទុក​សម្រាប់​ព្រីមីទីវ osm"
 
-msgid "OSM Server Files zip compressed"
-msgstr "បាន​បង្ហាប់​ឯកសារ​ម៉ាស៊ីន​មេ OSM ហ្ស៊ីប"
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -14118,25 +14279,29 @@ msgstr ""
 "ការ​គ្រប់គ្រង​ពី​ចម្ងាយ​បាន​ស្នើ​សុំ​រាយការណ៍​កំណែ​ពិធីការ​របស់​វា។ "
 "វា​នឹង​បើក​តំបន់​បណ្ដាញ​ដើម្បី​លុប JOSM ដែល​កំពុង​ដំណើរការ។"
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"កំណែ ''{0}'' "
-"របស់​ទិន្នន័យ​មេតា​សម្រាប់​ស្រទាប់​រូបភាព​ភូមិសាស្ត្រ​មិន​បាន​គាំទ្រ។ "
-"បាន​រំពឹង​ទុក៖ 0.1"
+msgid "local file"
+msgstr "ឯកសារ​មូលដ្ឋាន"
+
+msgid "include"
+msgstr "រួមបញ្ចូល"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "ស្រទាប់​មាន​ទិន្នន័យ​មិន​ទាន់​រក្សាទុក - រក្សាទុក​ទៅ​ឯកសារ។"
+
+msgid "Layer does not contain unsaved data."
+msgstr "ស្រទាប់​មិន​មាន​ទិន្នន័យ​ដែល​មិន​បាន​រក្សាទុក​ទេ។"
 
 msgid "Data:"
 msgstr "ទិន្នន័យ៖"
 
-msgid "local file"
-msgstr "ឯកសារ​មូលដ្ឋាន"
+msgid "Link to a OSM data file on your local disk."
+msgstr "តភ្ជាប់​ទៅ​ឯកសារ​ទិន្នន័យ OSM នៅ​លើ​ថាស​មូលដ្ឋាន​របស់​អ្នក។"
 
-msgid "Link to a GPX file on your local disk."
-msgstr "តភ្ចាប់​ទៅ​ឯកសារ GPX នៅ​លើ​ថាស​មូលដ្ឋាន​របស់​អ្នក។"
+msgid "Include OSM data in the .joz session file."
+msgstr "រួម​បញ្ចូល​ទិន្នន័យ OSM នៅ​ក្នុង​ឯកសារ​សម័យ .joz ។"
 
-msgid "include"
-msgstr "រួមបញ្ចូល"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr "រួមបញ្ចូល​ទិន្នន័យ GPX នៅ​ក្នុង​ឯកសារ​សម័យ .joz ។"
@@ -14147,6 +14312,17 @@ msgstr "មិន​មាន​ឯកសារ​ពាក់ព័ន្ធ"
 msgid "GPX data will be included in the session file."
 msgstr "ទិន្នន័យ GPX នឹង​ត្រូវ​បាន​រួមបញ្ចូល​នៅ​ក្នុង​ឯកសារ​សម័យ។"
 
+msgid "OSM data will be included in the session file."
+msgstr "ទិន្នន័យ OSM នឹង​ត្រូវ​បាន​រួមបញ្ចូល​នៅ​ក្នុង​ឯកសារ​សម័យ។"
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"កំណែ ''{0}'' "
+"របស់​ទិន្នន័យ​មេតា​សម្រាប់​ស្រទាប់​រូបភាព​ភូមិសាស្ត្រ​មិន​បាន​គាំទ្រ។ "
+"បាន​រំពឹង​ទុក៖ 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14171,20 +14347,9 @@ msgstr ""
 "របស់​ទិន្នន័យ​មេតា​សម្រាប់​ស្រទាប់​កម្មវិធី​ចំណាំ​គឺ​មិន​បាន​គាំទ្រ។ "
 "បាន​រំពឹង​ទុក៖ 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "ស្រទាប់​មាន​ទិន្នន័យ​មិន​ទាន់​រក្សាទុក - រក្សាទុក​ទៅ​ឯកសារ។"
-
-msgid "Layer does not contain unsaved data."
-msgstr "ស្រទាប់​មិន​មាន​ទិន្នន័យ​ដែល​មិន​បាន​រក្សាទុក​ទេ។"
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "តភ្ជាប់​ទៅ​ឯកសារ​ទិន្នន័យ OSM នៅ​លើ​ថាស​មូលដ្ឋាន​របស់​អ្នក។"
-
-msgid "Include OSM data in the .joz session file."
-msgstr "រួម​បញ្ចូល​ទិន្នន័យ OSM នៅ​ក្នុង​ឯកសារ​សម័យ .joz ។"
-
-msgid "OSM data will be included in the session file."
-msgstr "ទិន្នន័យ OSM នឹង​ត្រូវ​បាន​រួមបញ្ចូល​នៅ​ក្នុង​ឯកសារ​សម័យ។"
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15017,9 +15182,6 @@ msgstr ""
 "ឬ​សំណើ​របស់​អ្នក​គឺ​ធំ​ពេក។<br>ទាំង​សំណើ​សុំ​ផ្ទៃ​តូច "
 "ឬ​ការ​ប្រើ​ឯកសារ​នាំចេញ​គឺ​ត្រូវ​បាន​ផ្ដល់​ដោយ​សហគមន៍ OSM ។"
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>សារ​កំហុស (មិន​បកប្រែ)៖ {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15064,6 +15226,9 @@ msgstr "ទាញ​យក​ការ​ប្ដូរ​ទិស​ទៅ ''
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "បាន​រក​ឃើញ​ការ​ប្ដូរ​ទិស​ច្រើន​ពេក​ទៅកាន់ URL ទាញ​យក។ កំពុង​បោះបង់។"
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "មិន​អាច​រក​ឃើញ​ការ​បកប្រែ​សម្រាប់​ភាសា {0}។ ត្រឡប់​ទៅ {1}។"
 
@@ -15074,9 +15239,6 @@ msgstr ""
 "សំខាន់៖ បាន​បរាជ័យ​កំណត់​ទីតាំង​រូបភាព ''{0}''។ "
 "នេះ​ជា​បញ្ហា​ធ្ងន់ធ្ងរ​ចំពោះ​ការ​កំណត់​រចនាសម្ព័ន្ធ។ JOSM នឹង​ឈប់​ដំណើរការ។"
 
-msgid "Failed to locate image ''{0}''"
-msgstr "បាន​បរាជ័យ​កំណត់​ទីតាំង​រូបភាព ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "បាន​បរាជ័យ​ក្នុង​ការ​ដោះស្រាយ​ឯកសារ ''{0}''។ ករណី​លើកលែង​គឺ៖ {1}"
 
@@ -15231,6 +15393,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr "មិល្លី​វិនាទី"
 
@@ -15564,9 +15729,6 @@ msgstr "បើក​ឯកសារ​ដែល​បាន​ជ្រើស"
 msgid "Open selected file."
 msgstr "បើក​ឯកសារ​ដែល​បាន​ជ្រើស។"
 
-msgid "Refresh"
-msgstr "ផ្ទុក​ឡើងវិញ"
-
 msgid "Rename File"
 msgstr "ប្ដូរ​ឈ្មោះ​ឯកសារ"
 
@@ -15660,6 +15822,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -15726,6 +15891,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -15822,13 +15990,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -15951,6 +16122,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -15971,9 +16145,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -16044,6 +16215,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -16077,10 +16257,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -16799,6 +16982,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "បង្កើត​ក្រឡា​ផ្លូវ។"
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -17519,6 +17705,105 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
+msgid "Cuisine"
+msgstr ""
+
+msgid "italian"
+msgstr ""
+
+msgid "chinese"
+msgstr ""
+
+msgid "pizza"
+msgstr ""
+
+msgid "burger"
+msgstr ""
+
+msgid "greek"
+msgstr ""
+
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr ""
 
@@ -18086,7 +18371,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -18840,25 +19128,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
 msgstr ""
 
-msgid "chicane"
+msgid "Choker"
 msgstr ""
 
-msgid "choker"
+msgid "Cushion"
 msgstr ""
 
-msgid "cushion"
+msgid "Hump"
 msgstr ""
 
-msgid "hump"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -19008,6 +19300,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -19178,6 +19473,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -19240,14 +19538,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -20176,66 +20466,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -20248,19 +20478,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -20438,6 +20662,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -20472,9 +20702,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -20517,12 +20744,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -20626,6 +20859,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -20785,6 +21022,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -20897,24 +21253,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -21077,63 +21418,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -21187,9 +21479,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -21414,9 +21759,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -21581,6 +21923,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -21589,6 +21935,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -21701,6 +22079,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -22102,6 +22483,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -22111,6 +22500,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "ថាមពល"
+
 msgid "Power Plant"
 msgstr ""
 
@@ -22542,10 +22934,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -22567,6 +22962,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -22690,18 +23103,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -22734,6 +23135,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -22991,6 +23395,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -23033,12 +23440,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -23364,6 +23780,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -23532,6 +24023,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -23732,6 +24231,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -24526,9 +25070,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -24550,7 +25091,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -24594,6 +25135,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -24609,6 +25159,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -24636,6 +25189,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -24677,7 +25233,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -28101,7 +28657,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -28414,6 +28970,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -28429,6 +28988,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -29770,6 +30341,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -29856,15 +30433,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -31851,6 +32419,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -32439,6 +33010,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/ko.po b/i18n/po/ko.po
index 85458c5..9d930ab 100644
--- a/i18n/po/ko.po
+++ b/i18n/po/ko.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-12-17 12:48+0000\n"
 "Last-Translator: Myeongjin <aranet100 at gmail.com>\n"
 "Language-Team: Korean <ko at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:50+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:50+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: ko\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -387,6 +387,9 @@ msgid ""
 "nodes)"
 msgstr "도로를 묶을 수 없었습니다<br>(한개의 노드로 병합될 수 없었습니다)"
 
+msgid "Reverse Ways"
+msgstr "Way 방향 뒤집기"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "{0}개의 길 합치기"
@@ -441,6 +444,12 @@ msgstr "삭제"
 msgid "Delete selected objects."
 msgstr "선택된 객체를 삭제합니다"
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "토글 대화 패널"
 
@@ -1166,9 +1175,6 @@ msgstr "나중에 다시 시작하려면 클릭하세요."
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr "Way 방향 뒤집기"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "선택된 Way의 방향을 모두 뒤집습니다"
 
@@ -1499,6 +1505,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2216,6 +2232,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2257,6 +2278,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2613,7 +2643,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3169,9 +3202,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3230,6 +3260,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3455,6 +3488,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3532,12 +3568,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3547,6 +3595,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4113,6 +4179,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4806,9 +4875,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4867,12 +4933,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4899,6 +4959,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5718,6 +5790,18 @@ msgstr "분석"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5834,6 +5918,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6259,6 +6346,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6606,19 +6696,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6720,6 +6804,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7047,7 +7143,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7083,6 +7179,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7150,6 +7249,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7262,9 +7382,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7295,108 +7412,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
-msgstr ""
+msgid "Reload"
+msgstr "새로고침"
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7415,6 +7507,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7423,48 +7518,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7472,61 +7556,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
-msgstr "새로고침"
+msgid "Remove the currently selected members from this relation"
+msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7914,6 +8062,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8025,10 +8178,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8208,9 +8365,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8720,7 +8874,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8729,31 +8883,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8762,10 +8913,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9185,6 +9336,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9209,9 +9363,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9562,9 +9713,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9609,6 +9758,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9665,11 +9820,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9785,6 +9935,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10145,6 +10301,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10226,18 +10391,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10889,9 +11045,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11163,6 +11316,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11792,12 +11948,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11887,6 +12037,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11957,6 +12110,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12000,6 +12156,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12088,16 +12247,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12577,6 +12750,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12591,9 +12767,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12786,9 +12959,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12957,21 +13127,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12983,6 +13160,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13000,19 +13185,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13695,9 +13869,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13729,6 +13900,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13737,9 +13911,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13873,6 +14044,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14181,9 +14355,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14277,6 +14448,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14343,6 +14517,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14439,13 +14616,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14568,6 +14748,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14588,9 +14771,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14661,6 +14841,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14694,10 +14883,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15393,6 +15585,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16048,19 +16243,118 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
+msgstr ""
+
+msgid "greek"
+msgstr ""
+
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
 msgstr ""
 
 msgid "Smoking"
@@ -16615,7 +16909,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17369,25 +17666,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17537,6 +17838,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17707,6 +18011,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17769,14 +18076,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18705,66 +19004,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18777,19 +19016,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18967,6 +19200,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19001,9 +19240,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19046,12 +19282,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19155,6 +19397,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19314,6 +19560,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19426,24 +19791,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19606,63 +19956,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19716,9 +20017,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19943,9 +20297,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20110,6 +20461,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20118,6 +20473,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20230,6 +20617,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20631,6 +21021,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20640,6 +21038,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21071,10 +21472,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21096,6 +21500,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21219,18 +21641,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21263,6 +21673,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21520,6 +21933,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21562,12 +21978,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21893,6 +22318,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22061,6 +22561,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22261,6 +22769,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23055,9 +23608,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23079,7 +23629,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23123,6 +23673,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23138,6 +23697,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23165,6 +23727,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23206,7 +23771,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26630,7 +27195,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26943,6 +27508,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26958,6 +27526,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28299,6 +28879,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28385,15 +28971,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30380,6 +30957,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30967,6 +31547,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/ky.po b/i18n/po/ky.po
index 05dfc1a..a5c427d 100644
--- a/i18n/po/ky.po
+++ b/i18n/po/ky.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2012-12-18 02:36+0000\n"
 "Last-Translator: SimpleLeon <Unknown>\n"
 "Language-Team: Kirghiz <ky at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:50+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:49+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr ""
@@ -385,6 +385,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -440,6 +443,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1171,9 +1180,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1506,6 +1512,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2224,6 +2240,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2265,6 +2286,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2619,7 +2649,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3182,9 +3215,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3243,6 +3273,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3470,6 +3503,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3547,12 +3583,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3562,6 +3610,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4128,6 +4194,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4822,9 +4891,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4883,12 +4949,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4915,6 +4975,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5734,6 +5806,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5850,6 +5934,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6275,6 +6362,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6622,19 +6712,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6736,6 +6820,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7063,7 +7159,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7099,6 +7195,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7166,6 +7265,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7278,9 +7398,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7311,108 +7428,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7431,6 +7523,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7439,48 +7534,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7488,61 +7572,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7930,6 +8078,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8033,10 +8186,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8216,9 +8373,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8731,7 +8885,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8740,31 +8894,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8773,10 +8924,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9196,6 +9347,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9220,9 +9374,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9573,9 +9724,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9620,6 +9769,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9676,11 +9831,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9796,6 +9946,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10156,6 +10312,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10237,18 +10402,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10900,9 +11056,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11174,6 +11327,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11803,12 +11959,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11898,6 +12048,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11968,6 +12121,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12011,6 +12167,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12099,16 +12258,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12588,6 +12761,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12602,9 +12778,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12797,9 +12970,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12968,21 +13138,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12994,6 +13171,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13011,19 +13196,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13706,9 +13880,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13740,6 +13911,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13748,9 +13922,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13884,6 +14055,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14192,9 +14366,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14288,6 +14459,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14354,6 +14528,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14450,13 +14627,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14579,6 +14759,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14599,9 +14782,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14672,6 +14852,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14705,10 +14894,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15404,6 +15596,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16059,25 +16254,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16626,7 +16920,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17380,25 +17677,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17548,6 +17849,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17718,6 +18022,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17780,14 +18087,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18716,66 +19015,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18788,19 +19027,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18978,6 +19211,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19012,9 +19251,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19057,12 +19293,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19166,6 +19408,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19325,6 +19571,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19437,24 +19802,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19617,63 +19967,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19727,9 +20028,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19954,9 +20308,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20121,6 +20472,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20129,6 +20484,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20241,6 +20628,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20642,6 +21032,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20651,6 +21049,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21082,10 +21483,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21107,6 +21511,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21230,18 +21652,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21274,6 +21684,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21531,6 +21944,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21573,12 +21989,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21904,6 +22329,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22072,6 +22572,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22272,6 +22780,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23066,9 +23619,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23090,7 +23640,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23134,6 +23684,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23149,6 +23708,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23176,6 +23738,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23217,7 +23782,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26641,7 +27206,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26954,6 +27519,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26969,6 +27537,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28310,6 +28890,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28396,15 +28982,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30391,6 +30968,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30979,6 +31559,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/lo.po b/i18n/po/lo.po
index ed3440c..1758984 100644
--- a/i18n/po/lo.po
+++ b/i18n/po/lo.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:51+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:50+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/lt.po b/i18n/po/lt.po
index 2f8dae6..c4a2335 100644
--- a/i18n/po/lt.po
+++ b/i18n/po/lt.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-12-27 12:14+0000\n"
 "Last-Translator: Aurimas Fišeras <Unknown>\n"
 "Language-Team: Lithuanian <lt at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "(n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:52+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:51+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: lt\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -407,6 +407,9 @@ msgid ""
 msgstr ""
 "Nepavyko sujungti kelių<br>(Jų nepavyko sujungti į vientisą taškų eilę)"
 
+msgid "Reverse Ways"
+msgstr "Apsukti kelius"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Sujungti {0} kelią"
@@ -464,6 +467,12 @@ msgstr "Pašalinti"
 msgid "Delete selected objects."
 msgstr "Šalinti pažymėtus objektus."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Perjungti dialogų skiltį"
 
@@ -1266,9 +1275,6 @@ msgstr "Spauskite, kad paleistumėte vėliau."
 msgid "Reverse way"
 msgstr "Keisti kelio kryptį"
 
-msgid "Reverse Ways"
-msgstr "Apsukti kelius"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Apsukti visų parinktų kelių kryptis."
 
@@ -1638,6 +1644,16 @@ msgstr ""
 "Jūs ruošiatės atjungti nepilnus objektus.<br>Tai gali sukelti problemų, nes "
 "nematote tikro objekto.<br>Ar tikrai norite atjungti?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Atjungti tašką nuo kelio"
 
@@ -2431,6 +2447,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Pridėti pažymėjimą į ryšį"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Pridėti pažymėjimą į {0} ryšį"
@@ -2480,6 +2501,15 @@ msgstr[2] ""
 msgid "Confirmation"
 msgstr "Patvirtinimas"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Ryšių redaktorius: {0}"
+
 msgid "Select in relation list"
 msgstr "Pažymėti ryšių sąraše"
 
@@ -2849,8 +2879,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "po „timestamp“ tikimasi <i>min</i>/<i>maks</i>"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr "Tikimasi primityvių id intervalo"
@@ -3496,9 +3529,6 @@ msgstr ""
 "Pabandykite įjungti IPv6 tinklą, teikdami pirmenybę IPv6 prieš IPv4 (veikia "
 "tik pradiniame etape)"
 
-msgid " (at line {0}, column {1})"
-msgstr " (eilutėje {0}, stulpelyje {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Nustatymas {0} buvo pašalintas, nes jis daugiau nenaudojamas."
 
@@ -3557,6 +3587,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "R"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr "Projekcija „{0}“ nerasta, žymelė „{1}“ nepanaudojama"
 
@@ -3809,6 +3842,9 @@ msgstr "tekstas"
 msgid "areatext"
 msgstr "ploto tekstas"
 
+msgid " (at line {0}, column {1})"
+msgstr " (eilutėje {0}, stulpelyje {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "UTM projekcija (''+proj=utm'') reikalauja ''+zona=...'' parametro."
 
@@ -3889,12 +3925,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parametras „{0}“ privalomas."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Lambert Conformal Conic"
 
@@ -3904,6 +3952,24 @@ msgstr "Plat/ilg (Geodetic)"
 msgid "Mercator"
 msgstr "Merkaratorius"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Swiss Oblique Mercator"
 
@@ -4499,6 +4565,9 @@ msgstr "Netinkamas tarpas savybės rakte"
 msgid "Property values start or end with white space"
 msgstr "Savybės reikšmė prasideda ar baigiasi tarpu"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Savybės reikšmėje yra HTML esybė"
 
@@ -5228,9 +5297,6 @@ msgstr "Vaizdų nuostatos"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Spauskite vaizdų kortelei nuostatose atverti"
 
-msgid "Search menu items"
-msgstr "Ieškoti meniu elementų"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Garsas"
@@ -5289,12 +5355,6 @@ msgstr "Būsenos juostos tekstas: aktyvus"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Pelės žymeklio geografinė platuma"
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Pelės žymeklio geografinė ilguma"
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Braižomo linijos segmento (kompaso) kryptis."
 
@@ -5324,6 +5384,18 @@ msgstr "Naudotojas:"
 msgid "Do not hide status bar"
 msgstr "Neslėpti būsenos juostos"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Pelės žymeklio geografinė platuma"
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Pelės žymeklio geografinė ilguma"
+
 msgid "System of measurement changed to {0}"
 msgstr "Matavimo sistema pakeista į {0}"
 
@@ -6228,6 +6300,18 @@ msgstr "Išspręsti"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "Atverti suliejimo dialogą visiems aukščiau rodomo sąrašo elementams."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Aptiktas {0} konfliktas."
@@ -6351,6 +6435,9 @@ msgstr "Nuleisti filtrą."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Pagal filtrą paslėpta: {0}, išjungta: {1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Klaida filtre"
 
@@ -6796,6 +6883,9 @@ msgstr "Stiliaus nustatymai"
 msgid "Customize the style"
 msgstr "Tinkinti stilių"
 
+msgid "Search menu items"
+msgstr "Ieškoti meniu elementų"
+
 msgid "Mini map"
 msgstr "Mini žemėlapis"
 
@@ -7163,21 +7253,15 @@ msgstr[2] ""
 "<html>Nei vienas iš pažymėtų objektų nepasiekiamas "
 "dabartiniame<br>keičiamame sluoksnyje „{0}“.</html>"
 
-msgid "Download content"
-msgstr "Atsiųsti turinį"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Atsiųsti pakeitimo turiį iš OSM serverio"
-
-msgid "Update content"
-msgstr "Atnaujinamas turinys"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Atnaujinti pakeitimo turinį iš OSM serverio"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Atsiųsti ir parodyti pažymėtų objektų istoriją"
 
+msgid "Download objects"
+msgstr "Atsiųsti objektus"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "Parinkti sluoksnyje"
 
@@ -7280,6 +7364,18 @@ msgstr "atvertas"
 msgid "closed"
 msgstr "užvertas"
 
+msgid "Download content"
+msgstr "Atsiųsti turinį"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Atsiųsti pakeitimo turiį iš OSM serverio"
+
+msgid "Update content"
+msgstr "Atnaujinamas turinys"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Atnaujinti pakeitimo turinį iš OSM serverio"
+
 msgid "Changeset ID: "
 msgstr "Pakeitimo ID: "
 
@@ -7645,8 +7741,8 @@ msgstr "Keisti pažymėto rakto reikšmę visuose objektuose"
 msgid "Edit Tags"
 msgstr "Keisti žymas"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "OSM wiki žymos pagalba (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Paleisti naršyklę su pažymėto objekto wiki pagalba"
@@ -7681,6 +7777,9 @@ msgstr "Kopijuoti visus Raktus/Vertes"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Kopijuoti visų žymų raktus ir reikšmes į iškarpinę"
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Ieškoti Rakto/Vertės/Tipo"
 
@@ -7754,6 +7853,27 @@ msgstr "Nustatyti paskiausiai pridėtų žymų skaičių"
 msgid "Remember last used tags after a restart"
 msgstr "Atsiminti paskutines naudotas žymas paleidus iš naujo"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "pirmam pasiūlymui pritaikyti"
 
@@ -7872,9 +7992,6 @@ msgstr "Naujas ryšys"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Fokusuoti ryšių redaktorių su ryšiu „{0}“ sluoksnyje „{1}“"
 
-msgid "Relation Editor: {0}"
-msgstr "Ryšių redaktorius: {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 "
@@ -7915,124 +8032,89 @@ msgstr ""
 "priklausomybę ir todėl siūloma taip nedaryti.<br>Praleidžiamas ryšys "
 "„{0}“.</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr ""
-"Pridėti visus objektus, pažymėtus dabartinėje duomenų aibėje, prieš pirmą "
-"narį"
+msgid "Select previous Gap"
+msgstr "Parinkti ankstesnį tarpą"
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
-msgstr ""
-"Pridėti visus objektus, pažymėtus dabartinėje duomenų aibėje, prieš pirmą "
-"pažymėtą narį"
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Parinkti ankstesnį ryšio narį, kuris sukuria tarpą"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Pridėti visus objektus, pažymėtus dabartinėje duomenų aibėje, po paskutinio "
-"pažymėto nario"
+msgid "Select next Gap"
+msgstr "Parinkti kitą tarpą"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Išimti visus narius, rodančius į vieną iš pažymėtų objektų"
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Parinkti kitą ryšio narį, kuris sukuria tarpą"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr "Pažymėti ryšių narius, rodančius į dabar pažymėtus objektus"
+msgid "Zoom to Gap"
+msgstr "Padidinti tarpą"
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr "Pažymėti ryšio narius, kurie rodo į {0} dabar pažymėtus objektus"
+msgid "Zoom to the gap in the way sequence"
+msgstr "Padidinti kelių sekos tarpą"
 
-msgid "Select objects for selected relation members"
-msgstr "Parinktio objektus pažymėtiems ryšio nariams"
+msgid "Refers to"
+msgstr "Nurodo į"
 
-msgid "Sort the relation members"
-msgstr "Rikiuoti ryšio narius"
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
 
-msgid "Relation Editor: Sort"
-msgstr "Ryšių redaktorius: rikiuoti"
+msgid "Download referring relations"
+msgstr "Atsiųsti susijusius ryšius"
 
-msgid "Sort below"
-msgstr "Rūšiuoti žemiau"
+msgid "There were {0} conflicts during import."
+msgstr "Importuojant buvo {0} konfliktų."
 
-msgid "Sort the selected relation members and all members below"
-msgstr "Rūšiuoti pasirinktus ryšių naius ir visus narius žemiau"
+msgid "including immediate children of parent relations"
+msgstr "įskaitant tiesioginių tėvinių ryšių vaikus"
 
-msgid "Reverse the order of the relation members"
-msgstr "Atvirkščia ryšio narių tvarka"
+msgid "Load parent relations"
+msgstr "Įkelti tėvinius ryšius"
 
-msgid "Reverse"
-msgstr "Atvirkščiai"
+msgid "Reload"
+msgstr "Atnaujinti"
 
-msgid "Move the currently selected members up"
-msgstr "Perkelti dabar pažymėtus narius aukštyn"
+msgid "Loading parent relations"
+msgstr "Įkeliami tėviniai ryšiai"
 
-msgid "Relation Editor: Move Up"
-msgstr "Ryšių redaktorius: perkelti aukštyn"
+msgid "Edit the currently selected relation"
+msgstr "Redaguoti dabar pažymėtą ryšį"
 
-msgid "Move the currently selected members down"
-msgstr "Perkelti pažymėtus narius žemyn"
+msgid "Apply Changes"
+msgstr "Pritaikyti pakeitimus"
 
-msgid "Relation Editor: Move Down"
-msgstr "Ryšių redaktorius: perkelti žemyn"
+msgid "Create new relation in layer ''{0}''"
+msgstr "Sukurti naują ryšį sluoksnyje „{0}“"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Išimti dabar pažymėtus narius iš šio ryšio"
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Keisti naują ryšį sluoksnyje „{0}“"
 
-msgid "Relation Editor: Remove"
-msgstr "Ryšių redaktorius: išimti"
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Keisti ryšį #{0} sluoksnyje ''{1}''"
 
-msgid "Delete the currently edited relation"
-msgstr "Šalinti dabar redaguojamą ryšį"
+msgid "Load relation"
+msgstr "Įkelti ryšį"
 
 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."
+"Add all objects selected in the current dataset after the last selected "
+"member"
 msgstr ""
-"Vienas ar daugiau šio naujo ryšio narių buvo pašalinti, kol ryšių rengyklė "
-"buvo atverta.\n"
-"Jie buvo pašalinti iš ryšio narių sąrašo."
-
-msgid "Yes, create a conflict and close"
-msgstr "Taip, sukurti konfliktą ir uždaryti"
+"Pridėti visus objektus, pažymėtus dabartinėje duomenų aibėje, po paskutinio "
+"pažymėto nario"
 
-msgid "Click to create a conflict and close this relation editor"
+msgid ""
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
-"Spauskite, kad sukurtumėte konfliktą ir uždarytumėte šį ryšių redaktorių"
-
-msgid "No, continue editing"
-msgstr "Ne, tęsti keitimą"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Spauskite, kad grįžtumėte į ryšių redaktorių ir tęstumėte ryšio redagavimą"
-
-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>Šis ryšys buvo pakeistas už redaktoriaus ribų.<br>Jūs negalite "
-"pritaikyti savo pakeitimų ir tęsti redagavimo.<br><br>Ar norite sukurti "
-"konfliktą ir uždaryti redaktorių?</html>"
+"Pridėti visus objektus, pažymėtus dabartinėje duomenų aibėje, prieš pirmą "
+"narį"
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
-"<html>Sluoksnyje „{0}“ jau yra objekto „{1}“ konfliktas.<br>Prašome iš "
-"pradžių išspręsti šį konfliktą<br>ir tada bandyti dar kartą.</html>"
+"Pridėti visus objektus, pažymėtus dabartinėje duomenų aibėje, prieš pirmą "
+"pažymėtą narį"
 
 msgid "Apply the current updates"
 msgstr "Pritaikyti dabartinius atnaujinimus"
 
-msgid "Apply the updates and close the dialog"
-msgstr "Pritaikyti atnaujinimus ir užverti dialogą"
-
 msgid "Cancel the updates and close the dialog"
 msgstr "Nutraukti atnaujinimus ir uždaryti dialogą"
 
@@ -8053,6 +8135,10 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr "Atsisakyti, tęsti redagavimą"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+"Spauskite, kad grįžtumėte į ryšių redaktorių ir tęstumėte ryšio redagavimą"
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -8062,8 +8148,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr "Neišsaugoti pakeitimai"
 
-msgid "Add an empty tag"
-msgstr "Pridėti tuščią žymą"
+msgid "Delete the currently edited relation"
+msgstr "Šalinti dabar redaguojamą ryšį"
+
+msgid "Relation Editor: Download Members"
+msgstr "Ryšių redaktorius: atsiųsti narius"
 
 msgid "Download all incomplete members"
 msgstr "Atsiųsti visus nepilnus narius"
@@ -8071,41 +8160,26 @@ msgstr "Atsiųsti visus nepilnus narius"
 msgid "Download Members"
 msgstr "Atsiųsti narius"
 
-msgid "Relation Editor: Download Members"
-msgstr "Ryšių redaktorius: atsiųsti narius"
-
 msgid "Download selected incomplete members"
 msgstr "Atsiųsti pažymėtus nepilnus narius"
 
-msgid "Sets a role for the selected members"
-msgstr "Nustato pažymėtų narių rolę"
-
-msgid "Apply Role"
-msgstr "Pritaikyti rolę"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "Jūs nustatote tuščią rolę {0} objektui."
-msgstr[1] "Jūs nustatote tuščią rolę {0} objektams."
-msgstr[2] "Jūs nustatote tuščią rolę {0} objektų."
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "Tai tolygu šių objektų rolės ištrynimui."
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Redaguoti ryšį, kuriam priklauso dabar pažymėtas ryšio narys"
 
-msgid "Do you really want to apply the new role?"
-msgstr "Ar tikrai norite pritaikyti naują rolę?"
+msgid "Relation Editor: Move Down"
+msgstr "Ryšių redaktorius: perkelti žemyn"
 
-msgid "Yes, apply it"
-msgstr "Taip, pritaikyti"
+msgid "Move the currently selected members down"
+msgstr "Perkelti pažymėtus narius žemyn"
 
-msgid "No, do not apply"
-msgstr "Ne, nepritaikyti"
+msgid "Relation Editor: Move Up"
+msgstr "Ryšių redaktorius: perkelti aukštyn"
 
-msgid "Confirm empty role"
-msgstr "Patvirtinkite tuščią rolę"
+msgid "Move the currently selected members up"
+msgstr "Perkelti dabar pažymėtus narius aukštyn"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Redaguoti ryšį, kuriam priklauso dabar pažymėtas ryšio narys"
+msgid "Apply the updates and close the dialog"
+msgstr "Pritaikyti atnaujinimus ir užverti dialogą"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
@@ -8113,62 +8187,136 @@ msgid ""
 msgstr ""
 "Negalima įkelti narių iš įkėlimo buferio, nes jų nėra dabartiniame sluoksnyje"
 
-msgid "Select previous Gap"
-msgstr "Parinkti ankstesnį tarpą"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Parinkti ankstesnį ryšio narį, kuris sukuria tarpą"
+msgid "Refresh relation from data layer"
+msgstr ""
 
-msgid "Select next Gap"
-msgstr "Parinkti kitą tarpą"
+msgid "Refresh"
+msgstr "Atnaujinti"
 
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Parinkti kitą ryšio narį, kuris sukuria tarpą"
+msgid "Yes, discard changes and reload"
+msgstr ""
 
-msgid "Zoom to Gap"
-msgstr "Padidinti tarpą"
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
-msgstr "Padidinti kelių sekos tarpą"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
 
-msgid "Refers to"
-msgstr "Nurodo į"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Download referring relations"
-msgstr "Atsiųsti susijusius ryšius"
+msgid "No, continue editing"
+msgstr "Ne, tęsti keitimą"
 
-msgid "There were {0} conflicts during import."
-msgstr "Importuojant buvo {0} konfliktų."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "including immediate children of parent relations"
-msgstr "įskaitant tiesioginių tėvinių ryšių vaikus"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "Load parent relations"
-msgstr "Įkelti tėvinius ryšius"
+msgid "Relation Editor: Remove"
+msgstr "Ryšių redaktorius: išimti"
 
-msgid "Reload"
-msgstr "Atnaujinti"
+msgid "Remove the currently selected members from this relation"
+msgstr "Išimti dabar pažymėtus narius iš šio ryšio"
 
-msgid "Loading parent relations"
-msgstr "Įkeliami tėviniai ryšiai"
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Išimti visus narius, rodančius į vieną iš pažymėtų objektų"
 
-msgid "Edit the currently selected relation"
-msgstr "Redaguoti dabar pažymėtą ryšį"
+msgid "Reverse the order of the relation members"
+msgstr "Atvirkščia ryšio narių tvarka"
 
-msgid "Apply Changes"
-msgstr "Pritaikyti pakeitimus"
+msgid "Reverse"
+msgstr "Atvirkščiai"
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Sukurti naują ryšį sluoksnyje „{0}“"
+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 ""
+"Vienas ar daugiau šio naujo ryšio narių buvo pašalinti, kol ryšių rengyklė "
+"buvo atverta.\n"
+"Jie buvo pašalinti iš ryšio narių sąrašo."
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Keisti naują ryšį sluoksnyje „{0}“"
+msgid "Yes, create a conflict and close"
+msgstr "Taip, sukurti konfliktą ir uždaryti"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Keisti ryšį #{0} sluoksnyje ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
+msgstr ""
+"Spauskite, kad sukurtumėte konfliktą ir uždarytumėte šį ryšių redaktorių"
 
-msgid "Load relation"
-msgstr "Įkelti ryšį"
+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>Šis ryšys buvo pakeistas už redaktoriaus ribų.<br>Jūs negalite "
+"pritaikyti savo pakeitimų ir tęsti redagavimo.<br><br>Ar norite sukurti "
+"konfliktą ir uždaryti redaktorių?</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>Sluoksnyje „{0}“ jau yra objekto „{1}“ konfliktas.<br>Prašome iš "
+"pradžių išspręsti šį konfliktą<br>ir tada bandyti dar kartą.</html>"
+
+msgid "Select objects for selected relation members"
+msgstr "Parinktio objektus pažymėtiems ryšio nariams"
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr "Pažymėti ryšių narius, rodančius į dabar pažymėtus objektus"
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr "Pažymėti ryšio narius, kurie rodo į {0} dabar pažymėtus objektus"
+
+msgid "Sets a role for the selected members"
+msgstr "Nustato pažymėtų narių rolę"
+
+msgid "Apply Role"
+msgstr "Pritaikyti rolę"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "Jūs nustatote tuščią rolę {0} objektui."
+msgstr[1] "Jūs nustatote tuščią rolę {0} objektams."
+msgstr[2] "Jūs nustatote tuščią rolę {0} objektų."
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "Tai tolygu šių objektų rolės ištrynimui."
+
+msgid "Do you really want to apply the new role?"
+msgstr "Ar tikrai norite pritaikyti naują rolę?"
+
+msgid "Yes, apply it"
+msgstr "Taip, pritaikyti"
+
+msgid "No, do not apply"
+msgstr "Ne, nepritaikyti"
+
+msgid "Confirm empty role"
+msgstr "Patvirtinkite tuščią rolę"
+
+msgid "Relation Editor: Sort"
+msgstr "Ryšių redaktorius: rikiuoti"
+
+msgid "Sort the relation members"
+msgstr "Rikiuoti ryšio narius"
+
+msgid "Sort below"
+msgstr "Rūšiuoti žemiau"
+
+msgid "Sort the selected relation members and all members below"
+msgstr "Rūšiuoti pasirinktus ryšių naius ir visus narius žemiau"
 
 msgid "way is connected"
 msgstr "kelias prijungtas"
@@ -8597,6 +8745,11 @@ msgid ""
 msgstr ""
 "<html>Versija <strong>{0}</strong> sukurta <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "Pakeitimas"
 
@@ -8723,15 +8876,15 @@ msgid "Upload"
 msgstr "Išsiuntimas"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Parinkite veiksmus, kuriuos reikia atlikti šiam sluoksniui, jei "
-"paspausite kairiausiąjį mygtuką.<br/>Įjunkite „įkelti“, kad nusiųstumėte "
-"pakeitimus į OSM serverį.<br/>Įjunkite „Įrašyti“, kad įrašytumėte sluoksnį į "
-"failą, nurodytą kairėję.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Trumpas aprašymas jūsų išsiunčiamiems pakeitimams:"
@@ -8927,9 +9080,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr "Nepavyko gauti dabartinio JOSM naudotojo informacijos. Klaida: {0}"
 
-msgid "Download objects"
-msgstr "Atsiųsti objektus"
-
 msgid "Initializing nodes to download ..."
 msgstr "Inicializuojami taškai atsiuntimui..."
 
@@ -9552,8 +9702,8 @@ msgstr[0] "{0} objektas šalinimui:"
 msgstr[1] "{0} objektai šalinimui:"
 msgstr[2] "{0} objektų šalinimui:"
 
-msgid "Show Tile Info"
-msgstr "Rodyti kaladėlės info"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr "Kaladėlės info"
@@ -9561,17 +9711,23 @@ msgstr "Kaladėlės info"
 msgid "Metadata "
 msgstr "Metaduomenys "
 
-msgid "Auto Zoom"
-msgstr "Automatinis mastelis"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Automatiškai įkelti kaladėles"
 
-msgid "Load All Tiles"
-msgstr "Įkelti visas kaladėles"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "Įkelti visas klaidingas kaladėles"
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "Keisti mastelį iki savosios skiriamosios gebos"
@@ -9579,26 +9735,17 @@ msgstr "Keisti mastelį iki savosios skiriamosios gebos"
 msgid "Change resolution"
 msgstr "Keisti skiriamąją gebą"
 
-msgid "Failed to create tile source"
-msgstr "Nepavyko sukurti kaladėlių šaltinio"
-
-msgid "Show Errors"
-msgstr "Rodyti klaidas"
-
-msgid "Load Tile"
-msgstr "Įkelti kaladėlę"
-
 msgid "Increase zoom"
 msgstr "Didinti"
 
 msgid "Decrease zoom"
 msgstr "Mažinti"
 
-msgid "Snap to tile size"
-msgstr "Pritraukti prie kaladėlės dydžio"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Valyti kaladėlių podėlį"
+msgid "Failed to create tile source"
+msgstr "Nepavyko sukurti kaladėlių šaltinio"
 
 msgid "zoom in to load any tiles"
 msgstr "padidinkite, kad įkeltumėte kaladėles"
@@ -10047,6 +10194,9 @@ msgstr ""
 "Klaida nagrinėjant poslinkį:\n"
 "Tikėtasi formato: {0}"
 
+msgid "Geotagged Images"
+msgstr "Geopažymėti vaizdai"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Iš EXIF ištraukiamos GPS vietos"
 
@@ -10071,9 +10221,6 @@ msgstr "Klaida gaunant failus iš aplanko {0}\n"
 msgid "One of the selected files was null"
 msgstr "Vienas iš parinktų failų buvo tuščias"
 
-msgid "Geotagged Images"
-msgstr "Geopažymėti vaizdai"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} paveikslas įkeltas."
@@ -10470,12 +10617,8 @@ msgstr[2] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Nepavyko išnagrinėti žemėlapio paišymo stilių iš „{0}“. Klaida: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Nustatytas pasenęs „{0}“, kuris yra „{1}“. Greitai bus pašalintas. Naudokite "
-"„{2}“."
+msgid "Failed to locate image ''{0}''"
+msgstr "Nepavyko lokalizuoti piešinio ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Neteisingas punktyro šablonas, reikšmės turi būti teigiamos"
@@ -10524,6 +10667,12 @@ msgstr "Prieigos rakto URL:"
 msgid "Authorize URL:"
 msgstr "Autorizavimo URL:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Spauskite OAuth nustatymų atkūrimui į numatytąsias reikšmes"
 
@@ -10598,13 +10747,6 @@ msgstr "Naudotojo vardas : "
 msgid "Password: "
 msgstr "Slaptažodis: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Įspėjimas:</strong> JOSM prisijungs <strong>vieną kartą</strong> "
-"naudojant saugų ryšio kanalą."
-
 msgid "Granted rights"
 msgstr "Leidžiamos teisės"
 
@@ -10744,6 +10886,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Pasirinkite autorizavimo procedūrą: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Gauti prieigos raktą „{0}“"
 
@@ -11143,6 +11291,15 @@ msgstr "Registruotas įrankių juostos veiksmas {0}: {1} gauna {2}"
 msgid "Toolbar: {0}"
 msgstr "Įrankių juosta: {0}"
 
+msgid "add entry"
+msgstr "pridėti įrašą"
+
+msgid "Remove the selected entry"
+msgstr "Pašalinti pažymėtą įrašą"
+
+msgid "Key: {0}"
+msgstr "Raktas: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Sudėtingesni nustatymai"
 
@@ -11231,18 +11388,9 @@ msgstr "Pasirinkite profilio failą"
 msgid "Change list setting"
 msgstr "Keisti sąrašo nustatymus"
 
-msgid "Key: {0}"
-msgstr "Raktas: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Keisti sąrašų sąrašo nustatymus"
 
-msgid "add entry"
-msgstr "pridėti įrašą"
-
-msgid "Remove the selected entry"
-msgstr "Pašalinti pažymėtą įrašą"
-
 msgid "Change list of maps setting"
 msgstr "Keisti žemėlapio nustatymų sąrašą"
 
@@ -11940,9 +12088,6 @@ msgstr "Kopijuoti pasirinktas reikšmes"
 msgid "Please select at least one row to copy."
 msgstr "Pažymėkite bent vieną eilutę kopijavimui."
 
-msgid "reload defaults"
-msgstr "įkelti numatytąsias reikšmes iš naujo"
-
 msgid "Menu Name"
 msgstr "Meniu pavadinimas"
 
@@ -12246,6 +12391,9 @@ msgstr[0] "Šio papildinio atsiuntimas <strong>nesėkmingas</strong>:"
 msgstr[1] "Šių {0} papildinių atsiuntimas <strong>nesėkmingas</strong>:"
 msgstr[2] "Šių {0} papildinių atsiuntimas <strong>nesėkmingas</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Klaidos pranešimas(neišverstas): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Paleiskite JOSM iš naujo atsiųstiems papildiniams aktyvuoti."
 
@@ -12930,12 +13078,6 @@ msgstr "Skaitinės reikšmės"
 msgid "Checks for wrong numeric values"
 msgstr "Ieško neteisingų skaitinių reikšmių"
 
-msgid "Power"
-msgstr "Elektra"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Ieško klaidų energijos infrastruktūroje"
-
 msgid "Religion"
 msgstr "Religija"
 
@@ -13026,6 +13168,9 @@ msgstr "Naudoti ruošinį „{0}“"
 msgid "Elements of type {0} are supported."
 msgstr "Palaikomi „{0}“ tipo elementai."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "Taip pat redaguoti …"
 
@@ -13098,6 +13243,9 @@ msgstr "Paieškos ruošiniai"
 msgid "Presets"
 msgstr "Ruošiniai"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "Ieškoti objektų pagal ruošinį"
 
@@ -13151,6 +13299,9 @@ msgstr ""
 "Klaidingas žymėjimo ruošinys „{0}-{1}“ – „short_descriptions“ elementų "
 "skaičius privalo būti toks pat kaip „values“"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Daugiau informacijos apie šią priemonę"
 
@@ -13246,17 +13397,31 @@ msgstr "Dabartinė vertė nėra galima OSM ID. Prašome įvesti sveiką vertę >
 msgid "false: the property is explicitly switched off"
 msgstr "neteisingai: nuosavybė yra aiškiai išjungta"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "teisingai: nuosavybė yra aiškiai įjungta"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "dalinai: skirtingi pasirinkti objectai turi skirtingas vertes, nekeiskite"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "nenustatyta: nenustatyti šios savybės pažymėtiems objektams"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "Iškirpti"
 
@@ -13766,6 +13931,9 @@ msgstr "Nepavyko pasirašyti HTTP ryšio su OAuth tapatumo nustatymo antrašte"
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "OSM serverio failai"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 "<html>Pasirodė klaida, kai buvo saugoma.<br>Klaida yra:<br>{0}</html>"
@@ -13783,9 +13951,6 @@ msgstr "OSM Server Files gzip suspaustas"
 msgid "Parsing OSM history data ..."
 msgstr "Nagrinėjami OSM istorijos duomenys ..."
 
-msgid "OSM Server Files"
-msgstr "OSM serverio failai"
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -13986,9 +14151,6 @@ msgstr "Išsiunčiami duomenys ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -14157,22 +14319,29 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr "vietinis failas"
+
+msgid "include"
+msgstr "įtraukti"
+
+msgid "Layer contains unsaved data - save to file."
 msgstr ""
 
+msgid "Layer does not contain unsaved data."
+msgstr "Sluoksnis neturi neišsaugotų duomenų."
+
 msgid "Data:"
 msgstr "Duomenys:"
 
-msgid "local file"
-msgstr "vietinis failas"
-
-msgid "Link to a GPX file on your local disk."
+msgid "Link to a OSM data file on your local disk."
 msgstr "Nuoroda į GPX failą vietiniame diske."
 
-msgid "include"
-msgstr "įtraukti"
+msgid "Include OSM data in the .joz session file."
+msgstr "Įtraukti OSM duomenis į .joz seanso failą."
+
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Įtraukti GPX duomenis į .joz seanso failą."
@@ -14183,6 +14352,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr "GPX duomenys bus įtraukti į seanso failą."
 
+msgid "OSM data will be included in the session file."
+msgstr "OSM duomenys bus įtraukti į seanso failą."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14201,21 +14378,10 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer does not contain unsaved data."
-msgstr "Sluoksnis neturi neišsaugotų duomenų."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Nuoroda į GPX failą vietiniame diske."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Įtraukti OSM duomenis į .joz seanso failą."
-
-msgid "OSM data will be included in the session file."
-msgstr "OSM duomenys bus įtraukti į seanso failą."
-
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
 "0.1"
@@ -14979,9 +15145,6 @@ msgstr ""
 "didelė.<br>Užklauskite mažesnio ploto arba naudokite eksporto failą, "
 "pateiktą OSM bendruomenės."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Klaidos pranešimas(neišverstas): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15013,6 +15176,9 @@ msgstr "Atsisiuntimas perkeltas į ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Per daug aptikta nukreipimų į atsiųstą URL. Atmetama."
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -15023,9 +15189,6 @@ msgstr ""
 "Fatalu: nepavyko lokalizuoti paveikslėlio ''{0}''. Tai yra rimta "
 "konfigūracijos problema. JOSM nustos veikti."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Nepavyko lokalizuoti piešinio ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -15177,6 +15340,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr "ms"
 
@@ -15494,9 +15660,6 @@ msgstr "Atverti pasirinktą failą"
 msgid "Open selected file."
 msgstr "Atverti pasirinktą failą."
 
-msgid "Refresh"
-msgstr "Atnaujinti"
-
 msgid "Rename File"
 msgstr "Pervadinti Failą"
 
@@ -15590,6 +15753,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Viešasis transportas (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Žygiams ir dviračiams"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (Vokiško stiliaus)"
 
@@ -15656,6 +15822,9 @@ msgstr "OSM tikrintuvė: adresai"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM tikrintuvė: ribos (ES)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI juodai balta 2.5m"
 
@@ -15752,13 +15921,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW(allonie) PICC numerinės nuotraukos"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 oro nuotraukos"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 oro nuotraukos"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -15881,6 +16053,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013 (Tulūza, Prancūzija)"
 
@@ -15903,9 +16078,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "Žygiams ir dviračiams"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Sorbų kalba)"
 
@@ -15978,6 +16150,15 @@ msgstr "Dronų nuotraukos 2014 (Haitis)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -16011,11 +16192,14 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr "Lodis - Italija"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardija - Italija (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr ""
 
 msgid "Sicily - Italy"
 msgstr "Sicilija - Italija"
@@ -16710,6 +16894,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Sukurti kelių tinklelį."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "Kuriami ir tvarkomi adresų taškai ir pastatai Čekijos teritorijoje."
@@ -17380,6 +17567,105 @@ msgstr ""
 msgid "Brand"
 msgstr "Prekės ženklas"
 
+msgid "Cuisine"
+msgstr "Virtuvė"
+
+msgid "italian"
+msgstr "italų"
+
+msgid "chinese"
+msgstr "kinų"
+
+msgid "pizza"
+msgstr "pica"
+
+msgid "burger"
+msgstr "mėsainiai"
+
+msgid "greek"
+msgstr "graikų"
+
+msgid "german"
+msgstr "vokiečių"
+
+msgid "indian"
+msgstr "indų"
+
+msgid "regional"
+msgstr "vietinis"
+
+msgid "kebab"
+msgstr "kebabai"
+
+msgid "turkish"
+msgstr "turkų"
+
+msgid "asian"
+msgstr "rytiečių"
+
+msgid "thai"
+msgstr "tajų"
+
+msgid "mexican"
+msgstr "meksikiečių"
+
+msgid "japanese"
+msgstr "japonų"
+
+msgid "french"
+msgstr "prancūzų"
+
+msgid "sandwich"
+msgstr "sumuštiniai"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "suši"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "ledai"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Interneto prieiga"
 
@@ -17947,7 +18233,10 @@ msgstr "Ribota masė (tonos)"
 msgid "Toll"
 msgstr "Mokestis"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -18701,25 +18990,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Greičio mažinimo priemonė"
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -18869,6 +19162,9 @@ msgstr "Miesto siena"
 msgid "Retaining Wall"
 msgstr "Atraminė siena"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Griovys"
@@ -19039,6 +19335,9 @@ msgstr "upė"
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Pakrantė"
 
@@ -19101,14 +19400,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Uolos"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -20037,66 +20328,6 @@ msgstr "Maistas+Gėrimai"
 msgid "Restaurant"
 msgstr "Restoranas"
 
-msgid "Cuisine"
-msgstr "Virtuvė"
-
-msgid "italian"
-msgstr "italų"
-
-msgid "chinese"
-msgstr "kinų"
-
-msgid "pizza"
-msgstr "pica"
-
-msgid "burger"
-msgstr "mėsainiai"
-
-msgid "greek"
-msgstr "graikų"
-
-msgid "german"
-msgstr "vokiečių"
-
-msgid "indian"
-msgstr "indų"
-
-msgid "regional"
-msgstr "vietinis"
-
-msgid "kebab"
-msgstr "kebabai"
-
-msgid "turkish"
-msgstr "turkų"
-
-msgid "asian"
-msgstr "rytiečių"
-
-msgid "thai"
-msgstr "tajų"
-
-msgid "mexican"
-msgstr "meksikiečių"
-
-msgid "japanese"
-msgstr "japonų"
-
-msgid "french"
-msgstr "prancūzų"
-
-msgid "sandwich"
-msgstr "sumuštiniai"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "suši"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -20109,20 +20340,14 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Greitas Maistas"
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "Kavinė"
 
-msgid "ice_cream"
-msgstr "ledai"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Aludė"
@@ -20299,6 +20524,12 @@ msgstr "Pramogos/Pramogų parkas"
 msgid "Water Park"
 msgstr "Vandens parkas"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20333,9 +20564,6 @@ msgstr "Ugniavietė"
 msgid "Fishing"
 msgstr "Žvejyba"
 
-msgid "Private Swimming Pool"
-msgstr "Privatus plaukimo baseinas"
-
 msgid "Night Club"
 msgstr "Naktinis klubas"
 
@@ -20378,12 +20606,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
-msgstr "Įrašų studija"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "garsas"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "vaizdas"
 
@@ -20487,6 +20721,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Mečetė"
 
@@ -20646,6 +20884,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr "Veterinarija"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Automatinis defibriliatorius"
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr "Paskutinio patikrinimo pastaba"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Priešgaisrinis hidrantas"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "siena"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "baseinas"
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Pagalbos telefonas"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -20758,24 +21115,9 @@ msgstr "Pastabos"
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr "Pagalbos telefonas"
-
 msgid "Internet Access"
 msgstr "Interneto prieiga"
 
-msgid "Automated Defibrillator"
-msgstr "Automatinis defibriliatorius"
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr "Paskutinio patikrinimo pastaba"
-
 msgid "Clock"
 msgstr "Laikrodis"
 
@@ -20938,63 +21280,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
 msgstr ""
 
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr "Priešgaisrinis hidrantas"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "siena"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "baseinas"
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -21048,9 +21341,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "Lenktynių Trasa"
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -21275,9 +21621,6 @@ msgstr "Paplūdimio tinklinis"
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -21442,6 +21785,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "tvartas"
 
@@ -21450,6 +21797,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -21562,6 +21941,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -21963,6 +22345,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -21972,6 +22362,9 @@ msgstr "Griuvėsiai"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Elektra"
+
 msgid "Power Plant"
 msgstr "Elektrinė"
 
@@ -22403,10 +22796,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -22428,6 +22824,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -22551,18 +22965,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -22595,6 +22997,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Elektros linija"
 
@@ -22852,6 +23257,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -22894,12 +23302,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -23225,6 +23642,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geografija"
 
@@ -23393,6 +23885,14 @@ msgstr "Slėnis"
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Uolos"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Urvo įėjimas"
 
@@ -23600,6 +24100,51 @@ msgstr "Pieva"
 msgid "Orchard"
 msgstr "Sodas"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Vynuogynas"
 
@@ -24394,9 +24939,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Įtartina žymų kombinacija: {0} ir {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} pasenusi"
-
 msgid "{0} is deprecated"
 msgstr "{0} pasenusi"
 
@@ -24420,8 +24962,8 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} pasenusi. Vietoje jos naudokite multipoligoną."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr ""
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -24466,6 +25008,15 @@ msgstr "nedažnas trumpas raktas"
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -24481,6 +25032,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -24508,6 +25062,9 @@ msgstr "{0} privalo būti prijungta prie kelio"
 msgid "node connects waterway and bridge"
 msgstr "taškas jungia vandens kelią ir tiltą"
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "sutrumpintas gatvės pavadinimas"
 
@@ -24549,7 +25106,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -28015,7 +28572,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -28328,6 +28885,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -28343,6 +28903,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Išmatuotos reikšmės"
 
@@ -29695,6 +30267,12 @@ msgstr "Proj4J papildinys"
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -29781,15 +30359,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -31796,6 +32365,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Išimti tašką"
 
@@ -32395,6 +32967,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
@@ -32482,6 +33059,3 @@ msgstr ""
 
 msgid "Drive a race car on this layer"
 msgstr ""
-
-#~ msgid "Retirement Home"
-#~ msgstr "Senelių namai"
diff --git a/i18n/po/lv.po b/i18n/po/lv.po
index 9977e73..af02ba3 100644
--- a/i18n/po/lv.po
+++ b/i18n/po/lv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:51+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:50+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: lv\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -389,6 +389,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -446,6 +449,12 @@ msgstr "Dzēst"
 msgid "Delete selected objects."
 msgstr "Dzēst iezīmētos objektus."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1183,9 +1192,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1518,6 +1524,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2236,6 +2252,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2277,6 +2298,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2631,7 +2661,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3194,9 +3227,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3255,6 +3285,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3482,6 +3515,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3559,12 +3595,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3574,6 +3622,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4140,6 +4206,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4833,9 +4902,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4894,12 +4960,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4926,6 +4986,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5745,6 +5817,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5861,6 +5945,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6286,6 +6373,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6633,19 +6723,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6747,6 +6831,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7074,7 +7170,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7110,6 +7206,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7177,6 +7276,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7289,9 +7409,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7322,108 +7439,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "Importa laikā bija {0} konflikti."
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
-msgstr ""
+msgid "Reload"
+msgstr "Pārlādēt"
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7442,6 +7534,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7450,48 +7545,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7499,61 +7583,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "Importa laikā bija {0} konflikti."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
-msgstr "Pārlādēt"
+msgid "Remove the currently selected members from this relation"
+msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7941,6 +8089,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8044,10 +8197,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8227,9 +8384,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8742,7 +8896,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8751,31 +8905,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8784,10 +8935,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9207,6 +9358,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9231,9 +9385,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9584,9 +9735,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9631,6 +9780,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9687,11 +9842,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9807,6 +9957,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10167,6 +10323,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10248,18 +10413,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10911,9 +11067,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11185,6 +11338,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11814,12 +11970,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11909,6 +12059,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11979,6 +12132,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12022,6 +12178,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12110,16 +12269,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12603,6 +12776,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12617,9 +12793,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12812,9 +12985,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12983,21 +13153,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13009,6 +13186,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13026,19 +13211,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13721,9 +13895,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13755,6 +13926,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13763,9 +13937,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13899,6 +14070,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14207,9 +14381,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14303,6 +14474,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14369,6 +14543,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14465,13 +14642,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14594,6 +14774,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14614,9 +14797,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14687,6 +14867,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14720,10 +14909,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15419,6 +15611,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16074,13 +16269,112 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
+msgstr ""
+
+msgid "pizza"
+msgstr ""
+
+msgid "burger"
+msgstr ""
+
+msgid "greek"
+msgstr ""
+
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
 msgstr ""
 
 msgid "terminal"
@@ -16641,7 +16935,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17395,25 +17692,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17563,6 +17864,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17733,6 +18037,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17795,14 +18102,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18731,66 +19030,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18803,19 +19042,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18993,6 +19226,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19027,9 +19266,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19072,12 +19308,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19181,6 +19423,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19340,6 +19586,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19452,24 +19817,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19632,63 +19982,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19742,9 +20043,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19969,9 +20323,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20136,6 +20487,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20144,6 +20499,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20256,6 +20643,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20657,6 +21047,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20666,6 +21064,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21097,10 +21498,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21122,6 +21526,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21245,18 +21667,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21289,6 +21699,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21546,6 +21959,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21588,12 +22004,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21919,6 +22344,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22087,6 +22587,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22287,6 +22795,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23081,9 +23634,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23105,7 +23655,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23149,6 +23699,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23164,6 +23723,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23191,6 +23753,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23232,7 +23797,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26656,7 +27221,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26969,6 +27534,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26984,6 +27552,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28325,6 +28905,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28411,15 +28997,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30406,6 +30983,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30994,6 +31574,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/mk.po b/i18n/po/mk.po
index 0fed136..b00c52c 100644
--- a/i18n/po/mk.po
+++ b/i18n/po/mk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:52+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:51+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: mk\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -389,6 +389,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -444,6 +447,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1175,9 +1184,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1510,6 +1516,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2228,6 +2244,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2269,6 +2290,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2623,7 +2653,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3186,9 +3219,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3247,6 +3277,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3474,6 +3507,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3551,12 +3587,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3566,6 +3614,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4132,6 +4198,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4826,9 +4895,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4887,12 +4953,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4919,6 +4979,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5738,6 +5810,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5854,6 +5938,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6279,6 +6366,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6626,19 +6716,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6740,6 +6824,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7067,7 +7163,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7103,6 +7199,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7170,6 +7269,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7282,9 +7402,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7315,108 +7432,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7435,6 +7527,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7443,48 +7538,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7492,61 +7576,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7934,6 +8082,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8037,10 +8190,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8220,9 +8377,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8735,7 +8889,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8744,31 +8898,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8777,10 +8928,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9200,6 +9351,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9224,9 +9378,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9577,9 +9728,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9624,6 +9773,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9680,11 +9835,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9800,6 +9950,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10160,6 +10316,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10241,18 +10406,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10904,9 +11060,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11178,6 +11331,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11808,12 +11964,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11903,6 +12053,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11973,6 +12126,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12016,6 +12172,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12104,16 +12263,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12593,6 +12766,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12607,9 +12783,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12802,9 +12975,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12973,21 +13143,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12999,6 +13176,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13016,19 +13201,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13711,9 +13885,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13745,6 +13916,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13753,9 +13927,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13889,6 +14060,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14197,9 +14371,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14293,6 +14464,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14359,6 +14533,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14455,13 +14632,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14584,6 +14764,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14604,9 +14787,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14677,6 +14857,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14710,10 +14899,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15409,6 +15601,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16064,25 +16259,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16631,7 +16925,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17385,25 +17682,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17553,6 +17854,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17723,6 +18027,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17785,14 +18092,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18721,66 +19020,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18793,19 +19032,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18983,6 +19216,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19017,9 +19256,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19062,12 +19298,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19171,6 +19413,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19330,6 +19576,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19442,24 +19807,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19622,63 +19972,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19732,9 +20033,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19959,9 +20313,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20126,6 +20477,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20134,6 +20489,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20246,6 +20633,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20647,6 +21037,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20656,6 +21054,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21087,10 +21488,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21112,6 +21516,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21235,18 +21657,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21279,6 +21689,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21536,6 +21949,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21578,12 +21994,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21909,6 +22334,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22077,6 +22577,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22277,6 +22785,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23071,9 +23624,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23095,7 +23645,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23139,6 +23689,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23154,6 +23713,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23181,6 +23743,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23222,7 +23787,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26646,7 +27211,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26959,6 +27524,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26974,6 +27542,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28315,6 +28895,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28401,15 +28987,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30396,6 +30973,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30984,6 +31564,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/mr.po b/i18n/po/mr.po
index 5521d01..700ce0b 100644
--- a/i18n/po/mr.po
+++ b/i18n/po/mr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-05-24 23:45+0000\n"
 "Last-Translator: Singleton <singleton47+ubuntuone at live.com>\n"
 "Language-Team: Marathi <mr at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:53+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:52+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: mr\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -394,6 +394,9 @@ msgid ""
 msgstr ""
 "मार्ग एकवटवू शकत नाही<br>(ते गाठींच्या एका साखळीत एकत्र केले जाऊ शकत नाहीत)"
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "{0} मार्ग एकवटवा"
@@ -451,6 +454,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1193,9 +1202,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1537,6 +1543,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "गाठ मार्गापासून वेगळी करा"
 
@@ -2255,6 +2271,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2296,6 +2317,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "संबंध संपादक: {0}"
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2651,7 +2681,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3214,9 +3247,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3275,6 +3305,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "पू"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3502,6 +3535,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3579,12 +3615,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "प्रमाणक ''{0}'' आवश्यक."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3594,6 +3642,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4160,6 +4226,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4854,9 +4923,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4915,12 +4981,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4947,6 +5007,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5766,6 +5838,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5882,6 +5966,9 @@ msgstr "गाळणी खाली सरकवा."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6307,6 +6394,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6654,19 +6744,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6768,6 +6852,18 @@ msgstr "खुला"
 msgid "closed"
 msgstr "बंद"
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7095,7 +7191,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7131,6 +7227,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7198,6 +7297,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7310,9 +7430,6 @@ msgstr "नवा संबंध"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-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 "
@@ -7343,108 +7460,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "सध्या निवडलेले सदस्य वर सरकवा"
-
-msgid "Relation Editor: Move Up"
-msgstr "संबंध संपादक: वर सरकवा"
-
-msgid "Move the currently selected members down"
-msgstr "सध्या निवडलेले सदस्य खाली सरकवा"
-
-msgid "Relation Editor: Move Down"
-msgstr "संबंध संपादक: खाली सरकवा"
-
-msgid "Remove the currently selected members from this relation"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Apply Changes"
 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."
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Yes, create a conflict and close"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Click to create a conflict and close this relation editor"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "No, continue editing"
+msgid "Load relation"
 msgstr ""
 
-msgid "Click to return to the relation editor and to resume relation editing"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7463,6 +7555,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7471,7 +7566,10 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
+msgid "Delete the currently edited relation"
+msgstr ""
+
+msgid "Relation Editor: Download Members"
 msgstr ""
 
 msgid "Download all incomplete members"
@@ -7480,101 +7578,151 @@ msgstr ""
 msgid "Download Members"
 msgstr ""
 
-msgid "Relation Editor: Download Members"
-msgstr ""
-
 msgid "Download selected incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Apply Role"
-msgstr ""
+msgid "Relation Editor: Move Down"
+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] ""
+msgid "Move the currently selected members down"
+msgstr "सध्या निवडलेले सदस्य खाली सरकवा"
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Relation Editor: Move Up"
+msgstr "संबंध संपादक: वर सरकवा"
+
+msgid "Move the currently selected members up"
+msgstr "सध्या निवडलेले सदस्य वर सरकवा"
+
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Refresh"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
 msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "Select next Gap"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Refers to"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid "Reverse"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+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 ""
 
-msgid "Load parent relations"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Reload"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Loading parent relations"
+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 ""
 
-msgid "Edit the currently selected relation"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Select objects for selected relation members"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Sets a role for the selected members"
 msgstr ""
 
-msgid "Load relation"
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7962,6 +8110,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "बदलसंच"
 
@@ -8065,10 +8218,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8248,9 +8405,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8763,7 +8917,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8772,31 +8926,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
+msgid "Load tile"
 msgstr ""
 
-msgid "Auto load tiles"
-msgstr ""
-
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8805,10 +8956,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9228,6 +9379,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9252,9 +9406,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} प्रतिमा लादली."
@@ -9615,9 +9766,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9662,6 +9811,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9718,11 +9873,6 @@ msgstr ""
 msgid "Password: "
 msgstr "परवलीचा शब्द: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9838,6 +9988,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10199,6 +10355,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10280,18 +10445,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10943,9 +11099,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11217,6 +11370,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11846,12 +12002,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11941,6 +12091,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12011,6 +12164,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12054,6 +12210,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12142,16 +12301,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12631,6 +12804,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12645,9 +12821,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12840,9 +13013,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13011,21 +13181,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13037,6 +13214,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13054,19 +13239,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13749,9 +13923,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13783,6 +13954,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13791,9 +13965,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13927,6 +14098,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14235,9 +14409,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14331,6 +14502,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14397,6 +14571,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14493,13 +14670,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr ""
+
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14622,6 +14802,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14642,9 +14825,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14715,6 +14895,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14748,10 +14937,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15447,6 +15639,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16102,28 +16297,127 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
 msgstr ""
 
-msgid "separated"
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
+msgstr ""
+
+msgid "separated"
 msgstr ""
 
 msgid "isolated"
@@ -16669,7 +16963,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17423,25 +17720,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17591,6 +17892,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17761,6 +18065,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17823,14 +18130,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18759,66 +19058,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18831,19 +19070,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19021,6 +19254,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19055,9 +19294,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19100,12 +19336,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19209,6 +19451,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19368,6 +19614,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19480,24 +19845,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19660,63 +20010,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19770,9 +20071,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19997,9 +20351,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20164,6 +20515,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20172,6 +20527,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20284,6 +20671,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20685,6 +21075,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20694,6 +21092,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21125,10 +21526,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21150,6 +21554,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21273,18 +21695,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21317,6 +21727,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21574,6 +21987,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21616,12 +22032,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21947,6 +22372,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22115,6 +22615,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22315,6 +22823,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23109,9 +23662,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23133,7 +23683,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23177,6 +23727,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23192,6 +23751,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23219,6 +23781,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23260,7 +23825,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26684,7 +27249,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26997,6 +27562,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27012,6 +27580,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28353,6 +28933,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28439,15 +29025,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30434,6 +31011,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31022,6 +31602,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/ms.po b/i18n/po/ms.po
index 282cd11..4b992eb 100644
--- a/i18n/po/ms.po
+++ b/i18n/po/ms.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:53+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:52+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: ms\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/nb.po b/i18n/po/nb.po
index 3d38971..d5abd01 100644
--- a/i18n/po/nb.po
+++ b/i18n/po/nb.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-11-28 16:18+0000\n"
 "Last-Translator: Magnus Meyer Hustveit <Unknown>\n"
 "Language-Team: Norwegian Bokmal <nb at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:55+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:54+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: nb\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -403,6 +403,9 @@ msgstr ""
 "Kunne ikke kombinere linjer<br>(de kunne ikke slås sammen til én enkelt "
 "rekke med noder)"
 
+msgid "Reverse Ways"
+msgstr "Snu retning på linjer"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Kombiner {0} linje"
@@ -460,6 +463,12 @@ msgstr "Slett"
 msgid "Delete selected objects."
 msgstr "Slett valgte objekter."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1204,9 +1213,6 @@ msgstr "Velg for å starte på nytt senere."
 msgid "Reverse way"
 msgstr "Reverser linje"
 
-msgid "Reverse Ways"
-msgstr "Snu retning på linjer"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Snu retning på alle valgte linjer"
 
@@ -1548,6 +1554,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2272,6 +2288,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2313,6 +2334,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2670,7 +2700,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3240,9 +3273,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Innstilligen  {0} er fjernet fordi den ikke lenger brukes."
 
@@ -3301,6 +3331,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "Ø"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3528,6 +3561,9 @@ msgstr "tekst"
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3605,12 +3641,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3620,6 +3668,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4193,6 +4259,9 @@ msgstr "Ulovlig mellomrom i Nøkkel"
 msgid "Property values start or end with white space"
 msgstr "Egenskap Verdi starter eller slutter med mellomrom"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Egenskap Verdi inneholder HTML koding"
 
@@ -4889,9 +4958,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4950,12 +5016,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Breddegrad ved musepekeren."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Lengdegrad ved musepekeren."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Kompassretning på segmentet som tegnes."
 
@@ -4982,6 +5042,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Breddegrad ved musepekeren."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Lengdegrad ved musepekeren."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5829,6 +5901,18 @@ msgstr "Løs"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "Åpne en dialog for å sammenføye element i lista ovenfor."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5945,6 +6029,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6370,6 +6457,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6717,19 +6807,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
-msgstr ""
+msgid "Download objects"
+msgstr "Last ned objekter"
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6831,6 +6915,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7158,7 +7254,7 @@ msgstr "Rett verdien for den valgte nøkkel for alle objekter"
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7194,6 +7290,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7261,6 +7360,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr "Skjul"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7373,9 +7493,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7406,108 +7523,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-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"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Select next Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort below"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "Det oppstod {0} konflikter under import."
 
-msgid "Reverse"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "Flytt valgte medlem opp"
-
-msgid "Relation Editor: Move Up"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr "Flytt valgt medlem ned"
-
-msgid "Relation Editor: Move Down"
-msgstr ""
+msgid "Reload"
+msgstr "Last inn på nytt"
 
-msgid "Remove the currently selected members from this relation"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Delete the currently edited relation"
-msgstr ""
+msgid "Apply Changes"
+msgstr "Utfør endringer"
 
-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 ""
+msgid "Create new relation in layer ''{0}''"
+msgstr "Skap ny relasjon i lag \"{0}\""
 
-msgid "Yes, create a conflict and close"
-msgstr ""
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Rediger ny relasjon i lag \"{0}\""
 
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Rediger relasjon #{0} i lag \"{1}\""
 
-msgid "No, continue editing"
+msgid "Load relation"
 msgstr ""
 
-msgid "Click to return to the relation editor and to resume relation editing"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7526,6 +7618,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7534,7 +7629,10 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
+msgid "Delete the currently edited relation"
+msgstr ""
+
+msgid "Relation Editor: Download Members"
 msgstr ""
 
 msgid "Download all incomplete members"
@@ -7543,101 +7641,151 @@ msgstr ""
 msgid "Download Members"
 msgstr "Last ned medlemmer"
 
-msgid "Relation Editor: Download Members"
-msgstr ""
-
 msgid "Download selected incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Relation Editor: Move Down"
 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] ""
+msgid "Move the currently selected members down"
+msgstr "Flytt valgt medlem ned"
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
-msgstr ""
+msgid "Move the currently selected members up"
+msgstr "Flytt valgte medlem opp"
 
-msgid "Yes, apply it"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
-msgid "No, do not apply"
-msgstr ""
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
 
-msgid "Confirm empty role"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Refresh relation from data layer"
+msgstr ""
+
+msgid "Refresh"
+msgstr "Oppdater"
+
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
 msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "Select next Gap"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Refers to"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "Det oppstod {0} konflikter under import."
+msgid "Reverse"
+msgstr ""
 
-msgid "including immediate children of parent relations"
+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 ""
 
-msgid "Load parent relations"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Reload"
-msgstr "Last inn på nytt"
+msgid "Click to create a conflict and close this relation editor"
+msgstr ""
 
-msgid "Loading parent relations"
+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 ""
 
-msgid "Edit the currently selected relation"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
 msgstr ""
 
-msgid "Apply Changes"
-msgstr "Utfør endringer"
+msgid "Select objects for selected relation members"
+msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Skap ny relasjon i lag \"{0}\""
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Rediger ny relasjon i lag \"{0}\""
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Rediger relasjon #{0} i lag \"{1}\""
+msgid "Sets a role for the selected members"
+msgstr ""
 
-msgid "Load relation"
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -8034,6 +8182,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8149,10 +8302,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8337,9 +8494,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr "Last ned objekter"
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8854,7 +9008,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8863,32 +9017,29 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
+msgid "Load tile"
 msgstr ""
 
-msgid "Auto load tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Tiles"
-msgstr "Hent alle kartbilder"
-
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
-msgstr "Bytt oppløsning"
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
-msgstr "Last Kartbilde"
+msgid "Change resolution"
+msgstr "Bytt oppløsning"
 
 msgid "Increase zoom"
 msgstr "Zoom inn"
@@ -8896,11 +9047,11 @@ msgstr "Zoom inn"
 msgid "Decrease zoom"
 msgstr "Zoom ut"
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Tøm bildehurtiglager"
+msgid "Failed to create tile source"
+msgstr ""
 
 msgid "zoom in to load any tiles"
 msgstr ""
@@ -9331,6 +9482,9 @@ msgstr ""
 "Feil ved tolking av forskyvning.\n"
 "Forventet format: {0}"
 
+msgid "Geotagged Images"
+msgstr "Geotaggede bilder"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Leser GPS posisjoner fra EXIF"
 
@@ -9355,9 +9509,6 @@ msgstr "Feil ved lesing av fil i mappa {0}\n"
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr "Geotaggede bilder"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9718,9 +9869,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9765,6 +9914,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9821,11 +9976,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9941,6 +10091,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10301,6 +10457,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "Avanserte innstillinger"
 
@@ -10382,18 +10547,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -11067,9 +11223,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr "Meny Navn"
 
@@ -11341,6 +11494,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11973,12 +12129,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Religion"
 
@@ -12068,6 +12218,9 @@ msgstr "Bruk objektmal «{0}»"
 msgid "Elements of type {0} are supported."
 msgstr "Element type {0} kan brukes."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12138,6 +12291,9 @@ msgstr ""
 msgid "Presets"
 msgstr "Objektmaler"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12181,6 +12337,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Mer informasjon om denne funksjonen"
 
@@ -12269,17 +12428,31 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "false: egenskapen er slått av med vilje"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "true: egenskapen er slått på med vilje"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "partial: de valgte objektene har forskjellige verdier, ikke gjør endringer"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "unset: ikke sett egenskap på valgte objekter"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12773,6 +12946,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "OSM-tjenerfiler"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12787,9 +12963,6 @@ msgstr "OSM-tjenerfiler gzip-komprimert"
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr "OSM-tjenerfiler"
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12983,9 +13156,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13154,21 +13324,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13180,6 +13357,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13197,19 +13382,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13898,9 +14072,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13932,6 +14103,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Fant ikke oversettelsen for {0}. Bruker {1}."
 
@@ -13940,9 +14114,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -14076,6 +14247,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14388,9 +14562,6 @@ msgstr "Åpne valgt fil"
 msgid "Open selected file."
 msgstr "Åpne valgt fil"
 
-msgid "Refresh"
-msgstr "Oppdater"
-
 msgid "Rename File"
 msgstr "Endre filnavn"
 
@@ -14484,6 +14655,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14550,6 +14724,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14646,16 +14823,19 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "IBGE Mapa de Setores Urbanos"
+msgid "TEC bus lines (2014)"
+msgstr ""
+
+msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Rurais"
@@ -14775,6 +14955,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14795,9 +14978,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14868,6 +15048,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14901,10 +15090,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15600,6 +15792,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Lag et rutenett med linjer."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "Lag og håntere addressenoder og bygninger i den Tsjekkiske Republikk"
@@ -16270,6 +16465,105 @@ msgstr "begrenset"
 msgid "Brand"
 msgstr ""
 
+msgid "Cuisine"
+msgstr "Kjøkken"
+
+msgid "italian"
+msgstr "italiensk"
+
+msgid "chinese"
+msgstr "kinesisk"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "gatekjøkken"
+
+msgid "greek"
+msgstr "gresk"
+
+msgid "german"
+msgstr "tysk"
+
+msgid "indian"
+msgstr "indisk"
+
+msgid "regional"
+msgstr "lokal"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "tyrkisk"
+
+msgid "asian"
+msgstr "asiatisk"
+
+msgid "thai"
+msgstr "thai"
+
+msgid "mexican"
+msgstr "meksikansk"
+
+msgid "japanese"
+msgstr "japansk"
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr ""
 
@@ -16837,7 +17131,10 @@ msgstr "Maksvekt (tonn)"
 msgid "Toll"
 msgstr "Avgift"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17591,25 +17888,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Fartsdemping"
 
-msgid "bump"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
 msgstr ""
 
-msgid "chicane"
+msgid "Choker"
 msgstr ""
 
-msgid "choker"
+msgid "Cushion"
 msgstr ""
 
-msgid "cushion"
+msgid "Hump"
 msgstr ""
 
-msgid "hump"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17759,6 +18060,9 @@ msgstr "Bymur"
 msgid "Retaining Wall"
 msgstr "Støttemur"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17929,6 +18233,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Kystlinje"
 
@@ -17991,14 +18298,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Klippe"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18927,66 +19226,6 @@ msgstr "Mat og drikke"
 msgid "Restaurant"
 msgstr "Restaurant"
 
-msgid "Cuisine"
-msgstr "Kjøkken"
-
-msgid "italian"
-msgstr "italiensk"
-
-msgid "chinese"
-msgstr "kinesisk"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "gatekjøkken"
-
-msgid "greek"
-msgstr "gresk"
-
-msgid "german"
-msgstr "tysk"
-
-msgid "indian"
-msgstr "indisk"
-
-msgid "regional"
-msgstr "lokal"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "tyrkisk"
-
-msgid "asian"
-msgstr "asiatisk"
-
-msgid "thai"
-msgstr "thai"
-
-msgid "mexican"
-msgstr "meksikansk"
-
-msgid "japanese"
-msgstr "japansk"
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18999,19 +19238,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Gatekjøkken"
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "Kafé"
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19189,6 +19422,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "Badepark"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19223,9 +19462,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Fiskeplass"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19268,12 +19504,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19377,6 +19619,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19536,6 +19782,125 @@ msgstr "(Bruk internasjonalt nummer, f.eks. +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinær"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Hydrant"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Nødtelefon"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19648,24 +20013,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "Telefonkort"
 
-msgid "Emergency Phone"
-msgstr "Nødtelefon"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19828,63 +20178,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Skjul"
+msgstr ""
 
 msgid "Lock"
 msgstr "Lås"
 
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr "Hydrant"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
-msgstr ""
-
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19938,9 +20239,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "Racerbane"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golfbane"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Minigolf"
 
@@ -20165,9 +20519,6 @@ msgstr "Sandvolleyball"
 msgid "Billiards"
 msgstr "Billiard"
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golfbane"
 
@@ -20332,6 +20683,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20340,6 +20695,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20452,6 +20839,9 @@ msgstr "Vindmølle"
 msgid "Gasometer"
 msgstr "Gassbeholder"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20853,6 +21243,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20862,6 +21260,9 @@ msgstr "Ruiner"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21293,11 +21694,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
-msgstr "Kraftmast"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21318,6 +21722,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Kraftmast"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21441,18 +21863,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21485,6 +21895,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Kraftlinje"
 
@@ -21742,6 +22155,9 @@ msgstr "Møbler"
 msgid "Kitchen"
 msgstr "Kjøkken"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21784,12 +22200,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Hygiene"
 
-msgid "Hairdresser/Barber"
-msgstr "Frisør/barbersalong"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "Skjønnhet"
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr "Frisør/barbersalong"
+
 msgid "Tattoo"
 msgstr "Tatovering"
 
@@ -22115,6 +22540,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geografi"
 
@@ -22283,6 +22783,14 @@ msgstr "Dal"
 msgid "A low area between hills."
 msgstr "Et lavt område mellom fjell."
 
+msgid "Cliff"
+msgstr "Klippe"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Huleinngang"
 
@@ -22483,6 +22991,51 @@ msgstr "Eng"
 msgid "Orchard"
 msgstr "Frukthage"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Vingård"
 
@@ -23277,9 +23830,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23304,7 +23854,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23351,6 +23901,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr "{0} er upresis"
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} på en node. Bør brukes på linje."
 
@@ -23366,6 +23925,9 @@ msgstr "{0} på en linje. Bør brukes på en node."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} på en linje. Bør brukes på en relasjon."
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} på en node"
 
@@ -23393,6 +23955,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23434,7 +23999,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26894,7 +27459,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27207,6 +27772,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27222,6 +27790,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Måleverdier"
 
@@ -28564,6 +29144,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28650,15 +29236,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30651,6 +31228,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31239,6 +31819,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/nds.po b/i18n/po/nds.po
index 9395e3c..e7ee84e 100644
--- a/i18n/po/nds.po
+++ b/i18n/po/nds.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:54+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:53+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr "Löschen"
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3182,9 +3215,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3243,6 +3273,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3470,6 +3503,9 @@ msgstr "Text"
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3547,12 +3583,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3562,6 +3610,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4128,6 +4194,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4822,9 +4891,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4883,12 +4949,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4915,6 +4975,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5734,6 +5806,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5850,6 +5934,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6275,6 +6362,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6622,19 +6712,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6736,6 +6820,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7063,7 +7159,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7099,6 +7195,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7166,6 +7265,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7278,9 +7398,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7311,108 +7428,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7431,6 +7523,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7439,48 +7534,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7488,61 +7572,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7930,6 +8078,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8033,10 +8186,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8216,9 +8373,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8731,7 +8885,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8740,31 +8894,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8773,10 +8924,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9196,6 +9347,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9220,9 +9374,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9573,9 +9724,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9620,6 +9769,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9676,11 +9831,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9796,6 +9946,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10156,6 +10312,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10237,18 +10402,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10900,9 +11056,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11174,6 +11327,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11803,12 +11959,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11898,6 +12048,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11968,6 +12121,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12011,6 +12167,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12099,16 +12258,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12588,6 +12761,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12602,9 +12778,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12797,9 +12970,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12968,21 +13138,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12994,6 +13171,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13011,19 +13196,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13706,9 +13880,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13740,6 +13911,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13748,9 +13922,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13884,6 +14055,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14192,9 +14366,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14288,6 +14459,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14354,6 +14528,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14450,13 +14627,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14579,6 +14759,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14599,9 +14782,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14672,6 +14852,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14705,10 +14894,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15404,6 +15596,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16059,25 +16254,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16626,7 +16920,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17380,25 +17677,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17548,6 +17849,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17718,6 +18022,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Hüste"
 
@@ -17780,14 +18087,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18716,66 +19015,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18788,19 +19027,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18978,6 +19211,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19012,9 +19251,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19057,12 +19293,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19166,6 +19408,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19325,6 +19571,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr "Tierarz"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19437,24 +19802,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19617,63 +19967,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19727,9 +20028,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19954,9 +20308,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20121,6 +20472,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20129,6 +20484,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20241,6 +20628,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20642,6 +21032,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20651,6 +21049,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21082,10 +21483,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21107,6 +21511,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21230,18 +21652,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21274,6 +21684,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21531,6 +21944,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21573,12 +21989,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21904,6 +22329,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22072,6 +22572,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22272,6 +22780,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23066,9 +23619,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23090,7 +23640,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23134,6 +23684,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23149,6 +23708,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23176,6 +23738,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23217,7 +23782,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26641,7 +27206,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26954,6 +27519,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26969,6 +27537,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28310,6 +28890,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28396,15 +28982,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30391,6 +30968,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30979,6 +31559,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/nl.po b/i18n/po/nl.po
index 29fb7f3..5f27402 100644
--- a/i18n/po/nl.po
+++ b/i18n/po/nl.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-04 22:47+0000\n"
-"Last-Translator: Don-vip <Unknown>\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-01 18:26+0000\n"
+"Last-Translator: DiGro <Unknown>\n"
 "Language-Team: Dutch\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:38+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:39+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: nl\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -409,6 +409,9 @@ msgstr ""
 "Kon wegen niet combineren<br>(Zij konden niet worden samengevoegd tot één "
 "enkele reeks van knopen)"
 
+msgid "Reverse Ways"
+msgstr "Wegen omkeren"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Combineeer {0} weg"
@@ -467,6 +470,13 @@ msgstr "Verwijderen"
 msgid "Delete selected objects."
 msgstr "Geselecteerde objecten verwijderen."
 
+msgid "Delete Layer"
+msgstr "Laag verwijderen"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+"verwijder de actieve laag. Verwijdert niet het daaraan verbonden bestand"
+
 msgid "Toggle dialogs panel"
 msgstr "paneel Schakelvensters"
 
@@ -1297,9 +1307,6 @@ msgstr "Klik hier om later opnieuw te starten."
 msgid "Reverse way"
 msgstr "Weg omkeren"
 
-msgid "Reverse Ways"
-msgstr "Wegen omkeren"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "De richting van alle geselecteerde wegen omkeren."
 
@@ -1331,16 +1338,16 @@ msgid "Save the current data to a new file."
 msgstr "Sla de huidige gegevens in een nieuw bestand op."
 
 msgid "Search Notes..."
-msgstr "Doorzoek notities..."
+msgstr "Opmerkingen zoeken..."
 
 msgid "Download notes from the note search API"
-msgstr "Ophalen notities via de zoek API"
+msgstr "Opmerkingen ophalen via de zoek API"
 
 msgid "Search the OSM API for notes containing words:"
-msgstr "Zoek via de OSM API naar notities met de volgende woorden:"
+msgstr "Zoek via de OSM API naar opmerkingen met de volgende woorden:"
 
 msgid "Search for notes"
-msgstr "Zoeken naar notities"
+msgstr "Zoeken naar opmerkingen"
 
 msgid "You must enter a search term"
 msgstr "Voer een zoekterm in"
@@ -1619,25 +1626,25 @@ msgstr ""
 "geselecteerd worden."
 
 msgid "Existing node"
-msgstr ""
+msgstr "Bestaande knoop"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Beide knopen"
 
 msgid "New node"
-msgstr ""
+msgstr "Nieuwe knoop"
 
 msgid "Tags / Memberships"
 msgstr "Tags / Leden"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Losmaken"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "Waar zouden de tags van de knoop moeten worden geplaatst?"
 
 msgid "Where should the memberships of this node be put?"
-msgstr ""
+msgstr "Waar zouden de leden van de knoop moeten worden geplaatst?"
 
 msgid "Unglued Node"
 msgstr "Losgemaakte knoop"
@@ -1672,6 +1679,16 @@ msgstr ""
 "veroorzaken, omdat je niet het echte object ziet.<br>Wil je het echt "
 "losmaken?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Unglueing affected {0} relation: {1}"
+msgstr[1] "Losmaken van beïnvloede {0} relaties: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Zorg er voor dat de relatie niet is verbroken!"
+msgstr[1] "Zorg er voor dat de relaties niet zijn verbroken!"
+
 msgid "Disconnect Node from Way"
 msgstr "Ontkoppel knoop van weg"
 
@@ -1797,10 +1814,10 @@ msgid "Upload note changes to server"
 msgstr "Upload notitiewijziging naar server"
 
 msgid "Upload notes"
-msgstr "Upload notities"
+msgstr "Opmerkingen uploaden"
 
 msgid "Uploading notes to server"
-msgstr "Notities worden naar server gestuurd"
+msgstr "Opmerkingen worden naar server gestuurd"
 
 msgid "Upload selection"
 msgstr "Selectie uploaden"
@@ -1960,13 +1977,13 @@ msgid "Markers from {0}"
 msgstr "Markeringen van {0}"
 
 msgid "Download OSM Notes"
-msgstr "Download OSM notities"
+msgstr "Opmerkingen van OSM downloaden"
 
 msgid "Downloading Notes"
-msgstr "Notities worden opgehaald"
+msgstr "Opmerkingen worden opgehaald"
 
 msgid "Notes"
-msgstr "Notities"
+msgstr "Opmerkingen"
 
 msgid "{0} note has been downloaded."
 msgid_plural "{0} notes have been downloaded."
@@ -2468,6 +2485,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Voeg selectie toe aan relatie"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Selectie aan relatie toevoegen</strong>: Controleer elke "
+"relatie om beschadigingen te voorkomen!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Voeg selectie toe aan {0} relatie"
@@ -2514,6 +2538,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Bevestiging"
 
+msgid "List of recent relations"
+msgstr "Lijst met recente relaties"
+
+msgid "Open recent relation"
+msgstr "Recente relatie openen"
+
+msgid "Relation Editor: {0}"
+msgstr "Relatie bewerken: {0}"
+
 msgid "Select in relation list"
 msgstr "Selecteer in relatielijst"
 
@@ -2891,8 +2924,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Verwachtte <i>min</i>/<i>max</i> na ''tijdstempel''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr "Kan tijdstempel ''{0}'' niet parsen"
+
+msgid "Expecting {0} after {1}"
+msgstr "Verwacht {0} na {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Bereik van ID''s voor primitieven verwacht"
@@ -2985,13 +3021,13 @@ msgid "Cycling dependencies"
 msgstr "Cirkelverwijzingen"
 
 msgid "Uploading modified notes"
-msgstr "Gewijzigde notities versturen"
+msgstr "Aangepaste opmerkingen verzenden"
 
 msgid "Note {0} failed: {1}"
 msgstr "Notitie {0} fout {1}"
 
 msgid "Notes failed to upload"
-msgstr "Notities niet verstuurd"
+msgstr "Opmerkingen niet verzonden"
 
 msgid ""
 "The following are results of automatic validation. Try fixing these, but be "
@@ -3388,13 +3424,13 @@ msgid "Restoring files"
 msgstr "Bezig met herstellen van bestanden"
 
 msgid "Unable to delete backup file {0}"
-msgstr ""
+msgstr "Onmogelijk back-upbestand {0} te verwijderen"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "Onmogelijk PIDbestand {0} te verwijderen"
 
 msgid "Unable to delete archived backup file {0}"
-msgstr ""
+msgstr "Onmogelijk gearchiveerd back-upbestand {0} te verwijderen"
 
 msgid "Illegal latitude value ''{0}''"
 msgstr "Ongeldige waarde ''{0}'' voor breedtegraad"
@@ -3525,9 +3561,6 @@ msgstr ""
 "Probeer netwerk IPv6 in te schakelen, voorkeur voor IPv6 boven IPv4 (werkt "
 "alleen bij eerste opstarten)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (op regel {0}, kolom {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 "Instelling van voorkeur {0} is verwijderd omdat hij niet langer wordt "
@@ -3589,6 +3622,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "O"
 
+msgid "Update default entries"
+msgstr "Standaard items bijwerken"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "Projectie ''{0}'' werd niet gevonden, bladwijzer ''{1}'' is niet bruikbaar"
@@ -3847,6 +3883,9 @@ msgstr "tekst"
 msgid "areatext"
 msgstr "tekst voor gebied"
 
+msgid " (at line {0}, column {1})"
+msgstr " (op regel {0}, kolom {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "Projectie UTM (''+proj=utm'') vereist parameter ''+zone=...''."
 
@@ -3929,12 +3968,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr "Dubbel stereografisch"
+msgid "Albers Equal Area"
+msgstr "Albers Equal Area"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parameter ''{0}'' vereist."
 
+msgid "standard parallels are opposite"
+msgstr "standaard parallellen zijn tegenovergesteld"
+
+msgid "Cassini-Soldner"
+msgstr "Cassini-Soldner"
+
+msgid "Double Stereographic"
+msgstr "Dubbel stereografisch"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Lambert Azimuthal Equal Area"
+
 msgid "Lambert Conformal Conic"
 msgstr "Lambert Conformal Conic"
 
@@ -3944,6 +3995,25 @@ msgstr "Lat/lon (Geodetisch)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr "Oblique Mercator"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+"Ongeschikte parameters ''{0}'' en ''{1}'' voor methode met twee punten."
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr "Ongeldige waarde voor parameter ''{0}'': {1}"
+
+msgid "error in initialization"
+msgstr "fout bij initialisatie"
+
+msgid "Polar Stereographic"
+msgstr "Polar Stereographic"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr "Polar Stereographic: Parameter ''{0}'' moet 90 of -90 zijn."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Zwitsers Oblique Mercator"
 
@@ -4551,6 +4621,9 @@ msgstr "Ongeldige spatie in sleutel voor eigenschap"
 msgid "Property values start or end with white space"
 msgstr "Waarde voor eigenschap begint of eindigt met een spatie"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Waarden voor eigenschap bevatten HTML-codes"
 
@@ -5287,9 +5360,6 @@ msgstr "Voorkeuren voor afbeeldingen"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Klik om de tab Afbeeldingen te openen in de voorkeuren"
 
-msgid "Search menu items"
-msgstr "Items Zoekmenu"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Audio"
@@ -5348,12 +5418,6 @@ msgstr "Statusbalk voorgrond: actief"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "De geografische breedtegraad bij de cursor."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "De geografische lengtegraad bij de cursor."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "De (kompas)richting van het lijnsegment dat wordt getekend."
 
@@ -5382,6 +5446,18 @@ msgstr "Gebruikersnaam:"
 msgid "Do not hide status bar"
 msgstr "Statusbalk niet verbergen"
 
+msgid "The northing at the mouse pointer."
+msgstr "De Northing bij de muisaanwijzer."
+
+msgid "The easting at the mouse pointer."
+msgstr "De Easting bij de muisaanwijzer."
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "De geografische breedtegraad bij de cursor."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "De geografische lengtegraad bij de cursor."
+
 msgid "System of measurement changed to {0}"
 msgstr "Stelsel van maten ingesteld op {0}"
 
@@ -5404,7 +5480,7 @@ msgid "Last change date"
 msgstr "Datum laatste wijziging"
 
 msgid "Select note sorting method"
-msgstr "Sorteervolgorde van notities"
+msgstr "Sorteervolgorde van opmerkingen selecteren"
 
 msgid "Click to cancel the current operation"
 msgstr "Klik om de huidige bewerking te annuleren."
@@ -6311,6 +6387,18 @@ msgstr ""
 "Een dialoogvenster om samen te voegen openen voor alle geselecteerde items "
 "in bovenstaande lijst."
 
+msgid "Resolve to my versions"
+msgstr "Oplossen naar mijn versies"
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr "Lost alle niet-opgeloste conflicten op naar ''mijn'' versie"
+
+msgid "Resolve to their versions"
+msgstr "Oplossen naar hun versies"
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr "Lost alle niet-opgeloste conflicten op naar ''hun'' versie"
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Er werd {0} conflict gedetecteerd."
@@ -6437,6 +6525,9 @@ msgstr "Zet filter lager"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filter Verborgen: {0} Uitgeschakeld: {1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Fout in filter <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Fout in filter"
 
@@ -6891,6 +6982,9 @@ msgstr "Instellingen Stijl"
 msgid "Customize the style"
 msgstr "De stijl aanpasen"
 
+msgid "Search menu items"
+msgstr "Items Zoekmenu"
+
 msgid "Mini map"
 msgstr "Miniatuurkaart"
 
@@ -6934,7 +7028,7 @@ msgid "Reopen note with message:"
 msgstr "Notitie heropenen met een toelichting"
 
 msgid "Sort notes"
-msgstr "Sorteer notities"
+msgstr "Opmerkingen sorteren"
 
 msgid "Sort"
 msgstr "Sorteren"
@@ -7265,22 +7359,16 @@ msgstr[1] ""
 "<html>Geen van de geselecteerde objecten is beschikbaar in de "
 "huidige<br>bewerkingslaag ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Inhoud downloaden van server"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Downloaden van inhoud van wijzigingenset van de server van OSM"
-
-msgid "Update content"
-msgstr "Inhoud bijwerken"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Inhoud van wijzigingenset bijwerken vanaf de server van OSM"
-
 msgid "Download and show the history of the selected objects"
 msgstr ""
 "De geschiedenis van de geselecteerde objecten downloaden en weergeven."
 
+msgid "Download objects"
+msgstr "Downloaden van objecten"
+
+msgid "Download the current version of the selected objects"
+msgstr "Download de huidige versie van de geselecteerde objecten"
+
 msgid "Select in layer"
 msgstr "Selecteren in laag"
 
@@ -7389,6 +7477,18 @@ msgstr "geopend"
 msgid "closed"
 msgstr "gesloten"
 
+msgid "Download content"
+msgstr "Inhoud downloaden van server"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Downloaden van inhoud van wijzigingenset van de server van OSM"
+
+msgid "Update content"
+msgstr "Inhoud bijwerken"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Inhoud van wijzigingenset bijwerken vanaf de server van OSM"
+
 msgid "Changeset ID: "
 msgstr "Wijzigingenset-ID: "
 
@@ -7776,8 +7876,8 @@ msgstr "Bewerk de waarde van de geselecteerde sleutel voor alle objecten"
 msgid "Edit Tags"
 msgstr "Tags bewerken"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Ga naar de wiki van OSM voor hulp over tags (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "Ga naar de wiki van OSM voor hulp over tags"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Browser starten met wiki-hulp voor het geselecteerde object"
@@ -7813,6 +7913,9 @@ msgstr "Kopieer alle Sleutels/Waardes"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Sleutel en waarde van alle tags naar het klembord kopiëren"
 
+msgid "Copy Tags"
+msgstr "Tags kopiëren"
+
 msgid "Search Key/Value/Type"
 msgstr "Zoek naar een sleutel/waarde/type"
 
@@ -7882,6 +7985,27 @@ msgstr "Stel aantal recent toegevoegde tags in"
 msgid "Remember last used tags after a restart"
 msgstr "Laatst gebruikte tags na opnieuw opstarten onthouden"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Inschakelen"
+
+msgid "Hide"
+msgstr "Verborgen"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "eerste suggestie toepassen"
 
@@ -8001,9 +8125,6 @@ msgstr "Nieuwe relatie"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Focus Relatie bewerken op relatie ''{0}'' in laag ''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Relatie bewerken: {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 "
@@ -8045,6 +8166,75 @@ msgstr ""
 "cirkelverwijzingen en wordt daarom afgeraden.<br>Relatie ''{0}'' "
 "overgeslagen.</html>"
 
+msgid "Select previous Gap"
+msgstr "Selecteer vorige gat"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Selecteer het vorige lid van de relatie die reden geeft tot een gat"
+
+msgid "Select next Gap"
+msgstr "Selecteer volgende gat"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr ""
+"Selecteer het volgende lid van de relatie die reden geeft tot een gat"
+
+msgid "Zoom to Gap"
+msgstr "Inzoomen op gat"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Inzoomen op gat in de volgorde van de weg"
+
+msgid "Refers to"
+msgstr "Verwijst naar"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
+"Kan {0} niet toevoegen omdat het geen deel uitmaakt van de gegevensset"
+
+msgid "Download referring relations"
+msgstr "Verwijzende relaties downloaden"
+
+msgid "There were {0} conflicts during import."
+msgstr "Er waren {0} conflicten tijdens het importeren."
+
+msgid "including immediate children of parent relations"
+msgstr "Inclusief directe kinderen van ouder-relaties"
+
+msgid "Load parent relations"
+msgstr "Ouder-relaties laden"
+
+msgid "Reload"
+msgstr "Herladen"
+
+msgid "Loading parent relations"
+msgstr "Ouder-relaties worden geladen"
+
+msgid "Edit the currently selected relation"
+msgstr "Bewerk de huidige geselecteerde relatie"
+
+msgid "Apply Changes"
+msgstr "Wijzigingen toepassen"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Nieuwe relatie in laag ''{0}'' maken"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Nieuwe relatie in laag ''{0}'' bewerken"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Relatie #{0} in laag ''{1}'' bewerken"
+
+msgid "Load relation"
+msgstr "Relatie laden"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Voeg alle geselecteerde objecten in de huidige gegevensset toe na het "
+"laatste geselecteerde lid"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -8058,71 +8248,140 @@ msgstr ""
 "Voeg alle geselecteerde objecten in de huidige gegevensset toe vóór het "
 "eerste geselecteerde lid"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Apply the current updates"
+msgstr "Pas de huidige bijwerkingen toe"
+
+msgid "Cancel the updates and close the dialog"
+msgstr "Annuleer de bijwerkingen en sluit het dialoogvenster"
+
+msgid "Yes, save the changes and close"
+msgstr "Ja, sla de wijzigingen op en sluit af"
+
+msgid "Click to save the changes and close this relation editor"
 msgstr ""
-"Voeg alle geselecteerde objecten in de huidige gegevensset toe na het "
-"laatste geselecteerde lid"
+"Klik om de wijzigingen op te slaan en deze bewerking van relaties te sluiten"
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "No, discard the changes and close"
+msgstr "Nee, verwerp de wijzigingen en sluit af"
+
+msgid "Click to discard the changes and close this relation editor"
 msgstr ""
-"Verwijder alle leden die verwijzen naar één van de geselecteerde objecten."
+"Klik om de wijzigingen te verwerpen en deze relatiebewerker af te sluiten"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Cancel, continue editing"
+msgstr "Annuleren, ga door met bewerken"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Selecteer leden van de relatie die verwijzen naar objecten in de huidige "
-"selectie"
+"Klik om terug te gaan naar Relatie bewerken en de relatie verder te bewerken"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 msgstr ""
-"Selecteer leden van de relatie die verwijzen naar {0} objecten in de huidige "
-"selectie"
+"<html>De relatie is gewijzigd.<br><br>Wilt u uw wijzigingen opslaan?</html>"
 
-msgid "Select objects for selected relation members"
-msgstr "Selecteer objecten voor de geselecteerde leden van de relatie"
+msgid "Unsaved changes"
+msgstr "Niet-opgeslagen wijzigingen"
 
-msgid "Sort the relation members"
-msgstr "De leden van de relatie sorteren"
+msgid "Delete the currently edited relation"
+msgstr "Verwijder de huidige bewerkte relatie"
 
-msgid "Relation Editor: Sort"
-msgstr "Relatie bewerken: Sorteren"
+msgid "Relation Editor: Download Members"
+msgstr "Relatie bewerken: Leden downloaden"
 
-msgid "Sort below"
-msgstr "Beneden sorteren"
+msgid "Download all incomplete members"
+msgstr "Download alle incomplete leden"
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download Members"
+msgstr "Leden downloaden"
+
+msgid "Download selected incomplete members"
+msgstr "Downloaden van geselecteerde incomplete leden"
+
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
-"De geselecteerde leden van de relatie en alle leden daaronder sorteren"
+"De relatie, waar het nu geselecteerde lid van de relatie naar verwijst, "
+"wijzigen"
 
-msgid "Reverse the order of the relation members"
-msgstr "Volgorde van leden van de relatie omkeren"
+msgid "Relation Editor: Move Down"
+msgstr "Relatie bewerken: Omlaag verplaatsen"
 
-msgid "Reverse"
-msgstr "Omkeren"
+msgid "Move the currently selected members down"
+msgstr "De huidige geselecteerde leden omlaag verplaatsen"
+
+msgid "Relation Editor: Move Up"
+msgstr "Relatie bewerken: Omhoog verplaatsen"
 
 msgid "Move the currently selected members up"
 msgstr "De huidige geselecteerde leden omhoog verplaatsen"
 
-msgid "Relation Editor: Move Up"
-msgstr "Relatie bewerken: Omhoog verplaatsen"
+msgid "Apply the updates and close the dialog"
+msgstr "Voer de bijwerkingen door en sluit het dialoogvenster"
 
-msgid "Move the currently selected members down"
-msgstr "De huidige geselecteerde leden omlaag verplaatsen"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Leden in de buffer Plakken kunnen niet worden toegevoegd omdat ze geen deel "
+"uitmaken van de huidige laag"
 
-msgid "Relation Editor: Move Down"
-msgstr "Relatie bewerken: Omlaag verplaatsen"
+msgid "Relation Editor: Refresh"
+msgstr "Relatiebewerker: Vernieuwen"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "De huidige geselecteerde leden uit de relatie verwijderen"
+msgid "Refresh relation from data layer"
+msgstr "Relatie vernieuwen uit gegevenslaag"
+
+msgid "Refresh"
+msgstr "Vernieuwen"
+
+msgid "Yes, discard changes and reload"
+msgstr "Ja, negeer wijzigingen en laad opnieuw"
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
+"Klik om de wijzigingen te negeren en de gegevens te herladen vanaf de "
+"gegevenslaag"
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+"<html>U heeft niet opgeslagen wijzigingen in dit "
+"bewerkingsvenster.<br><br>Wilt u deze wijzigingen negeren en de gegevens "
+"herladen vanuit de gegevenslaag?</html>"
+
+msgid "Click to close window"
+msgstr "Klik om het venster te sluiten"
+
+msgid "No, continue editing"
+msgstr "Nee, doorgaan met bewerken"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+"<html>Relatie is buiten de bewerker verwijderd.<br><br>Wilt u dit venster "
+"sluiten?</html>"
+
+msgid "Deleted relation"
+msgstr "Verwijderde relatie"
 
 msgid "Relation Editor: Remove"
 msgstr "Relatie bewerken: Verwijderen"
 
-msgid "Delete the currently edited relation"
-msgstr "Verwijder de huidige bewerkte relatie"
+msgid "Remove the currently selected members from this relation"
+msgstr "De huidige geselecteerde leden uit de relatie verwijderen"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
+"Verwijder alle leden die verwijzen naar één van de geselecteerde objecten."
+
+msgid "Reverse the order of the relation members"
+msgstr "Volgorde van leden van de relatie omkeren"
+
+msgid "Reverse"
+msgstr "Omkeren"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -8139,13 +8398,6 @@ msgstr "Ja, een conflict maken en sluiten"
 msgid "Click to create a conflict and close this relation editor"
 msgstr "Klik om een conflict te maken en Relatie bewerken te sluiten"
 
-msgid "No, continue editing"
-msgstr "Nee, doorgaan met bewerken"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Klik om terug te gaan naar Relatie bewerken en de relatie verder te bewerken"
-
 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 "
@@ -8162,55 +8414,20 @@ msgstr ""
 "<html>Laag ''{0}'' heeft al een conflict voor object<br/>''{1}''.<br/>Los "
 "dat conflict eerst op en probeer het dan opnieuw.</html>"
 
-msgid "Apply the current updates"
-msgstr "Pas de huidige bijwerkingen toe"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Voer de bijwerkingen door en sluit het dialoogvenster"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Annuleer de bijwerkingen en sluit het dialoogvenster"
-
-msgid "Yes, save the changes and close"
-msgstr "Ja, sla de wijzigingen op en sluit af"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr ""
-"Klik om de wijzigingen op te slaan en deze bewerking van relaties te sluiten"
-
-msgid "No, discard the changes and close"
-msgstr "Nee, verwerp de wijzigingen en sluit af"
+msgid "Select objects for selected relation members"
+msgstr "Selecteer objecten voor de geselecteerde leden van de relatie"
 
-msgid "Click to discard the changes and close this relation editor"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
-"Klik om de wijzigingen te verwerpen en deze relatiebewerker af te sluiten"
-
-msgid "Cancel, continue editing"
-msgstr "Annuleren, ga door met bewerken"
+"Selecteer leden van de relatie die verwijzen naar objecten in de huidige "
+"selectie"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
-"<html>De relatie is gewijzigd.<br><br>Wilt u uw wijzigingen opslaan?</html>"
-
-msgid "Unsaved changes"
-msgstr "Niet-opgeslagen wijzigingen"
-
-msgid "Add an empty tag"
-msgstr "Voeg een lege tag toe"
-
-msgid "Download all incomplete members"
-msgstr "Download alle incomplete leden"
-
-msgid "Download Members"
-msgstr "Leden downloaden"
-
-msgid "Relation Editor: Download Members"
-msgstr "Relatie bewerken: Leden downloaden"
-
-msgid "Download selected incomplete members"
-msgstr "Downloaden van geselecteerde incomplete leden"
+"Selecteer leden van de relatie die verwijzen naar {0} objecten in de huidige "
+"selectie"
 
 msgid "Sets a role for the selected members"
 msgstr "Stel een rol in voor de geselecteerde leden"
@@ -8239,75 +8456,18 @@ msgstr "Neen, niet toepassen"
 msgid "Confirm empty role"
 msgstr "Lege rol bevestigen"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr ""
-"De relatie, waar het nu geselecteerde lid van de relatie naar verwijst, "
-"wijzigen"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Leden in de buffer Plakken kunnen niet worden toegevoegd omdat ze geen deel "
-"uitmaken van de huidige laag"
-
-msgid "Select previous Gap"
-msgstr "Selecteer vorige gat"
+msgid "Relation Editor: Sort"
+msgstr "Relatie bewerken: Sorteren"
 
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Selecteer het vorige lid van de relatie die reden geeft tot een gat"
+msgid "Sort the relation members"
+msgstr "De leden van de relatie sorteren"
 
-msgid "Select next Gap"
-msgstr "Selecteer volgende gat"
+msgid "Sort below"
+msgstr "Beneden sorteren"
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Sort the selected relation members and all members below"
 msgstr ""
-"Selecteer het volgende lid van de relatie die reden geeft tot een gat"
-
-msgid "Zoom to Gap"
-msgstr "Inzoomen op gat"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Inzoomen op gat in de volgorde van de weg"
-
-msgid "Refers to"
-msgstr "Verwijst naar"
-
-msgid "Download referring relations"
-msgstr "Verwijzende relaties downloaden"
-
-msgid "There were {0} conflicts during import."
-msgstr "Er waren {0} conflicten tijdens het importeren."
-
-msgid "including immediate children of parent relations"
-msgstr "Inclusief directe kinderen van ouder-relaties"
-
-msgid "Load parent relations"
-msgstr "Ouder-relaties laden"
-
-msgid "Reload"
-msgstr "Herladen"
-
-msgid "Loading parent relations"
-msgstr "Ouder-relaties worden geladen"
-
-msgid "Edit the currently selected relation"
-msgstr "Bewerk de huidige geselecteerde relatie"
-
-msgid "Apply Changes"
-msgstr "Wijzigingen toepassen"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Nieuwe relatie in laag ''{0}'' maken"
-
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Nieuwe relatie in laag ''{0}'' bewerken"
-
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Relatie #{0} in laag ''{1}'' bewerken"
-
-msgid "Load relation"
-msgstr "Relatie laden"
+"De geselecteerde leden van de relatie en alle leden daaronder sorteren"
 
 msgid "way is connected"
 msgstr "weg is verbonden"
@@ -8421,7 +8581,7 @@ msgstr "Selecteren om GPS-sporen voor het geselecteerde gebied te downloaden"
 
 msgid "Select to download notes in the selected download area."
 msgstr ""
-"Selecteer dit om de notities van het geselecteerde gebied op te halen"
+"Selecteer dit om de opmerkingen van het geselecteerde gebied op te halen"
 
 msgid "Download as new layer"
 msgstr "Als nieuwe laag downloaden"
@@ -8751,6 +8911,11 @@ msgid ""
 msgstr ""
 "<html>Versie <strong>{0}</strong> gemaakt op <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "Deze wijzigingenset heeft {0} opmerking"
+msgstr[1] "Deze wijzigingenset heeft {0} opmerkingen"
+
 msgid "Changeset"
 msgstr "Wijzigingenset"
 
@@ -8876,15 +9041,15 @@ msgid "Upload"
 msgstr "Uploaden"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Selecteert welke acties op deze laag moeten worden uitgevoerd, als u "
-"klikt op de meest linker knop.<br/>Vink \"Uploaden\" aan om de wijziging te "
-"uploaden naar de server van OSM.<br/>Vink \"Opslaan\" om de laag op te slaan "
-"in het bestand dat aan de linkerkant wordt gespecificeerd.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Beschrijf kort de veranderingen die je uploadt:"
@@ -9083,9 +9248,6 @@ msgstr ""
 "Ophalen van gebruikersinformatie voor huidige gebruiker van JOSM mislukt. "
 "Exceptie was: {0}"
 
-msgid "Download objects"
-msgstr "Downloaden van objecten"
-
 msgid "Initializing nodes to download ..."
 msgstr "Initialiseren van knopen om te downloaden ..."
 
@@ -9704,8 +9866,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} object te verwijderen:"
 msgstr[1] "{0} objecten te verwijderen:"
 
-msgid "Show Tile Info"
-msgstr "Tegelinfo weergeven"
+msgid "Show tile info"
+msgstr "Informatie over tegel weergeven"
 
 msgid "Tile Info"
 msgstr "Tegelinfo"
@@ -9713,17 +9875,23 @@ msgstr "Tegelinfo"
 msgid "Metadata "
 msgstr "Metadata "
 
-msgid "Auto Zoom"
-msgstr "Automatisch in-/uitzoomen"
+msgid "Load tile"
+msgstr "Tegel laden"
+
+msgid "Auto zoom"
+msgstr "Automatisch zoomen"
 
 msgid "Auto load tiles"
 msgstr "Automatisch tegels laden"
 
-msgid "Load All Tiles"
+msgid "Show errors"
+msgstr "Fouten weergeven"
+
+msgid "Load all tiles"
 msgstr "Alle tegels laden"
 
-msgid "Load All Error Tiles"
-msgstr "Alle fouten voor tegels laden"
+msgid "Load all error tiles"
+msgstr "Alle tegels met fouten laden"
 
 msgid "Zoom to native resolution"
 msgstr "Zoom naar eigen resolutie"
@@ -9731,26 +9899,17 @@ msgstr "Zoom naar eigen resolutie"
 msgid "Change resolution"
 msgstr "Resolutie veranderen"
 
-msgid "Failed to create tile source"
-msgstr "Maken van bron voor tegels mislukt"
-
-msgid "Show Errors"
-msgstr "Fouten weergeven"
-
-msgid "Load Tile"
-msgstr "Tegel laden"
-
 msgid "Increase zoom"
 msgstr "Zoom vergroten"
 
 msgid "Decrease zoom"
 msgstr "Zoom verkleinen"
 
-msgid "Snap to tile size"
-msgstr "Vastklikken aan grootte van tegel"
+msgid "Flush tile cache"
+msgstr "Cache van tegels leegmaken"
 
-msgid "Flush Tile Cache"
-msgstr "Cache voor tegels leegmaken"
+msgid "Failed to create tile source"
+msgstr "Maken van bron voor tegels mislukt"
 
 msgid "zoom in to load any tiles"
 msgstr "inzoomen om tegels te laden"
@@ -9914,10 +10073,10 @@ msgid "Note"
 msgstr "Notitie"
 
 msgid "Notes layer"
-msgstr "Notities kaartlaag"
+msgstr "Laag met opmerkingen"
 
 msgid "Total notes:"
-msgstr "Totaal aantal notities"
+msgstr "Totaal aantal opmerkingen"
 
 msgid "Changes need uploading?"
 msgstr "Moeten de wijzigingen worden geüpload?"
@@ -10201,6 +10360,9 @@ msgstr ""
 "Fout tijdens parsen van verschuiving.\n"
 "Verwachtte indeling: {0}"
 
+msgid "Geotagged Images"
+msgstr "Afbeeldingen met geo-tags"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "GPS-locaties uit EXIF halen"
 
@@ -10225,9 +10387,6 @@ msgstr "Bestanden uit map {0} halen is mislukt\n"
 msgid "One of the selected files was null"
 msgstr "Een van de geselecteerde bestanden was leeg (null)"
 
-msgid "Geotagged Images"
-msgstr "Afbeeldingen met geo-tags"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} afbeelding geladen."
@@ -10622,12 +10781,8 @@ msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 "Parsen van Kaarttekenstijlen vanaf ''{0}'' mislukt. Exceptie was: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Vervallen ''{0}'' gedetecteerd in ''{1}'' wat op korte termijn zal worden "
-"verwijderd. gebruik in plaats daarvan ''{2}''."
+msgid "Failed to locate image ''{0}''"
+msgstr "Lokaliseren van afbeelding ''{0}'' mislukt"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Ongeldig patroon van streepjes, waarden moeten positief zijn"
@@ -10675,6 +10830,12 @@ msgstr "URL van Toegangstoken:"
 msgid "Authorize URL:"
 msgstr "URL voor autoriseren:"
 
+msgid "OSM login URL:"
+msgstr "OSM URL voor inloggen:"
+
+msgid "OSM logout URL:"
+msgstr "OSM URL voor uitloggen:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 "Klik om de instellingen van OAuth naar de standaard waarden terug te zetten"
@@ -10754,13 +10915,6 @@ msgstr "Gebruikersnaam: "
 msgid "Password: "
 msgstr "Wachtwoord: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Waarschuwing:</strong> JOSM logt <strong>éénmaal</strong> in met "
-"behulp van een veilige verbinding."
-
 msgid "Granted rights"
 msgstr "Toegewezen rechten"
 
@@ -10906,6 +11060,15 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Selecteer een procedure voor autorisatie: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+"<strong>Waarschuwing:</strong> Omdat u niet de standaard OSM API gebruikt, "
+"zorg er voor dat een gebruikers- en geheime sleutel voor OAuth zijn "
+"ingesteld in de <i>parameters voor Advanced OAuth</i>."
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Verkrijg een Toegangstoken voor ''{0}''"
 
@@ -11324,6 +11487,15 @@ msgstr "Geregistreerde werkbalk-actie {0} overschreven: {1} krijgt {2}"
 msgid "Toolbar: {0}"
 msgstr "Werkbalk: {0}"
 
+msgid "add entry"
+msgstr "Voeg item toe"
+
+msgid "Remove the selected entry"
+msgstr "Verwijder het geselecteerde item"
+
+msgid "Key: {0}"
+msgstr "Toets: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Uitgebreide voorkeuren"
 
@@ -11418,18 +11590,9 @@ msgstr "Kies bestand van profiel"
 msgid "Change list setting"
 msgstr "Wijzig instelling van lijst"
 
-msgid "Key: {0}"
-msgstr "Toets: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Wijzig instelling lijst van lijsten"
 
-msgid "add entry"
-msgstr "Voeg item toe"
-
-msgid "Remove the selected entry"
-msgstr "Verwijder het geselecteerde item"
-
 msgid "Change list of maps setting"
 msgstr "Wijzig instelling lijst van kaarten"
 
@@ -12152,9 +12315,6 @@ msgstr "kopieer geselecteerde standaarden"
 msgid "Please select at least one row to copy."
 msgstr "Selecteer ten minste één rij om te kopiëren."
 
-msgid "reload defaults"
-msgstr "standaarden herladen"
-
 msgid "Menu Name"
 msgstr "Menunaam"
 
@@ -12471,6 +12631,9 @@ msgstr[0] ""
 msgstr[1] ""
 "Het downloaden van de volgende {0} plug-ins is <strong>mislukt</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Foutenbericht (niet vertaald): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Start JOSM opnieuw op om de gedownloade plug-ins te activeren."
 
@@ -13162,12 +13325,6 @@ msgstr "Numerieke waarden"
 msgid "Checks for wrong numeric values"
 msgstr "Controleert op foutieve numerieke waarden"
 
-msgid "Power"
-msgstr "Energie"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Controleert op fouten in de infrastructuren voor electriciteit"
-
 msgid "Religion"
 msgstr "Religie"
 
@@ -13258,6 +13415,9 @@ msgstr "Voorkeuze ''{0}'' gebruiken"
 msgid "Elements of type {0} are supported."
 msgstr "Elementen van type {0} worden ondersteund."
 
+msgid "This preset also sets: {0}"
+msgstr "Deze voorkeuze stelt ook in: {0}"
+
 msgid "Edit also …"
 msgstr "Bewerk ook …"
 
@@ -13332,6 +13492,9 @@ msgstr "Voorkeuzen zoeken"
 msgid "Presets"
 msgstr "Voorkeuze"
 
+msgid "Search for objects by preset..."
+msgstr "Zoeken naar objecten op voorkeuze..."
+
 msgid "Search for objects by preset"
 msgstr "Zoeken naar objecten met voorkeuze"
 
@@ -13385,6 +13548,9 @@ msgstr ""
 "Gebroken voorkeur voor taggen \"{0}-{1}\" - aantal items in "
 "''short_descriptions'' moet hetzelfde zijn als in ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "Dit komt overeen met de sleutel ''{0}''"
+
 msgid "More information about this feature"
 msgstr "Meer informatie over deze functionaliteit"
 
@@ -13483,19 +13649,36 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "onwaar: de eigenschap is expliciet uitgeschakeld"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "false: de eigenschap ''{0}'' is expliciet uitgeschakeld"
+
 msgid "true: the property is explicitly switched on"
 msgstr "waar: de eigenschap is expliciet ingeschakeld"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "true: de eigenschap ''{0}'' is expliciet ingeschakeld"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "gedeeltelijk: verschillende geselecteerde objecten hebben verschillende "
 "waarden, niet veranderen"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+"partial: verschillende geselecteerde objecten hebben verschillende waarden "
+"voor ''{0}'', wijzig ze niet"
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 "niet ingesteld: deze eigenschap niet voor de geselecteerde objecten instellen"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+"unset: stel de eigenschap ''{0}'' niet in voor de geselecteerde objecten"
+
 msgid "Cut"
 msgstr "Knippen"
 
@@ -14041,6 +14224,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Onverwachte waarde voor voorkeur ''{0}''. Kreeg ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "OSM Server bestanden"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Er trad een fout op bij het opslaan.<br>Fout is:<br>{0}</html>"
 
@@ -14057,9 +14243,6 @@ msgstr "OSM Server-bestanden gzip gecomprimeerd"
 msgid "Parsing OSM history data ..."
 msgstr "Ontleden van gegevens over historie van OSM ..."
 
-msgid "OSM Server Files"
-msgstr "OSM Server bestanden"
-
 msgid "Invalid dataset"
 msgstr "Ongeldige gegevensset"
 
@@ -14211,7 +14394,7 @@ msgid "Contacting Server..."
 msgstr "Met server verbinden..."
 
 msgid "Downloading OSM notes..."
-msgstr "Notities worden gedownload..."
+msgstr "Opmerkingen van OSM worden gedownload..."
 
 msgid ""
 "Could not connect to the OSM server. Please check your internet connection."
@@ -14267,9 +14450,6 @@ msgstr "Uploaden van gegevens ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Onverwachte ID voor primitief van OSM gevonden"
 
-msgid "OSM Server Files zip compressed"
-msgstr "OSM Server Bestanden zip-gecomprimeerd"
-
 msgid "Downloading data..."
 msgstr "Gegevens downloaden..."
 
@@ -14456,24 +14636,29 @@ msgstr ""
 "Afstandsbediening is gevraagd zijn protocolversie te rapporteren. Dit maakt "
 "het voor websites mogelijk om een werkende JOSM te detecteren."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Versie ''{0}'' van metagegevens voor geo-afbeeldingenlaag wordt niet "
-"ondersteund. Verwacht: 0.1"
+msgid "local file"
+msgstr "Lokaal bestand"
+
+msgid "include"
+msgstr "inclusief"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Laag bevat niet-opgeslagen gegevens - sla in bestand op."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Laag bevat geen niet-opgeslagen gegevens."
 
 msgid "Data:"
 msgstr "Gegevens:"
 
-msgid "local file"
-msgstr "Lokaal bestand"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Koppeling naar een gegevensbestand van OSM op uw lokale schijf."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Kopeling naar een GPX-bestand op uw lokale schijf."
+msgid "Include OSM data in the .joz session file."
+msgstr "Neem OSM-gegevens op in het bestand van de sessie (.joz)."
 
-msgid "include"
-msgstr "inclusief"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Link naar een GPX-gegevensbestand op uw lokale schijf."
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Neem GPX-gegevens op in het .joz sessiebestand."
@@ -14484,6 +14669,16 @@ msgstr "Geen bestandsassociatie"
 msgid "GPX data will be included in the session file."
 msgstr "GPX-gegevens zullen worden opgenomen in het sessiebestand."
 
+msgid "OSM data will be included in the session file."
+msgstr "OSM-gegevens zullen worden opgenomen in het bestand van de sessie."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Versie ''{0}'' van metagegevens voor geo-afbeeldingenlaag wordt niet "
+"ondersteund. Verwacht: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14507,20 +14702,9 @@ msgstr ""
 "Versie ''{0}'' van metadata voor markeringslaag wordt niet ondersteund. "
 "Verwacht: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Laag bevat niet-opgeslagen gegevens - sla in bestand op."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Laag bevat geen niet-opgeslagen gegevens."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Koppeling naar een gegevensbestand van OSM op uw lokale schijf."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Neem OSM-gegevens op in het bestand van de sessie (.joz)."
-
-msgid "OSM data will be included in the session file."
-msgstr "OSM-gegevens zullen worden opgenomen in het bestand van de sessie."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15393,9 +15577,6 @@ msgstr ""
 "groot.<br>Vraag om een kleiner gebied of gebruik een exportbestand dat is "
 "verschaft door de gemeenschap van OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Foutenbericht (niet vertaald): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15443,6 +15624,9 @@ msgstr "Downloaden doorgeleid naar ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Teveel doorgeleidingen naar de download-URL gedetecteerd. Afbreken."
 
+msgid "Fetching content..."
+msgstr "Inhoud ophalen..."
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Kan geen vertaling voor de locale {0} vinden. Val terug op {1}."
 
@@ -15453,9 +15637,6 @@ msgstr ""
 "Fataal: lokaliseren van afbeelding ''{0}'' mislukt. Dit is een serieus "
 "probleem in de configuratie. JOSM zal nu stoppen."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Lokaliseren van afbeelding ''{0}'' mislukt"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Afhandelen van zip-bestand ''{0}'' mislukt. Exceptie was: {1}"
 
@@ -15496,7 +15677,7 @@ msgid "reserved"
 msgstr "gereserveerd"
 
 msgid "Unable to delete old preferences file {0}"
-msgstr ""
+msgstr "Onmogelijk oude bestand met voorkeuren {0} te verwijderen"
 
 msgid "Outdated Java version"
 msgstr "Verouderde Java-versie"
@@ -15612,7 +15793,10 @@ msgstr ""
 "bevat geen JOSM-object of geschikte tekst. </p></html>"
 
 msgid "Unable to delete file {0}"
-msgstr ""
+msgstr "Onmogelijk bestand {0} te verwijderen"
+
+msgid "Unable to create directory {0}"
+msgstr "Kan geen map {0} maken"
 
 msgid "ms"
 msgstr "ms"
@@ -15944,9 +16128,6 @@ msgstr "Open geselecteerd bestand"
 msgid "Open selected file."
 msgstr "Open geselecteerd bestand."
 
-msgid "Refresh"
-msgstr "Vernieuwen"
-
 msgid "Rename File"
 msgstr "Bestand hernoemen"
 
@@ -16040,6 +16221,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Public Transport (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Wandelen & Fietsen"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (Duitse stijl)"
 
@@ -16106,6 +16290,9 @@ msgstr "OSM Inspector: Adressen"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Grenzen (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr "SIG Instituto Geográfico Nacional (WMTS)"
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI zwart-wit 2.5m"
 
@@ -16202,14 +16389,17 @@ msgstr "URBIS 2015 luchtfoto''s"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW(allonie) PICC numerieke afbeeldingen"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 luchtfoto"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW(allonie) 2015 luchtfoto’s"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 luchtfoto"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW(allonie) 2012-2013  luchtfoto’s"
 
-msgid "TEC bus lines"
-msgstr "TEC buslijnen"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW(allonie) 2009-2010  luchtfoto’s"
+
+msgid "TEC bus lines (2014)"
+msgstr "TEC buslijnen (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
@@ -16331,6 +16521,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Toulouse - Orthophotoplan 2015"
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -16353,9 +16546,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors -  luchtfoto''s "
 "1999 - 1 m"
 
-msgid "Hike & Bike"
-msgstr "Wandelen & Fietsen"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (taal: Servisch)"
 
@@ -16429,6 +16619,15 @@ msgstr "Drone afbeeldingen 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Drone-afbeeldingen Canaan(Haiti) november 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr "FÖMI ortophoto 2000"
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr "Interspect Budapest ortophoto 2014"
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr "Vijf districten van Budapest: III, IV, XIII, XIV, XV"
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
 
@@ -16462,11 +16661,14 @@ msgstr "OSMIE Local Election Areas"
 msgid "OSMIE Dail Election Areas"
 msgstr "OSMIE Dail Election Areas"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr "OSMIE T.ie Land niet in Counties"
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italië"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardije - Italië (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Lombardije - Italië (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Sicilië - Italië"
@@ -17190,6 +17392,9 @@ msgstr "Nieuwe gegevens downloaden als u pant/zoomt"
 msgid "Create a grid of ways."
 msgstr "Maak een raster van wegen."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -17739,7 +17944,7 @@ msgid "ground"
 msgstr "grond"
 
 msgid "sett"
-msgstr "Rechthoekig kasseien"
+msgstr "kasseien rechthoekig"
 
 msgid "Smoothness"
 msgstr "Gladheid"
@@ -17975,6 +18180,105 @@ msgstr "beperkt"
 msgid "Brand"
 msgstr "Merk"
 
+msgid "Cuisine"
+msgstr "Keuken"
+
+msgid "italian"
+msgstr "Italiaanse keuken"
+
+msgid "chinese"
+msgstr "Chinese keuken"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamburger"
+
+msgid "greek"
+msgstr "Grieks"
+
+msgid "german"
+msgstr "Duits"
+
+msgid "indian"
+msgstr "Indiaas"
+
+msgid "regional"
+msgstr "lokaal"
+
+msgid "kebab"
+msgstr "Kebab"
+
+msgid "turkish"
+msgstr "Turks"
+
+msgid "asian"
+msgstr "Oosters"
+
+msgid "thai"
+msgstr "Thais"
+
+msgid "mexican"
+msgstr "Mexicaans"
+
+msgid "japanese"
+msgstr "Japans"
+
+msgid "french"
+msgstr "Frans"
+
+msgid "sandwich"
+msgstr "sandwich"
+
+msgid "coffee_shop"
+msgstr "Koffieshop"
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr "steak_house"
+
+msgid "fish_and_chips"
+msgstr "vis_en_friet"
+
+msgid "chicken"
+msgstr "kip"
+
+msgid "american"
+msgstr "Amerikaans"
+
+msgid "ice_cream"
+msgstr "ijs"
+
+msgid "international"
+msgstr "internationaal"
+
+msgid "seafood"
+msgstr "zeevoedsel"
+
+msgid "spanish"
+msgstr "Spaans"
+
+msgid "vietnamese"
+msgstr "Vietnamees"
+
+msgid "fish"
+msgstr "vis"
+
+msgid "noodle"
+msgstr "noedels"
+
+msgid "barbecue"
+msgstr "barbecue"
+
+msgid "vegetarian"
+msgstr "vegetarisch"
+
+msgid "korean"
+msgstr "Koreaans"
+
 msgid "Internet access"
 msgstr "Internettoegang"
 
@@ -18548,8 +18852,11 @@ msgstr "Max. gewicht (ton)"
 msgid "Toll"
 msgstr "Tol"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "Is het water getijdegevoelig (verdwijnt regelmatig)?"
+msgid "Intermittent"
+msgstr "met onderbrekingen"
+
+msgid "Seasonal"
+msgstr "Seizoensgebonden"
 
 msgid "In the tidal range"
 msgstr "In bereik van getijde"
@@ -18925,7 +19232,7 @@ msgid "Tourist buses"
 msgstr "Toeristenbussen"
 
 msgid "Max. speed Heavy Goods Vehicles (km/h)"
-msgstr ""
+msgstr "Max. snelheid  zwaar verkeer (km/h)"
 
 msgid "Min. speed (km/h)"
 msgstr "Min. snelheid (km/u)"
@@ -19319,26 +19626,30 @@ msgstr "In het geval van verkeerstekens:"
 msgid "Traffic Calming"
 msgstr "Verkeersremmers"
 
-msgid "bump"
-msgstr "ribbel"
+msgid "Bump"
+msgstr ""
 
-msgid "chicane"
-msgstr "asverschuiving"
+msgid "Chicane"
+msgstr ""
 
-msgid "choker"
-msgstr "versmalling"
+msgid "Choker"
+msgstr ""
 
-msgid "cushion"
-msgstr "Verkeerskussen"
+msgid "Cushion"
+msgstr ""
 
-msgid "hump"
-msgstr "verkeersdrempel"
+msgid "Hump"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "akoestische kantmarkering"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "table"
-msgstr "verkeersplateau"
+msgid "Rumble strip"
+msgstr ""
+
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Passeerstrook"
@@ -19489,6 +19800,9 @@ msgstr "Stadsmuur"
 msgid "Retaining Wall"
 msgstr "Keermuur"
 
+msgid "Jersey Barrier"
+msgstr "Jersey-barrière"
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Gracht"
@@ -19661,6 +19975,9 @@ msgstr "rivier"
 msgid "Salt Water"
 msgstr "Zout water"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "Is het water getijdegevoelig (verdwijnt regelmatig)?"
+
 msgid "Coastline"
 msgstr "Kustlijn"
 
@@ -19725,16 +20042,6 @@ msgid ""
 msgstr ""
 "Een groot water, gedeeltelijk omsloten door land maar met een brede monding."
 
-msgid "Cliff"
-msgstr "Klif"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Een steile rotsformatie, significant verticaal, of bijna verticaal (laat de "
-"lage zijde aan de rechterkant van de weg)."
-
 msgid "Shipping"
 msgstr "Scheepvaart"
 
@@ -20666,66 +20973,6 @@ msgstr "Eten en drinken"
 msgid "Restaurant"
 msgstr "Restaurant"
 
-msgid "Cuisine"
-msgstr "Keuken"
-
-msgid "italian"
-msgstr "Italiaanse keuken"
-
-msgid "chinese"
-msgstr "Chinese keuken"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hamburger"
-
-msgid "greek"
-msgstr "Grieks"
-
-msgid "german"
-msgstr "Duits"
-
-msgid "indian"
-msgstr "Indiaas"
-
-msgid "regional"
-msgstr "lokaal"
-
-msgid "kebab"
-msgstr "Kebab"
-
-msgid "turkish"
-msgstr "Turks"
-
-msgid "asian"
-msgstr "Oosters"
-
-msgid "thai"
-msgstr "Thais"
-
-msgid "mexican"
-msgstr "Mexicaans"
-
-msgid "japanese"
-msgstr "Japans"
-
-msgid "french"
-msgstr "Frans"
-
-msgid "sandwich"
-msgstr "sandwich"
-
-msgid "coffee_shop"
-msgstr "Koffieshop"
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr "steak_house"
-
 msgid "Microbrewery"
 msgstr "Microbrouwerij"
 
@@ -20738,20 +20985,14 @@ msgstr "Afhalen"
 msgid "Fast Food"
 msgstr "Fastfood"
 
-msgid "fish_and_chips"
-msgstr "vis_en_friet"
-
-msgid "chicken"
-msgstr "kip"
-
 msgid "Food Court"
 msgstr "Lopend buffet"
 
 msgid "Cafe"
 msgstr "Koffie-/Theehuis"
 
-msgid "ice_cream"
-msgstr "ijs"
+msgid "Ice cream"
+msgstr "IJs"
 
 msgid "Pub"
 msgstr "Café/Kroeg"
@@ -20930,6 +21171,12 @@ msgstr "Amusements-/Themapark"
 msgid "Water Park"
 msgstr "Zwembad"
 
+msgid "Swimming Pool"
+msgstr "Zwembad"
+
+msgid "Used for the water area only."
+msgstr "Alleen gebruiken voor het gebied met water"
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20964,9 +21211,6 @@ msgstr "Vuurplaats"
 msgid "Fishing"
 msgstr "Visstek"
 
-msgid "Private Swimming Pool"
-msgstr "Privézwembad"
-
 msgid "Night Club"
 msgstr "Nachtclub"
 
@@ -21009,12 +21253,18 @@ msgstr "standbeeld"
 msgid "Artist Name"
 msgstr "Naam artiest"
 
-msgid "Recording Studio"
-msgstr "Opnamestudio"
+msgid "Studio"
+msgstr "Studio"
 
 msgid "audio"
 msgstr "audio"
 
+msgid "radio"
+msgstr "radio"
+
+msgid "television"
+msgstr "televisie"
+
 msgid "video"
 msgstr "video"
 
@@ -21118,6 +21368,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "Zevende dag-adventisten"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr "spiritueel"
+
 msgid "Mosque"
 msgstr "Moskee"
 
@@ -21277,30 +21531,149 @@ msgstr "(Gebruik de landtoegangscode, b.v. +31-20-3456789)"
 msgid "Veterinary"
 msgstr "Dierenarts"
 
+msgid "Emergency"
+msgstr "Hulpdiensten"
+
+msgid "Ambulance Station"
+msgstr "Ambulance"
+
+msgid "Automated Defibrillator"
+msgstr "Automatische defibrillator"
+
+msgid "Located inside a building?"
+msgstr "Binnen een gebouw geplaatst?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Laatste controledatum (JJJJ-MM-DD)"
+
+msgid "Last check note"
+msgstr "Laatste controle - opmerking"
+
+msgid "Fire Extinguisher"
+msgstr "Brandblusser"
+
+msgid "Indoor"
+msgstr "Inpandig"
+
+msgid "Fire Hose"
+msgstr "Brandslang"
+
+msgid "Fire Hydrant"
+msgstr "Brandkraan"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "ondergronds"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "pilaar"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "muur"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "vijver"
+
+msgid "Diameter (in mm)"
+msgstr "Diameter (in mm)"
+
+msgid "Hydrant Position"
+msgstr "Positie hydrant"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "rijstrook"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parkeerplaats"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "trottoir"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "groen"
+
+msgid "Pressure (in bar)"
+msgstr "Druk (in bar)"
+
+msgid "suction"
+msgstr "afzuiging"
+
+msgid "Count"
+msgstr "Aantal"
+
+msgid "Water Tank"
+msgstr "Watertank"
+
+msgid "Volume (in liters)"
+msgstr "Volume (in liters)"
+
+msgid "Assembly Point"
+msgstr "Verzamelpunt"
+
+msgid "Emergency Phone"
+msgstr "Praatpaal"
+
+msgid "Siren"
+msgstr "Sirene"
+
+msgid "pneumatic"
+msgstr "pneumatisch"
+
+msgid "electronic"
+msgstr "electronisch"
+
+msgid "mechanical"
+msgstr "mechanisch"
+
+msgid "Purpose"
+msgstr "Doel"
+
+msgid "tornado"
+msgstr "tornado"
+
+msgid "fire"
+msgstr "brand"
+
+msgid "air_raid"
+msgstr "lucht_aanval"
+
+msgid "civil_defense"
+msgstr "bescherming_bevolking"
+
+msgid "Range (in meters)"
+msgstr "Bereik (in meters)"
+
 msgid "Social Facility"
-msgstr ""
+msgstr "Sociale faciliteit"
 
 msgid "Nursing Home"
 msgstr "Verpleeghuis"
 
 msgid "Group Home"
-msgstr ""
+msgstr "Groepshuis"
 
 msgid "For"
-msgstr ""
+msgstr "Voor"
 
 msgid "Assisted Living"
-msgstr ""
+msgstr "Begeleid wonen"
 
 msgid "Outreach"
 msgstr ""
 
 msgctxt "social_facility"
 msgid "Shelter"
-msgstr ""
+msgstr "Schuilplaats"
 
 msgid "Food Bank"
-msgstr ""
+msgstr "Voedselbank"
 
 msgid "Toilets/Restrooms"
 msgstr "Toiletten/Wasruimten"
@@ -21346,10 +21719,10 @@ msgstr "urinoir"
 
 msgctxt "toilets"
 msgid "Diaper"
-msgstr ""
+msgstr "Luier"
 
 msgid "room"
-msgstr ""
+msgstr "kamer"
 
 msgid "Post Box"
 msgstr "Brievenbus"
@@ -21384,29 +21757,14 @@ msgstr "Munten"
 
 msgctxt "payment"
 msgid "Notes"
-msgstr "Notities"
+msgstr "Bankbiljetten"
 
 msgid "Telephone cards"
 msgstr "Telefoonkaarten"
 
-msgid "Emergency Phone"
-msgstr "Praatpaal"
-
 msgid "Internet Access"
 msgstr "Internettoegang"
 
-msgid "Automated Defibrillator"
-msgstr "Automatische defibrillator"
-
-msgid "Located inside a building?"
-msgstr "Binnen een gebouw geplaatst?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Laatste controledatum (JJJJ-MM-DD)"
-
-msgid "Last check note"
-msgstr "Laatste controle - opmerking"
-
 msgid "Clock"
 msgstr "Klok"
 
@@ -21569,64 +21927,15 @@ msgctxt "height"
 msgid "full"
 msgstr "volledig"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Verborgen"
+msgstr ""
 
 msgid "Lock"
 msgstr "Afgesloten"
 
-msgid "Indoor"
-msgstr "Inpandig"
-
-msgid "Fire Hydrant"
-msgstr "Brandkraan"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "ondergronds"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "pilaar"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "muur"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "vijver"
-
-msgid "Diameter (in mm)"
-msgstr "Diameter (in mm)"
-
-msgid "Hydrant Position"
-msgstr "Positie hydrant"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "rijstrook"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parkeerplaats"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "trottoir"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "groen"
-
-msgid "Pressure (in bar)"
-msgstr "Druk (in bar)"
-
-msgid "suction"
-msgstr "afzuiging"
-
-msgid "Count"
-msgstr "Aantal"
+msgid "Water Point"
+msgstr "Waterpunt"
 
 msgid "Compressed Air"
 msgstr "Luchtdruk"
@@ -21679,9 +21988,62 @@ msgstr "tartan"
 msgid "Racetrack"
 msgstr "Wedstrijdbaan"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golfbaan"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr "Tee"
+
+msgctxt "golf"
+msgid "Hole"
+msgstr "Hole"
+
+msgid "Par"
+msgstr "Par"
+
+msgid "Handicap rating"
+msgstr "Rang handicap"
+
+msgctxt "golf"
+msgid "Pin"
+msgstr "Pin"
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr "Bunker"
+
+msgctxt "golf"
+msgid "Natural"
+msgstr "Natuurlijk"
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr "Gevaar: water van voren"
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr "Gevaar: water van achteren"
+
+msgctxt "golf"
+msgid "Green"
+msgstr "Green"
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr "Fairway"
+
+msgctxt "golf"
+msgid "Rough"
+msgstr "Rough"
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr "Driving range"
+
 msgid "Miniature Golf"
 msgstr "Minigolf"
 
@@ -21906,9 +22268,6 @@ msgstr "Beach-volleybal"
 msgid "Billiards"
 msgstr "Biljarten"
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golfbaan"
 
@@ -22073,6 +22432,10 @@ msgid "gasometer"
 msgstr "gashouder"
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "koeienschuur"
 
@@ -22081,6 +22444,38 @@ msgid "construction"
 msgstr "constructie"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "basiliek"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "kathedraal"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "kapel"
+
+msgctxt "building"
+msgid "church"
+msgstr "kerk"
+
+msgctxt "building"
+msgid "temple"
+msgstr "tempel"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "moskee"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "synagoge"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr "transformatie_toren"
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Niveaus"
 
@@ -22193,6 +22588,9 @@ msgstr "Windmolen"
 msgid "Gasometer"
 msgstr "Olieopslag"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "Opslagtank"
 
@@ -22594,6 +22992,14 @@ msgstr "munitie"
 msgid "hardened_aircraft_shelter"
 msgstr "versterkte_schuilplaats_vliegtuigen"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "ondergronds"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "bovengronds"
+
 msgid "Historic"
 msgstr "Historisch"
 
@@ -22603,6 +23009,9 @@ msgstr "Ruïne"
 msgid "Range"
 msgstr "Bereik"
 
+msgid "Power"
+msgstr "Energie"
+
 msgid "Power Plant"
 msgstr "Electriciteitscentrale"
 
@@ -23036,11 +23445,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Verdeelkast"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Hoogspanningsmast"
+msgid "Transformer Tower"
+msgstr "Transformatietoren"
+
+msgid "Power Portal"
+msgstr "Electriciteitsportaal"
 
 msgid "Type of construction"
 msgstr "Type constructie"
@@ -23061,6 +23473,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "rood/wit"
 
+msgid "Portal design"
+msgstr "Ontwerp portaal"
+
+msgctxt "power"
+msgid "portal"
+msgstr "portaal"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portaal_twee niveaus"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portaal_drie niveaus"
+
+msgid "Power Tower"
+msgstr "Hoogspanningsmast"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Type mast"
@@ -23184,18 +23614,6 @@ msgid "guyed_h-frame"
 msgstr "gekabeld_H-frame"
 
 msgctxt "power"
-msgid "portal"
-msgstr "portaal"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "portaal_twee niveaus"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "portaal_drie niveaus"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "gekabeld_V-frame"
 
@@ -23228,6 +23646,9 @@ msgstr "Attributen voor masten:"
 msgid "Transformer Attributes:"
 msgstr "Attributen voor transformator:"
 
+msgid "Insulator"
+msgstr "Isolatie"
+
 msgid "Power Line"
 msgstr "Hoogspanningskabel"
 
@@ -23485,6 +23906,9 @@ msgstr "Woonwarenhuis"
 msgid "Kitchen"
 msgstr "Keukenzaak"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Gordijnenwinkel"
 
@@ -23527,12 +23951,21 @@ msgstr "Voor het lichaam"
 msgid "Chemist"
 msgstr "Drogisterij"
 
-msgid "Hairdresser/Barber"
-msgstr "Kapper/Barbier"
+msgid "Cosmetics"
+msgstr "Cosmetica"
+
+msgid "Perfumery"
+msgstr "Parfumerie"
 
 msgid "Beauty"
 msgstr "Schoonheidssalon"
 
+msgid "Tobacco"
+msgstr "Tabak"
+
+msgid "Hairdresser/Barber"
+msgstr "Kapper/Barbier"
+
 msgid "Tattoo"
 msgstr "Tattooshop"
 
@@ -23858,6 +24291,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Telecommunicatie"
 
+msgid "Craft"
+msgstr "Handwerken"
+
+msgid "Carpenter"
+msgstr "Timmerman"
+
+msgid "Shoemaker"
+msgstr "Schoenmaker"
+
+msgid "Photographer"
+msgstr "Fotograaf"
+
+msgid "Metal construction"
+msgstr "Metaalconstructie"
+
+msgid "Electrician"
+msgstr "Electriciën"
+
+msgid "Brewery"
+msgstr "Brouwerij"
+
+msgid "Plumber"
+msgstr "Loodgieter"
+
+msgid "Sawmill"
+msgstr "Houtzagerij"
+
+msgid "Gardener"
+msgstr "Tuinman"
+
+msgid "Winery"
+msgstr "Wijnmakerij"
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr "Schilder"
+
+msgid "Stonemason"
+msgstr "Metselaar"
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr "Pottenbakkerij"
+
+msgid "Key cutter"
+msgstr "Sleutelmaker"
+
+msgid "Caterer"
+msgstr "Caterer"
+
+msgid "Roofer"
+msgstr "Dakdekker"
+
+msgid "Beekeeper"
+msgstr "Imker"
+
+msgid "Blacksmith"
+msgstr "Smid"
+
+msgid "Locksmith"
+msgstr "Slotenmaker"
+
+msgid "Window construction"
+msgstr "Kozijnen maken"
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geografie"
 
@@ -24028,6 +24536,16 @@ msgstr "Vallei"
 msgid "A low area between hills."
 msgstr "Een laag gebied tussen heuvels."
 
+msgid "Cliff"
+msgstr "Klif"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Een steile rotsformatie, significant verticaal, of bijna verticaal (laat de "
+"lage zijde aan de rechterkant van de weg)."
+
 msgid "Cave Entrance"
 msgstr "Grotingang"
 
@@ -24235,6 +24753,51 @@ msgstr "Weide"
 msgid "Orchard"
 msgstr "Boomgaard"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr "amandel_bomen"
+
+msgid "banana_plants"
+msgstr "bananen_planten"
+
+msgid "coconut_palms"
+msgstr "kokosnoot_palmen"
+
+msgid "hazel_plants"
+msgstr "hazelnoot_planten"
+
+msgid "cherry_trees"
+msgstr "kersen_bomen"
+
+msgid "persimmon_trees"
+msgstr "persimoen_bomen"
+
+msgid "walnut_trees"
+msgstr "walnoot_bomen"
+
+msgid "plum_trees"
+msgstr "pruimen_bomen"
+
+msgid "peach_trees"
+msgstr "perzik_bomen"
+
+msgid "tea_plants"
+msgstr "thee_planten"
+
 msgid "Vineyard"
 msgstr "Wijngaard"
 
@@ -25034,9 +25597,6 @@ msgstr "{0} en {1} samen met {2} en conflicterende waarden"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Verdachte tagcombinatie: {0} en {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} is vervallen"
-
 msgid "{0} is deprecated"
 msgstr "{0} is vervallen"
 
@@ -25063,8 +25623,8 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} is vervallen. Gebruik in plaats daarvan een multipolygoon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr ""
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -25116,6 +25676,15 @@ msgstr "niet algemene korte sleutel"
 msgid "{0} is inaccurate"
 msgstr "{0} is niet accuraat"
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} op een knoop. Zou moeten wordne gebruikt op een weg."
 
@@ -25131,6 +25700,9 @@ msgstr "{0} op een weg. Zou moeten worden gebruikt op een knoop."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} op een weg. Zou moeten worden gebruikt in een relatie"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} op een knoop"
 
@@ -25158,6 +25730,9 @@ msgstr "{0} moet worden verbonden aan een weg"
 msgid "node connects waterway and bridge"
 msgstr "knoop verbindt waterweg en brug"
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "afgekorte straatnaam"
 
@@ -25201,8 +25776,8 @@ msgstr "laagtag met een + teken"
 msgid "layer should be between -5 and 5"
 msgstr "laag zou moeten liggen tussen -5 en 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "niveau zou getal moeten zijn met optioneel verhogingen met .5"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr ""
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -28990,8 +29565,8 @@ msgstr "afbeeldingen"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr "Lettertype van verkeersteken op ''{0}'' heeft de verkeerde indeling"
 
-msgid "Could not read font-file from ''{{0}}''."
-msgstr "Kon bestand voor lettertype niet lezen vanaf ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
+msgstr ""
 
 msgid "Mapillary"
 msgstr "Mapillary"
@@ -29306,6 +29881,9 @@ msgstr "Log-in voor Mapillary"
 msgid "Login successful, return to JOSM."
 msgstr "Log-in succesvol, terug naar JOSM."
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr "Afbeeldingen van Mapillary downloaden"
 
@@ -29321,6 +29899,18 @@ msgstr "Uploaden voltooid"
 msgid "Uploading: {0}"
 msgstr "Uploaden: {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Gemeten waarden"
 
@@ -30381,64 +30971,64 @@ msgid "Edit photo GPS data"
 msgstr ""
 
 msgid "Edit GPS data of selected photo."
-msgstr ""
+msgstr "GPS-gegevens van geselecteerde foto bewerken."
 
 msgid "Edit Photo GPS Data"
-msgstr ""
+msgstr "GPS-gegevens van foto bewerken"
 
 msgid "Please select an image first."
-msgstr ""
+msgstr "Selecteer eerst een afbeelding."
 
 msgid "No image selected"
-msgstr ""
+msgstr "Geen afbeelding geselecteerd"
 
 msgid "(Empty values delete the according fields.)"
-msgstr ""
+msgstr "(Lege waarden verwijderen de overeenkomende velden)"
 
 msgid "coordinates"
 msgstr "coördinaten"
 
 msgid "Latitude and longitude"
-msgstr ""
+msgstr "Latitude en longitude"
 
 msgid "Edit Image Coordinates"
-msgstr ""
+msgstr "Coördinaten van afbeelding bewerken"
 
 msgid "Edit coordinates in separate editor"
-msgstr ""
+msgstr "Coördinaten in afzonderlijke bewerker bewerken"
 
 msgid "altitude"
-msgstr ""
+msgstr "breedtegraad"
 
 msgid "Altitude:"
-msgstr ""
+msgstr "Breedtegraad:"
 
 msgid "speed"
-msgstr ""
+msgstr "snelheid"
 
 msgid "positive number or empty"
-msgstr ""
+msgstr "positief getal of leeg"
 
 msgid "Speed:"
-msgstr ""
+msgstr "Snelheid:"
 
 msgid "direction"
-msgstr ""
+msgstr "oriëntatie"
 
 msgid "range -360.0 .. 360.0, or empty"
-msgstr ""
+msgstr "bereik -360.0 .. 360.0, of leeg"
 
 msgid "Direction:"
-msgstr ""
+msgstr "Richting:"
 
 msgid "°"
-msgstr ""
+msgstr "°"
 
 msgid "Undo changes made in this dialog"
-msgstr ""
+msgstr "Maak wijzigingen in dit dialoogvenster ongedaan"
 
 msgid "Reload GPS data from image file"
-msgstr ""
+msgstr "GPS-gegevens uit afbeeldingsbestand herladen"
 
 msgid "New layer for untagged images"
 msgstr "Nieuwe laag voor niet-getagde afbeeldingen"
@@ -30758,6 +31348,12 @@ msgstr "Plug-in Proj4J"
 msgid "Code"
 msgstr "Code"
 
+msgid "Can''t parse a time from this string."
+msgstr "Kan geen tijd parsen uit deze tekenreeks."
+
+msgid "Invalid value"
+msgstr "Ongeldige waarde"
+
 msgid "added"
 msgstr "toegevoegd"
 
@@ -30846,15 +31442,6 @@ msgstr "Vangen"
 msgid "Join"
 msgstr "Verbinden"
 
-msgid "Enable"
-msgstr "Inschakelen"
-
-msgid "Can''t parse a time from this string."
-msgstr "Kan geen tijd parsen uit deze tekenreeks."
-
-msgid "Invalid value"
-msgstr "Ongeldige waarde"
-
 msgid "moved"
 msgstr "verplaatst"
 
@@ -33045,6 +33632,10 @@ msgstr "De weg met geselecteerde knopen kan niet worden recht getrokken."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Interne fout: aantal knopen is {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+"Alle tags van geselecteerde objecten kopiëren om in buffer te plakken."
+
 msgid "Extract node"
 msgstr "Knoop weghalen"
 
@@ -33719,6 +34310,11 @@ msgstr[1] "Ophalen {0} Wikigegevens-ID''s voor taal ''{1}''"
 msgid "Add Wikidata for language ''{0}''"
 msgstr "Wikigegevens toevoegen voor taal ''{0}''"
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Voeg namen vanaf Wikipedia toe"
 
@@ -33813,5 +34409,5 @@ msgstr "Begin te rijden"
 msgid "Drive a race car on this layer"
 msgstr "Rijd met een raceauto over deze laag"
 
-#~ msgid "Retirement Home"
-#~ msgstr "Verzorgingshuis"
+#~ msgid "Could not read font-file from ''{{0}}''."
+#~ msgstr "Kon bestand voor lettertype niet lezen vanaf ''{{0}}''."
diff --git a/i18n/po/nn.po b/i18n/po/nn.po
index 9c2a64c..eed62e2 100644
--- a/i18n/po/nn.po
+++ b/i18n/po/nn.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:54+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:53+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: nn\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr "Slett"
 msgid "Delete selected objects."
 msgstr "Slett dei valde objekta."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/oc.po b/i18n/po/oc.po
index e0c02f3..91c9b55 100644
--- a/i18n/po/oc.po
+++ b/i18n/po/oc.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:55+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:54+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -391,6 +391,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr "Inversar los camins"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -448,6 +451,12 @@ msgstr "Suprimir"
 msgid "Delete selected objects."
 msgstr "Suprimir los objèctes seleccionats"
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1179,9 +1188,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr "Inversar los camins"
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1514,6 +1520,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2232,6 +2248,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2273,6 +2294,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2627,7 +2657,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3190,9 +3223,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3251,6 +3281,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3478,6 +3511,9 @@ msgstr "tèxte"
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3555,12 +3591,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3570,6 +3618,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4136,6 +4202,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4830,9 +4899,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4891,12 +4957,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4923,6 +4983,18 @@ msgstr "Utilizaire :"
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5742,6 +5814,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5858,6 +5942,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6283,6 +6370,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6630,19 +6720,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6744,6 +6828,18 @@ msgstr "Dobrir"
 msgid "closed"
 msgstr "tampat"
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7071,7 +7167,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7107,6 +7203,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7174,6 +7273,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7286,9 +7406,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7319,108 +7436,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
-msgstr "Inversar"
+msgid "Reload"
+msgstr "Tornar cargar"
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr ""
+msgid "Apply Changes"
+msgstr "Aplicar los cambiaments"
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7439,6 +7531,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7447,48 +7542,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7496,61 +7580,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
-msgstr "Tornar cargar"
+msgid "Remove the currently selected members from this relation"
+msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
-msgstr "Aplicar los cambiaments"
+msgid "Reverse"
+msgstr "Inversar"
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7938,6 +8086,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8041,10 +8194,14 @@ msgid "Upload"
 msgstr "Mandar"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8224,9 +8381,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8739,7 +8893,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8748,31 +8902,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8781,10 +8932,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9204,6 +9355,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9228,9 +9382,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9583,9 +9734,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9630,6 +9779,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9686,11 +9841,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9806,6 +9956,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10166,6 +10322,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10247,18 +10412,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10910,9 +11066,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11184,6 +11337,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11813,12 +11969,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11908,6 +12058,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11978,6 +12131,9 @@ msgstr ""
 msgid "Presets"
 msgstr "Prereglatges"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12021,6 +12177,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12109,16 +12268,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12598,6 +12771,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12612,9 +12788,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12807,9 +12980,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12978,21 +13148,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13004,6 +13181,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13021,19 +13206,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13716,9 +13890,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13750,6 +13921,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13758,9 +13932,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13894,6 +14065,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14202,9 +14376,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14298,6 +14469,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14364,6 +14538,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14460,13 +14637,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14589,6 +14769,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14609,9 +14792,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14682,6 +14862,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14715,10 +14904,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15414,6 +15606,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16069,13 +16264,112 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
+msgstr ""
+
+msgid "pizza"
+msgstr ""
+
+msgid "burger"
+msgstr ""
+
+msgid "greek"
+msgstr ""
+
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
 msgstr ""
 
 msgid "terminal"
@@ -16636,7 +16930,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17390,25 +17687,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17558,6 +17859,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17728,6 +18032,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17790,14 +18097,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18726,66 +19025,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18798,19 +19037,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18988,6 +19221,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19022,9 +19261,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19067,12 +19303,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19176,6 +19418,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19335,6 +19581,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19447,24 +19812,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19627,63 +19977,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19737,9 +20038,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19964,9 +20318,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20131,6 +20482,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20139,6 +20494,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20251,6 +20638,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20652,6 +21042,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20661,6 +21059,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21092,10 +21493,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21117,6 +21521,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21240,18 +21662,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21284,6 +21694,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21541,6 +21954,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21583,12 +21999,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21914,6 +22339,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22082,6 +22582,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22282,6 +22790,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23076,9 +23629,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23100,7 +23650,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23144,6 +23694,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23159,6 +23718,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23186,6 +23748,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23227,7 +23792,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26651,7 +27216,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26964,6 +27529,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26979,6 +27547,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28320,6 +28900,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28406,15 +28992,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30401,6 +30978,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30989,6 +31569,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/pa.po b/i18n/po/pa.po
index 0b1cffa..787bf1e 100644
--- a/i18n/po/pa.po
+++ b/i18n/po/pa.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:56+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:55+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: pa\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/pl.po b/i18n/po/pl.po
index e7eacc4..24ae43c 100644
--- a/i18n/po/pl.po
+++ b/i18n/po/pl.po
@@ -7,20 +7,20 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2015-12-29 10:34+0000\n"
-"Last-Translator: Piotr Strębski <strebski at o2.pl>\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-08 20:58+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"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:57+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:56+0000\n"
+"X-Generator: Launchpad (build 17923)\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"
+"X-Poedit-Basepath: /home/mfloryan/dev/josm/i18n\n"
 
 msgid "Cutting"
 msgstr "Wykop"
@@ -417,6 +417,9 @@ msgid ""
 msgstr ""
 "Nie można połączyć linii<br>(Nie mogą zostać połączone w jeden ciąg węzłów)"
 
+msgid "Reverse Ways"
+msgstr "Odwróć kierunek linii"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Połącz {0} linię"
@@ -475,6 +478,12 @@ msgstr "Usuń"
 msgid "Delete selected objects."
 msgstr "Usuwa wybrane obiekty"
 
+msgid "Delete Layer"
+msgstr "Usuń warstwę"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Przełącz panel dialogowy"
 
@@ -1277,9 +1286,6 @@ msgstr "Kliknij, aby zrestartować później."
 msgid "Reverse way"
 msgstr "Odwróć kierunek linii"
 
-msgid "Reverse Ways"
-msgstr "Odwróć kierunek linii"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Zmienia kierunek wszystkich zaznaczonych linii na przeciwny."
 
@@ -1656,6 +1662,16 @@ msgstr ""
 "problem, bo obiekty te nie są teraz widoczne w ich prawidłowej "
 "formie.<br>Czy napewno chcesz rozdzielić?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Odłącz punkt od linii"
 
@@ -2447,6 +2463,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Dodaj zaznaczenie do relacji"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Dodaj zaznaczenie do {0} relacji"
@@ -2496,6 +2517,15 @@ msgstr[2] ""
 msgid "Confirmation"
 msgstr "Potwierdzenie"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Edytor Relacji: {0}"
+
 msgid "Select in relation list"
 msgstr "Zaznacz na liście relacji"
 
@@ -2870,8 +2900,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Oczekiwano <i>min</i>/<i>max</i> po ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr "Oczekiwany zakres identyfikatorów elementów"
@@ -3520,9 +3553,6 @@ msgstr ""
 "Spróbuj włączyć obsługę adresów IPv6 i preferuj adresy IPv6 nad IPv4 (działa "
 "tylko na początku rozruchu)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (linia {0}, kolumna {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Ustawienie {0} zostało usunięte, ponieważ nie jest już używane."
 
@@ -3582,6 +3612,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "Odwzorowanie \"{0}\" nie zostało znalezione, zakładka \"{1}\" nie może "
@@ -3833,6 +3866,9 @@ msgstr "tekst"
 msgid "areatext"
 msgstr "obszar tekstowy"
 
+msgid " (at line {0}, column {1})"
+msgstr " (linia {0}, kolumna {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "Projekcja UTM (''+proj=utm'') wymaga parametru ''+zone=...''."
 
@@ -3914,12 +3950,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parametr ''{0}'' jest wymagany."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Projekcja Stożkowa Lamberta"
 
@@ -3929,6 +3977,24 @@ msgstr "Szer./dł. (geodetyczne)"
 msgid "Mercator"
 msgstr "odwzorowanie Merkatora"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Szwajcarskie odwzorowanie Merkatora"
 
@@ -4529,6 +4595,9 @@ msgstr "Nieprawidłowy odstęp (space) w kluczu właściwości"
 msgid "Property values start or end with white space"
 msgstr "Wartość zaczyna się lub kończy odstępem (space)"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Wartość zawiera kody HTML"
 
@@ -5242,20 +5311,17 @@ msgid "Toggles the visibility of the edit toolbar (i.e., the vertical tool)"
 msgstr "Włącza/wyłącza boczny pasek narzędzi"
 
 msgid "Preset preferences"
-msgstr "Zarządzaj szablonami/presetami"
+msgstr "Ustawienia szablonów"
 
 msgid "Click to open the tagging presets tab in the preferences"
 msgstr "Kliknij by otworzyć w ustawieniach zakładkę szablonów tagowania"
 
 msgid "Imagery preferences"
-msgstr "Konfiguracja"
+msgstr "Ustawienia podkładów"
 
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Wyświetla kartę konfiguracji podkładów w oknie preferencji"
 
-msgid "Search menu items"
-msgstr "Wyszukaj w menu"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Dźwięk"
@@ -5314,12 +5380,6 @@ msgstr "Pierwszy plan paska stanu: aktywny"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Szerokość geograficzna punktu wskazywanego przez kursor."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Długość geograficzna punktu wskazywanego przez kursor."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Namiar (kompasowy) tworzonego odcinka."
 
@@ -5348,6 +5408,18 @@ msgstr "Użytkownik:"
 msgid "Do not hide status bar"
 msgstr "Nie ukrywaj paska statusu"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Szerokość geograficzna punktu wskazywanego przez kursor."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Długość geograficzna punktu wskazywanego przez kursor."
+
 msgid "System of measurement changed to {0}"
 msgstr "Zmieniono system miar na {0}"
 
@@ -5971,7 +6043,7 @@ msgid "Choose a value"
 msgstr "Wybierz wartość"
 
 msgid "none"
-msgstr "żadne"
+msgstr "brak"
 
 msgid "all"
 msgstr "wszystkie"
@@ -6234,6 +6306,18 @@ msgstr "Rozwiąż"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Wykryto {0} konflikt."
@@ -6352,6 +6436,9 @@ msgstr "Przesuwa filtr na dół."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filtry ukryte:{0}, wyłączone:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Błąd w filtrze"
 
@@ -6797,6 +6884,9 @@ msgstr "Ustawienia stylu"
 msgid "Customize the style"
 msgstr "Dostosuj styl"
 
+msgid "Search menu items"
+msgstr "Wyszukaj w menu"
+
 msgid "Mini map"
 msgstr "Mini mapa"
 
@@ -7160,21 +7250,15 @@ msgstr[2] ""
 "<html>Żaden z zaznaczonych obiektów nie jest dostępny w<br>edytowanej "
 "warstwie ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Pobierz zawartość"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Pobiera zawartość zestawu zmian z serwera OSM"
-
-msgid "Update content"
-msgstr "Aktualizuj zawartość"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Aktualizuje zawartość zestawu zmian z serwera OSM"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Pobiera i pokazuje historię wybranych obiektów"
 
+msgid "Download objects"
+msgstr "Pobrane obiekty"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "Zaznacz na warstwie"
 
@@ -7279,6 +7363,18 @@ msgstr "otwarty"
 msgid "closed"
 msgstr "zamknięty"
 
+msgid "Download content"
+msgstr "Pobierz zawartość"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Pobiera zawartość zestawu zmian z serwera OSM"
+
+msgid "Update content"
+msgstr "Aktualizuj zawartość"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Aktualizuje zawartość zestawu zmian z serwera OSM"
+
 msgid "Changeset ID: "
 msgstr "ID zestawu zmian: "
 
@@ -7643,8 +7739,8 @@ msgstr "Edytuj wartość wybranego klucza dla wszystkich obiektów"
 msgid "Edit Tags"
 msgstr "Edytuj tagi"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Przejdź do wiki OSM by uzyskać pomoc na temat tagu (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Uruchom przeglądarkę ze stroną objaśnienia wybranego obiektu"
@@ -7679,6 +7775,9 @@ msgstr "Kopiuj wszystkie klucze/wartości"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Skopiuj klucze i wartości wszystkich tagów do schowka"
 
+msgid "Copy Tags"
+msgstr "Skopiuj tagi"
+
 msgid "Search Key/Value/Type"
 msgstr "Wyszukaj klucz/wartość/typ"
 
@@ -7752,6 +7851,27 @@ msgstr "Ustal liczbę ostatnio dodanych tagów"
 msgid "Remember last used tags after a restart"
 msgstr "Pmiętaj ostatnio używane tagi po restarcie"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Aktywuj"
+
+msgid "Hide"
+msgstr "Zamaskowana"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "- zastosuj pierwszą podpowiedź"
 
@@ -7871,9 +7991,6 @@ msgstr "Nowa relacja"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr "Edytor Relacji: {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 "
@@ -7911,122 +8028,88 @@ msgstr ""
 "<html>Próbujesz dodać relację do siebie samej.<br><br>To stworzy cykliczną "
 "zależność i dlatego jest odradzane.<br>Pomijam relację ''{0}''.</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr ""
-"Dodaj wszystkie zaznaczone obiekty w bieżącym zestawie danych przed "
-"pierwszego członka"
+msgid "Select previous Gap"
+msgstr "Zaznacz poprzednią przerwę"
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
-"Dodaj wszystkie zaznaczone obiekty w bieżącym zestawie danych przed "
-"pierwszego zaznaczonego członka"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
+msgstr "Zaznacz kolejną przerwę"
+
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
-"Dodaj wszystkie zaznaczone obiekty w bieżącym zestawie danych po ostatnim "
-"zaznaczonym członku"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Usuń wszystkich członków wskazujących na jeden z wybranych obiektów"
+msgid "Zoom to Gap"
+msgstr "Przybliż widok na przerwę"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
-"Zaznacz członków relacji którzy odpowiadają obiektom obecnie zaznaczonym"
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Refers to"
+msgstr "Odnosi się do"
+
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
-"Zaznacz członków relacji którzy odpowiadają {0} obiektom obecnie zaznaczonym"
 
-msgid "Select objects for selected relation members"
-msgstr "Zaznacz obiekty dla zaznaczonych członków relacji"
+msgid "Download referring relations"
+msgstr ""
 
-msgid "Sort the relation members"
-msgstr "Sortuj elementy relacji"
+msgid "There were {0} conflicts during import."
+msgstr "Wystąpił/o {0} koflikt/ów podczas wysyłania."
 
-msgid "Relation Editor: Sort"
-msgstr "Edytor relacji: Sortowanie"
+msgid "including immediate children of parent relations"
+msgstr "w tym bezpośrednie relacje potomne"
 
-msgid "Sort below"
-msgstr ""
+msgid "Load parent relations"
+msgstr "Wczytuje relacje nadrzędne"
 
-msgid "Sort the selected relation members and all members below"
-msgstr ""
+msgid "Reload"
+msgstr "Wczytaj ponownie"
 
-msgid "Reverse the order of the relation members"
-msgstr "Odwróć kolejność członków relacji"
+msgid "Loading parent relations"
+msgstr "Wczytywanie relacji nadrzędnych"
 
-msgid "Reverse"
-msgstr "Odwróć"
+msgid "Edit the currently selected relation"
+msgstr "Edytuj wybraną relację"
 
-msgid "Move the currently selected members up"
-msgstr "Przesuń aktualnie zaznaczonych członkół w górę"
+msgid "Apply Changes"
+msgstr "Zastosuj zmiany"
 
-msgid "Relation Editor: Move Up"
-msgstr "Edytor relacji: Przenieś w górę"
+msgid "Create new relation in layer ''{0}''"
+msgstr "Utwórz nową relację na warstwie \"{0}\""
 
-msgid "Move the currently selected members down"
-msgstr "Przesuwa wybrane węzły tak, aby znajdowały się w jednej linii."
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Edytuj nową relację na warstwie \"{0}\""
 
-msgid "Relation Editor: Move Down"
-msgstr "Edytor relacji: Przenieś w dół"
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Edycja relacji #{0} w warstwie \"{1}\""
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Usuwa zaznaczonych członków tej relacji"
+msgid "Load relation"
+msgstr "Wczytaj relacje"
 
-msgid "Relation Editor: Remove"
-msgstr "Edytor relacji: Usuń"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Dodaj wszystkie zaznaczone obiekty w bieżącym zestawie danych po ostatnim "
+"zaznaczonym członku"
 
-msgid "Delete the currently edited relation"
-msgstr "Usuwa obecnie edytowaną relację"
+msgid ""
+"Add all objects selected in the current dataset before the first member"
+msgstr ""
+"Dodaj wszystkie zaznaczone obiekty w bieżącym zestawie danych przed "
+"pierwszego członka"
 
 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."
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
-"Jeden lub więcej członków zostało usuniętych z relacji kiedy edytor\n"
-"relacji był otwarty. Zostaną one usunięte z listy członków."
+"Dodaj wszystkie zaznaczone obiekty w bieżącym zestawie danych przed "
+"pierwszego zaznaczonego członka"
 
-msgid "Yes, create a conflict and close"
-msgstr "Tak, utwórz konflikt i zamknij"
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr "Kliknij aby utworzyć konflikt i zamknąć edytor relacji"
-
-msgid "No, continue editing"
-msgstr "Nie, kontynuuj edycję"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr "Kliknij by powrócić do edytora relacji i kontynuować edycję"
-
-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>Ta relacja została zmieniona poza edytorem.<br>Nie możesz zatwierdzić "
-"zmian i kontynuować edycji.<br><br>Czy chcesz utworzyć konflikt i zamknąć "
-"edytor?</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>Warstwa ''{0}'' posiada konflikt z obiektem<br>''{1}''.<br>Proszę go "
-"najpierw rozwiązać i spróbować ponownie.</html>"
-
-msgid "Apply the current updates"
-msgstr "Zastosuj zmiany"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Zastosuj zmiany i zamknij okno"
+msgid "Apply the current updates"
+msgstr "Zastosuj zmiany"
 
 msgid "Cancel the updates and close the dialog"
 msgstr "Anuluj aktualizowanie i zamknij okno"
@@ -8046,6 +8129,9 @@ msgstr "Kliknij by odrzuć zmiany i zamknąć edytor relacji"
 msgid "Cancel, continue editing"
 msgstr "Anuluj, kontynuuj edycję"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr "Kliknij by powrócić do edytora relacji i kontynuować edycję"
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -8055,8 +8141,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr "Niezapisane zmiany"
 
-msgid "Add an empty tag"
-msgstr "Dodaj pusty tag"
+msgid "Delete the currently edited relation"
+msgstr "Usuwa obecnie edytowaną relację"
+
+msgid "Relation Editor: Download Members"
+msgstr "Edytor Rejacji: Pobierz członków relacji"
 
 msgid "Download all incomplete members"
 msgstr "Pobierz wszystkich brakujących członków relacji"
@@ -8064,41 +8153,26 @@ msgstr "Pobierz wszystkich brakujących członków relacji"
 msgid "Download Members"
 msgstr "Pobierz członków"
 
-msgid "Relation Editor: Download Members"
-msgstr "Edytor Rejacji: Pobierz członków relacji"
-
 msgid "Download selected incomplete members"
 msgstr "Pobiera zaznaczonych niekompletnych członków"
 
-msgid "Sets a role for the selected members"
-msgstr "Ustaw rolę dla zaznzczonych członków"
-
-msgid "Apply Role"
-msgstr "Zastosuj rolę"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "Ustawiasz pustą rolę dla {0} obiektu."
-msgstr[1] "Ustawiasz pustą rolę dla {0} obiektów."
-msgstr[2] "Ustawiasz pustą rolę dla {0} obiektów."
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "To jest rownoznaczne z usunięciem ról dla tych obiektów."
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Edytuj relację wskazywaną przez wybranego członka relacji"
 
-msgid "Do you really want to apply the new role?"
-msgstr "Czy napewno chcesz przypisać nową rolę?"
+msgid "Relation Editor: Move Down"
+msgstr "Edytor relacji: Przenieś w dół"
 
-msgid "Yes, apply it"
-msgstr "Tak, przypisz"
+msgid "Move the currently selected members down"
+msgstr "Przesuwa wybrane węzły tak, aby znajdowały się w jednej linii."
 
-msgid "No, do not apply"
-msgstr "Nie"
+msgid "Relation Editor: Move Up"
+msgstr "Edytor relacji: Przenieś w górę"
 
-msgid "Confirm empty role"
-msgstr "Potwierdź pustą rolę"
+msgid "Move the currently selected members up"
+msgstr "Przesuń aktualnie zaznaczonych członkół w górę"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Edytuj relację wskazywaną przez wybranego członka relacji"
+msgid "Apply the updates and close the dialog"
+msgstr "Zastosuj zmiany i zamknij okno"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
@@ -8107,62 +8181,136 @@ msgstr ""
 "Członkowie ze schowka nie mogą być dodani ponieważ nie ma ich na obecnej "
 "warstwie"
 
-msgid "Select previous Gap"
-msgstr "Zaznacz poprzednią przerwę"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
-msgstr "Zaznacz kolejną przerwę"
+msgid "Refresh"
+msgstr "Odśwież"
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
-msgstr "Przybliż widok na przerwę"
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
-msgstr "Odnosi się do"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
+msgstr "Nie, kontynuuj edycję"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "Wystąpił/o {0} koflikt/ów podczas wysyłania."
+msgid "Deleted relation"
+msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Relation Editor: Remove"
+msgstr "Edytor relacji: Usuń"
+
+msgid "Remove the currently selected members from this relation"
+msgstr "Usuwa zaznaczonych członków tej relacji"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Usuń wszystkich członków wskazujących na jeden z wybranych obiektów"
+
+msgid "Reverse the order of the relation members"
+msgstr "Odwróć kolejność członków relacji"
+
+msgid "Reverse"
+msgstr "Odwróć"
+
+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 ""
+"Jeden lub więcej członków zostało usuniętych z relacji kiedy edytor\n"
+"relacji był otwarty. Zostaną one usunięte z listy członków."
 
-msgid "Load parent relations"
-msgstr "Wczytuje relacje nadrzędne"
+msgid "Yes, create a conflict and close"
+msgstr "Tak, utwórz konflikt i zamknij"
 
-msgid "Reload"
-msgstr "Wczytaj ponownie"
+msgid "Click to create a conflict and close this relation editor"
+msgstr "Kliknij aby utworzyć konflikt i zamknąć edytor relacji"
 
-msgid "Loading parent relations"
-msgstr "Wczytywanie relacji nadrzędnych"
+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>Ta relacja została zmieniona poza edytorem.<br>Nie możesz zatwierdzić "
+"zmian i kontynuować edycji.<br><br>Czy chcesz utworzyć konflikt i zamknąć "
+"edytor?</html>"
 
-msgid "Edit the currently selected relation"
-msgstr "Edytuj wybraną relację"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+"<html>Warstwa ''{0}'' posiada konflikt z obiektem<br>''{1}''.<br>Proszę go "
+"najpierw rozwiązać i spróbować ponownie.</html>"
 
-msgid "Apply Changes"
-msgstr "Zastosuj zmiany"
+msgid "Select objects for selected relation members"
+msgstr "Zaznacz obiekty dla zaznaczonych członków relacji"
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Utwórz nową relację na warstwie \"{0}\""
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+"Zaznacz członków relacji którzy odpowiadają obiektom obecnie zaznaczonym"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Edytuj nową relację na warstwie \"{0}\""
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Zaznacz członków relacji którzy odpowiadają {0} obiektom obecnie zaznaczonym"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Edycja relacji #{0} w warstwie \"{1}\""
+msgid "Sets a role for the selected members"
+msgstr "Ustaw rolę dla zaznzczonych członków"
 
-msgid "Load relation"
-msgstr "Wczytaj relacje"
+msgid "Apply Role"
+msgstr "Zastosuj rolę"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "Ustawiasz pustą rolę dla {0} obiektu."
+msgstr[1] "Ustawiasz pustą rolę dla {0} obiektów."
+msgstr[2] "Ustawiasz pustą rolę dla {0} obiektów."
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "To jest rownoznaczne z usunięciem ról dla tych obiektów."
+
+msgid "Do you really want to apply the new role?"
+msgstr "Czy napewno chcesz przypisać nową rolę?"
+
+msgid "Yes, apply it"
+msgstr "Tak, przypisz"
+
+msgid "No, do not apply"
+msgstr "Nie"
+
+msgid "Confirm empty role"
+msgstr "Potwierdź pustą rolę"
+
+msgid "Relation Editor: Sort"
+msgstr "Edytor relacji: Sortowanie"
+
+msgid "Sort the relation members"
+msgstr "Sortuj elementy relacji"
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "linia jest połączona"
@@ -8575,6 +8723,11 @@ msgid ""
 msgstr ""
 "<html>Wersja <strong>{0}</strong> stworzone na <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "Zestaw zmian"
 
@@ -8698,14 +8851,15 @@ msgid "Upload"
 msgstr "Wyślij"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Wybierz które akcje wykonać dla tej warstwy klikając lewym przyciskiem "
-"myszy.<br/>Zaznacz \"Wyślij\" aby wysłać zmiany na serwer OSM.<br/>Zaznacz "
-"\"Zapisz\" aby zapisać warstwę do pliku określonego po lewej.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Dołącz opis zmian, które wysyłasz do serwera:"
@@ -8903,9 +9057,6 @@ msgstr ""
 "Pobieranie informacji na temat bieżącego użytkownika JOSM nie powiodło się. "
 "Wyjątek: {0}"
 
-msgid "Download objects"
-msgstr "Pobrane obiekty"
-
 msgid "Initializing nodes to download ..."
 msgstr "Inicjowanie węzłów do pobrania..."
 
@@ -9511,8 +9662,8 @@ msgstr[0] "{0} obiekt do usunięcia:"
 msgstr[1] "{0} obiekty do usunięcia:"
 msgstr[2] "{0} obiektów do usunięcia:"
 
-msgid "Show Tile Info"
-msgstr "Wyświetl informacje o kafelku"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr "Informacja o kafelkach"
@@ -9520,17 +9671,23 @@ msgstr "Informacja o kafelkach"
 msgid "Metadata "
 msgstr "Metadane "
 
-msgid "Auto Zoom"
-msgstr "Automatyczne przybliżanie"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "Automatyczne wczytywanie kafelków"
 
-msgid "Load All Tiles"
-msgstr "Wczytaj wszystkie kafelki"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "Wczytaj wszystkie błędne kafelki"
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "Przybliż do natywnej rozdzielczości"
@@ -9538,26 +9695,17 @@ msgstr "Przybliż do natywnej rozdzielczości"
 msgid "Change resolution"
 msgstr "Zmień rozdzielczość"
 
-msgid "Failed to create tile source"
-msgstr "Nie udało się stworzyć źródła kafelków"
-
-msgid "Show Errors"
-msgstr "Wyświetl błędy"
-
-msgid "Load Tile"
-msgstr "Ładuj kafelek"
-
 msgid "Increase zoom"
 msgstr "Powiększ"
 
 msgid "Decrease zoom"
 msgstr "Oddal"
 
-msgid "Snap to tile size"
-msgstr "Dopasuj do wielkości kafelków"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Wyczyść pamięć podręczną kafelków"
+msgid "Failed to create tile source"
+msgstr "Nie udało się stworzyć źródła kafelków"
 
 msgid "zoom in to load any tiles"
 msgstr "przybliż by wczytać kafelki"
@@ -10006,6 +10154,9 @@ msgstr ""
 "Błąd parsowania offsetu.\n"
 "Oczekiwany format: {0}"
 
+msgid "Geotagged Images"
+msgstr "Geolokalizowane obrazy"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Pobieranie lokalizacji GPS z EXIF"
 
@@ -10030,9 +10181,6 @@ msgstr "Bład w czasie pobierania obrazów z katalogu {0}\n"
 msgid "One of the selected files was null"
 msgstr "Jeden ze wskazanych plików był pusty."
 
-msgid "Geotagged Images"
-msgstr "Geolokalizowane obrazy"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "Wczytano {0} obraz."
@@ -10426,12 +10574,8 @@ msgstr[2] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"W ''{1}'' wykryto przestarzały element ''{0}'', który wkrótce zostanie "
-"wycofany. Zamiast niego użyj ''{2}''."
+msgid "Failed to locate image ''{0}''"
+msgstr "Nie udało się zlokalizować obraz ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr ""
@@ -10477,6 +10621,12 @@ msgstr "URL dostępu klucza:"
 msgid "Authorize URL:"
 msgstr "URL autoryzacji:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Kliknij, aby zresetować ustawienia OAuth"
 
@@ -10550,13 +10700,6 @@ msgstr "Nazwa użytkownika: "
 msgid "Password: "
 msgstr "Hasło: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Uwaga:</strong> JOSM zaloguje się <strong>tylko raz</strong> "
-"używając bezpiecznego połączenia."
-
 msgid "Granted rights"
 msgstr "Przyznane uprawnienia"
 
@@ -10684,6 +10827,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Proszę wybrać procedurę uwierzytelniania: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Pobierz klucz dostępu do ''{0}''"
 
@@ -11070,9 +11219,18 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr "Pasek narzędzi: {0}"
 
-msgid "Advanced Preferences"
-msgstr "Ustawienia zaawansowane"
-
+msgid "add entry"
+msgstr "dodaj wpis"
+
+msgid "Remove the selected entry"
+msgstr "Usuwa wybraną pozycję"
+
+msgid "Key: {0}"
+msgstr "Klucz: {0}"
+
+msgid "Advanced Preferences"
+msgstr "Ustawienia zaawansowane"
+
 msgid "Setting Preference entries directly. Use with caution!"
 msgstr ""
 "Bezpośrednie, ręczne ustawianie preferencji. Należy używać ostrożnie!"
@@ -11156,18 +11314,9 @@ msgstr "Wybierz plik profilu"
 msgid "Change list setting"
 msgstr "Zmień ustawienia listy"
 
-msgid "Key: {0}"
-msgstr "Klucz: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Zmień ustawienia listy list"
 
-msgid "add entry"
-msgstr "dodaj wpis"
-
-msgid "Remove the selected entry"
-msgstr "Usuwa wybraną pozycję"
-
 msgid "Change list of maps setting"
 msgstr "Zmień ustawienia listy map"
 
@@ -11453,7 +11602,7 @@ msgid "Name or offset"
 msgstr "Nazwa lub przesunięcie"
 
 msgid "None"
-msgstr "żadne"
+msgstr "Brak"
 
 msgid "Custom"
 msgstr "Własne"
@@ -11853,9 +12002,6 @@ msgstr "skopiuj zaznaczone wartości domyślne"
 msgid "Please select at least one row to copy."
 msgstr "Wybierz co najmniej jeden wiersz do skopiowania."
 
-msgid "reload defaults"
-msgstr "Odśwież domyślne wpisy"
-
 msgid "Menu Name"
 msgstr "Nazwa w menu"
 
@@ -12072,7 +12218,7 @@ msgstr ""
 "chcesz go użyć?<br><br><table width=600>Błąd: {1}</table></html>"
 
 msgid "Sort presets menu alphabetically"
-msgstr ""
+msgstr "Sortuj menu szablonów alfabetycznie"
 
 msgid "Tagging Presets"
 msgstr "Szablony"
@@ -12168,6 +12314,9 @@ msgstr[1] ""
 msgstr[2] ""
 "Pobieranie następujących {0} wtyczek <strong>nie powiodło się</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Treść błędu (nieprzetłumaczone): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Uruchom ponownie JOSM aby aktywować pobrane wtyczki."
 
@@ -12655,13 +12804,13 @@ msgid "Please enter the OSM API URL."
 msgstr "Podaj OSM API URL."
 
 msgid "Use Overpass server for object downloads"
-msgstr ""
+msgstr "Używaj serwera Overpass do pobierania obiektów"
 
 msgid "Overpass server: "
 msgstr "Serwer Overpass: "
 
 msgid "Overpass server"
-msgstr ""
+msgstr "Serwer Overpass"
 
 msgid "Proxy settings"
 msgstr "Ustawienia proxy"
@@ -12826,12 +12975,6 @@ msgstr "Wartości numeryczne"
 msgid "Checks for wrong numeric values"
 msgstr "Szuka nieprawidłowych wartości numerycznych"
 
-msgid "Power"
-msgstr "Energetyka"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Szuka błędów w infrastrukturze energetycznej"
-
 msgid "Religion"
 msgstr "Religia"
 
@@ -12921,6 +13064,9 @@ msgstr "Używa szablon \"{0}\""
 msgid "Elements of type {0} are supported."
 msgstr "Elementy typu {0} nie są wspierane."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "Edytuj też..."
 
@@ -12992,6 +13138,9 @@ msgstr "Szukaj w szablonach"
 msgid "Presets"
 msgstr "Szablony"
 
+msgid "Search for objects by preset..."
+msgstr "Szukaj obiekty według szablonu..."
+
 msgid "Search for objects by preset"
 msgstr "Szukaj obiekty według szablonu"
 
@@ -13035,6 +13184,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Więcej informacji na temat tej funkcji"
 
@@ -13092,10 +13244,10 @@ msgid "Min. longitude"
 msgstr "Min. długość"
 
 msgid "Max. latitude"
-msgstr "Maks. szerokość"
+msgstr "Maksymalna szerokość"
 
 msgid "Max. longitude"
-msgstr "Maks. długość"
+msgstr "Maksymalna długość"
 
 msgid ""
 "URL from www.openstreetmap.org (you can paste a download URL here to specify "
@@ -13129,17 +13281,31 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "fałsz: ten opcja jest zawsze wyłączona"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "prawda: ta opcja jest zawsze włączona"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "częściowe: różne zaznaczone obiekty mają różne wartości - nie zmienia"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "nieustawione: nie zmieniaj tego atrybutu dla zaznaczonych obiektów"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "Wytnij"
 
@@ -13637,6 +13803,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "Pliki serwera OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Podczas zapisywania wystąpił błąd.<br>Błąd:<br>{0}</html>"
 
@@ -13653,9 +13822,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr "Analiza danych o historii..."
 
-msgid "OSM Server Files"
-msgstr "Pliki serwera OSM"
-
 msgid "Invalid dataset"
 msgstr "Nieprawidłowy zestaw danych"
 
@@ -13852,9 +14018,6 @@ msgstr "Przesyłanie danych..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Znaleziono nieoczekiwane ID 0 na elemencie"
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr "Pobieranie danych..."
 
@@ -14028,21 +14191,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr "lokalny plik"
+
+msgid "include"
 msgstr ""
 
+msgid "Layer contains unsaved data - save to file."
+msgstr "Warstwa zawiera niezapisane dane - zapisz do pliku."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Warstwa nie zawiera niezapisanych danych."
+
 msgid "Data:"
 msgstr "Dane:"
 
-msgid "local file"
-msgstr "lokalny plik"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Link do pliku OSM na lokalnym dysku."
 
-msgid "Link to a GPX file on your local disk."
-msgstr ""
+msgid "Include OSM data in the .joz session file."
+msgstr "Załącz dane OSM w pliku sesji .joz."
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -14054,6 +14224,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr "Dane OSM powinny zostać zawarte w pliku sesji."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14073,20 +14251,9 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Warstwa zawiera niezapisane dane - zapisz do pliku."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Warstwa nie zawiera niezapisanych danych."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Link do pliku OSM na lokalnym dysku."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Załącz dane OSM w pliku sesji .joz."
-
-msgid "OSM data will be included in the session file."
-msgstr "Dane OSM powinny zostać zawarte w pliku sesji."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -14840,9 +15007,6 @@ msgstr ""
 "duże.<br>Spróbuj pobrać mniejszy obszar albo użyj wyeksportowanego pliku "
 "udostępnionego przez społeczność OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Treść błędu (nieprzetłumaczone): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -14874,6 +15038,9 @@ msgstr "Pobieranie przekierowanie do ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Zbyt wiele przekierowań wykryto przy pobieraniu URL. Przerywam."
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "Nie udało się odnaleźć tłumaczenia dla języka: {0}. Użyty zostanie {1}."
@@ -14883,9 +15050,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Nie udało się zlokalizować obraz ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -14967,7 +15131,7 @@ msgstr ""
 "Może to wywołać <b>ryzyko naruszenia bezpieczeństwa</b>.<br><br>Zostaniesz  "
 "teraz poproszony przez Windows o usunięcie tego niebezpiecznego "
 "certyfikatu.Dla własnego bezpieczeństwa <b>kliknij Tak</b> w następnym "
-"oienku dialogowym."
+"okienku dialogowym."
 
 msgid "Removing insecure certificate from {0} keystore: {1}"
 msgstr "Usuwanie niebezpiecznego certyfikatu z zasobnika kluczy {0}: {1}"
@@ -15029,6 +15193,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr "ms"
 
@@ -15340,9 +15507,6 @@ msgstr "Otwórz wybrany plik"
 msgid "Open selected file."
 msgstr "Otwórz wybrany plik."
 
-msgid "Refresh"
-msgstr "Odśwież"
-
 msgid "Rename File"
 msgstr "Zmień nazwę pliku"
 
@@ -15436,6 +15600,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -15502,6 +15669,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -15598,13 +15768,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -15727,6 +15900,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -15747,9 +15923,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -15820,6 +15993,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -15853,10 +16035,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -16552,6 +16737,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Twórz siatki linii."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16727,8 +16915,6 @@ msgid ""
 "Use your system''s password manager to store the API username and password. "
 "(KWallet and gnome-keyring are supported.)"
 msgstr ""
-"Użyj systemowego menadżera haseł do przechowywania nazwy użytkownika i hasła "
-"dostępu do API. ( Obsługiwane menadżery to KWallet i gnome-keyring)"
 
 msgid ""
 "Disallow using JOSM forever (WARNING: this plugin prevents JOSM from loading "
@@ -17091,7 +17277,7 @@ msgid "Lanes opposed to way direction"
 msgstr "Pasy w przeciwnym kierunku"
 
 msgid "Max. speed (km/h)"
-msgstr "Maks. prędkość (km/h)"
+msgstr "Maksymalna prędkość (km/h)"
 
 msgid "Max. speed in way direction"
 msgstr "Maksymalna prędkość w kierunku drogi"
@@ -17230,6 +17416,105 @@ msgstr "ograniczone"
 msgid "Brand"
 msgstr "Marka"
 
+msgid "Cuisine"
+msgstr "Kuchnia"
+
+msgid "italian"
+msgstr "włoska"
+
+msgid "chinese"
+msgstr "chińska"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamburgery"
+
+msgid "greek"
+msgstr "grecka"
+
+msgid "german"
+msgstr "niemiecka"
+
+msgid "indian"
+msgstr "indyjska"
+
+msgid "regional"
+msgstr "regionalna"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turecka"
+
+msgid "asian"
+msgstr "azjatycka"
+
+msgid "thai"
+msgstr "tajska"
+
+msgid "mexican"
+msgstr "meksykańska"
+
+msgid "japanese"
+msgstr "japońska"
+
+msgid "french"
+msgstr "francuska"
+
+msgid "sandwich"
+msgstr "kanapki"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "ryba z frytkami"
+
+msgid "chicken"
+msgstr "kurczak"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "lody"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Dostęp do internetu"
 
@@ -17264,10 +17549,10 @@ msgid "Height (meters)"
 msgstr "Wysokość (w metrach)"
 
 msgid "Max. width (meters)"
-msgstr "Maks. szerokość (w metrach)"
+msgstr "Maksymalna szerokość (w metrach)"
 
 msgid "Max. height (meters)"
-msgstr "Maks. wysokość (w metrach)"
+msgstr "Maksymalna wysokość (w metrach)"
 
 msgid "pitch"
 msgstr "boisko"
@@ -17504,7 +17789,7 @@ msgid "Access"
 msgstr "Dostęp"
 
 msgid "private"
-msgstr "droga prywatna"
+msgstr "prywatne"
 
 msgid "customers"
 msgstr "klienci"
@@ -17796,17 +18081,20 @@ msgid "vacuum"
 msgstr "próżnia"
 
 msgid "Max. weight (tonnes)"
-msgstr "Maks. ciężar (w tonach)"
+msgstr "Maksymalny ciężar (w tonach)"
 
 msgid "Toll"
 msgstr "Bramka (opłaty)"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "Czy to woda okresowa (sezonowo zanikająca)?"
+msgid "Intermittent"
+msgstr ""
 
-msgid "In the tidal range"
+msgid "Seasonal"
 msgstr ""
 
+msgid "In the tidal range"
+msgstr "Teren zalewowy"
+
 msgid "culvert"
 msgstr "przepust"
 
@@ -17829,7 +18117,7 @@ msgid "Canoe"
 msgstr "Kajak"
 
 msgid "Substance"
-msgstr ""
+msgstr "Substancja"
 
 msgid "water"
 msgstr "wodny"
@@ -17872,7 +18160,7 @@ msgid "ICAO"
 msgstr "ICAO"
 
 msgid "Car brand"
-msgstr ""
+msgstr "Marka samochodów"
 
 msgid "Motorcycle brand"
 msgstr ""
@@ -17932,7 +18220,7 @@ msgid "Primary"
 msgstr "Droga krajowa"
 
 msgid "Overhead trolley wires"
-msgstr ""
+msgstr "Podwieszone przewody trolejbusowe"
 
 msgid "Primary Link"
 msgstr "Droga krajowa - łącznik"
@@ -18180,10 +18468,10 @@ msgid "Min. speed (km/h)"
 msgstr "Min. prędkość (km/h)"
 
 msgid "Max. axleload (tonnes)"
-msgstr "Maks. nacisk na oś (w tonach)"
+msgstr "Maksymalny nacisk na oś (w tonach)"
 
 msgid "Max. length (meters)"
-msgstr "Maks. długość (w metrach)"
+msgstr "Maksymalna długość (w metrach)"
 
 msgid "Overtaking"
 msgstr "Wyprzedzanie"
@@ -18517,7 +18805,7 @@ msgid "tiger"
 msgstr "tygrys"
 
 msgid "Button operated"
-msgstr "Sterowanie przez przycisk"
+msgstr "Sterowane przyciskiem"
 
 msgid "Sound signals"
 msgstr "Sygnalizacja dźwiękowa"
@@ -18555,26 +18843,30 @@ msgstr "W przypadku sygnalizacji świetlnej:"
 msgid "Traffic Calming"
 msgstr "Środek uspokojenia ruchu"
 
-msgid "bump"
-msgstr "krótki próg zwalniający"
+msgid "Bump"
+msgstr "Krótki próg zwalniający"
+
+msgid "Chicane"
+msgstr "Naprzemienne zwężenie jezdni"
 
-msgid "chicane"
-msgstr "szykana"
+msgid "Choker"
+msgstr "Zwężenie jezdni"
 
-msgid "choker"
-msgstr "zwężenie"
+msgid "Cushion"
+msgstr "Poduszki zwalniające"
 
-msgid "cushion"
-msgstr "próg wyspowy"
+msgid "Hump"
+msgstr "Długi próg zwalniający"
 
-msgid "hump"
-msgstr "długi próg zwalniający"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr "Wysepka"
 
-msgid "rumble_strip"
-msgstr "dudniące paski"
+msgid "Rumble strip"
+msgstr "Dudniące paski"
 
-msgid "table"
-msgstr "podest"
+msgid "Table"
+msgstr "Podest zwalniający"
 
 msgid "Passing Place"
 msgstr "Zatoka"
@@ -18725,6 +19017,9 @@ msgstr "Mury miejskie"
 msgid "Retaining Wall"
 msgstr "Mur oporowy"
 
+msgid "Jersey Barrier"
+msgstr "Barierka modułowa"
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Rów"
@@ -18895,6 +19190,9 @@ msgstr "rzeka"
 msgid "Salt Water"
 msgstr "Słona woda"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "Czy to woda okresowa (sezonowo zanikająca)?"
+
 msgid "Coastline"
 msgstr "Wybrzeże"
 
@@ -18957,14 +19255,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Klif"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr "Żegluga"
 
@@ -19091,7 +19381,7 @@ msgid "Bio Diesel"
 msgstr "Biodiesel"
 
 msgid "Octane 80"
-msgstr ""
+msgstr "Paliwo 80-oktanowe"
 
 msgid "Octane 91"
 msgstr "Benzyna bezołowiowa 91"
@@ -19124,13 +19414,13 @@ msgid "Pier"
 msgstr "Molo"
 
 msgid "Mooring"
-msgstr ""
+msgstr "Cumowanie"
 
 msgid "commercial"
-msgstr ""
+msgstr "komercyjne"
 
 msgid "Floating"
-msgstr ""
+msgstr "Pływające"
 
 msgid "Lock Gate"
 msgstr "Wrota śluzy"
@@ -19246,7 +19536,7 @@ msgid "Railway Switch"
 msgstr "Zwrotnica"
 
 msgid "Railway Signal"
-msgstr ""
+msgstr "Sygnalizacja kolejowa"
 
 msgid "Railway milestone"
 msgstr "Słupek kilometrowy"
@@ -19276,7 +19566,7 @@ msgid "Number of people per chair"
 msgstr "Liczba osób na krzesełko"
 
 msgid "Has bubble?"
-msgstr ""
+msgstr "Posiada owiewkę?"
 
 msgid "Gondola"
 msgstr "Gondola"
@@ -19668,7 +19958,7 @@ msgid "Railway station (legacy)"
 msgstr "Stacja kolejowa (przestarzałe)"
 
 msgid "Railway halt (legacy)"
-msgstr "przystanek"
+msgstr "Przystanek kolejowy (przestarzałe)"
 
 msgid "Trolleybus"
 msgstr "Trolejbus"
@@ -19893,66 +20183,6 @@ msgstr "Wyżywienie"
 msgid "Restaurant"
 msgstr "Restauracja"
 
-msgid "Cuisine"
-msgstr "Kuchnia"
-
-msgid "italian"
-msgstr "włoska"
-
-msgid "chinese"
-msgstr "chińska"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hamburgery"
-
-msgid "greek"
-msgstr "grecka"
-
-msgid "german"
-msgstr "niemiecka"
-
-msgid "indian"
-msgstr "indyjska"
-
-msgid "regional"
-msgstr "regionalna"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turecka"
-
-msgid "asian"
-msgstr "azjatycka"
-
-msgid "thai"
-msgstr "tajska"
-
-msgid "mexican"
-msgstr "meksykańska"
-
-msgid "japanese"
-msgstr "japońska"
-
-msgid "french"
-msgstr "francuska"
-
-msgid "sandwich"
-msgstr "kanapki"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr "Mikrobrowar"
 
@@ -19965,20 +20195,14 @@ msgstr "Na wynos"
 msgid "Fast Food"
 msgstr "Fast food"
 
-msgid "fish_and_chips"
-msgstr "ryba z frytkami"
-
-msgid "chicken"
-msgstr "kurczak"
-
 msgid "Food Court"
 msgstr "Przestrzeń restauracyjna"
 
 msgid "Cafe"
 msgstr "Kawiarnia"
 
-msgid "ice_cream"
-msgstr "lody"
+msgid "Ice cream"
+msgstr "Lodziarnia"
 
 msgid "Pub"
 msgstr "Pub"
@@ -20155,6 +20379,12 @@ msgstr "Park rozrywki/tematyczny"
 msgid "Water Park"
 msgstr "Park wodny"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20189,9 +20419,6 @@ msgstr "Ognisko"
 msgid "Fishing"
 msgstr "Miejsce do wędkowania"
 
-msgid "Private Swimming Pool"
-msgstr "Prywatny basen"
-
 msgid "Night Club"
 msgstr "Klub nocny"
 
@@ -20234,12 +20461,18 @@ msgstr "posąg"
 msgid "Artist Name"
 msgstr "Imię i nazwisko artysty"
 
-msgid "Recording Studio"
-msgstr "Studio nagrań"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "dźwiękowe"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "filmowe"
 
@@ -20343,6 +20576,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "adwentyzm"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Meczet"
 
@@ -20502,30 +20739,149 @@ msgstr "(Podaj razem z kodem kraju, np.: +12-345-67890)"
 msgid "Veterinary"
 msgstr "Weterynarz"
 
-msgid "Social Facility"
+msgid "Emergency"
+msgstr "Ratownictwo"
+
+msgid "Ambulance Station"
+msgstr "Stacja pogotowia ratunkowego"
+
+msgid "Automated Defibrillator"
+msgstr "Automatyczny defibrylator (AED)"
+
+msgid "Located inside a building?"
+msgstr "Wewnątrz budynku"
+
+msgid "Last check date (YYYY-MM-DD)"
 msgstr ""
 
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr "Gaśnica"
+
+msgid "Indoor"
+msgstr "Wewnątrz budynku"
+
+msgid "Fire Hose"
+msgstr "Wąż pożarniczy"
+
+msgid "Fire Hydrant"
+msgstr "Hydrant"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "pod ziemią"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "ścienny"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "z jeziora (suchy)"
+
+msgid "Diameter (in mm)"
+msgstr "Średnica (w mm)"
+
+msgid "Hydrant Position"
+msgstr "Położenie"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "jezdnia"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "miejsce postojowe"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "chodnik"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "zieleń"
+
+msgid "Pressure (in bar)"
+msgstr "Ciśnienie (w barach)"
+
+msgid "suction"
+msgstr "ssanie"
+
+msgid "Count"
+msgstr "Liczba"
+
+msgid "Water Tank"
+msgstr "Zbiornik przeciwpożarowy"
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr "Miejsce zbiórki do ewakuacji"
+
+msgid "Emergency Phone"
+msgstr "Telefon alarmowy"
+
+msgid "Siren"
+msgstr "Syrena"
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
+msgid "Social Facility"
+msgstr "Opieka społeczna"
+
 msgid "Nursing Home"
 msgstr "Dom opieki"
 
 msgid "Group Home"
-msgstr ""
+msgstr "Dom grupowy"
 
 msgid "For"
-msgstr ""
+msgstr "Dla"
 
 msgid "Assisted Living"
-msgstr ""
+msgstr "Ośrodek mieszkalno-opiekuńczy"
 
 msgid "Outreach"
-msgstr ""
+msgstr "Pomoc potrzebującym"
 
 msgctxt "social_facility"
 msgid "Shelter"
-msgstr ""
+msgstr "Noclegownia"
 
 msgid "Food Bank"
-msgstr ""
+msgstr "Bank żywności"
 
 msgid "Toilets/Restrooms"
 msgstr "Toalety"
@@ -20584,19 +20940,19 @@ msgstr "Czas odbioru"
 
 msgctxt "post_box"
 msgid "pillar"
-msgstr ""
+msgstr "kolumna"
 
 msgctxt "post_box"
 msgid "lamp"
-msgstr ""
+msgstr "na słupku/latarni"
 
 msgctxt "post_box"
 msgid "wall"
-msgstr ""
+msgstr "ścienna"
 
 msgctxt "post_box"
 msgid "meter"
-msgstr ""
+msgstr "skrzynia"
 
 msgid "Drive through"
 msgstr "Wrzucanie z samochodu"
@@ -20614,24 +20970,9 @@ msgstr "Banknoty"
 msgid "Telephone cards"
 msgstr "Karty telefoniczne"
 
-msgid "Emergency Phone"
-msgstr "Telefon alarmowy"
-
 msgid "Internet Access"
 msgstr "Punkt dostępu do Internetu"
 
-msgid "Automated Defibrillator"
-msgstr "Automatyczny defibrylator (AED)"
-
-msgid "Located inside a building?"
-msgstr "Wewnątrz budynku"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr "Zegar"
 
@@ -20794,64 +21135,15 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Zamaskowana"
+msgstr ""
 
 msgid "Lock"
 msgstr "Zamykana"
 
-msgid "Indoor"
-msgstr "Wewnątrz budynku"
-
-msgid "Fire Hydrant"
-msgstr "Hydrant"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "pod ziemią"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "słupek"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "ścienny"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "z jeziora (suchy)"
-
-msgid "Diameter (in mm)"
-msgstr "Średnica (w mm)"
-
-msgid "Hydrant Position"
-msgstr "Położenie"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "jezdnia"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "miejsce postojowe"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "chodnik"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "zieleń"
-
-msgid "Pressure (in bar)"
-msgstr "Ciśnienie (w barach)"
-
-msgid "suction"
-msgstr "ssanie"
-
-msgid "Count"
-msgstr "Liczba"
+msgid "Water Point"
+msgstr "Punkt pobierania wody"
 
 msgid "Compressed Air"
 msgstr "Kompresor"
@@ -20899,13 +21191,66 @@ msgid "decoturf"
 msgstr "decoturf"
 
 msgid "tartan"
-msgstr ""
+msgstr "tartan"
 
 msgid "Racetrack"
 msgstr "Tor wyścigowy"
 
-msgid "Golf Course"
-msgstr "Pole golfowe"
+msgid "Golf"
+msgstr "Golf"
+
+msgid "Golf Course"
+msgstr "Pole golfowe"
+
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
 
 msgid "Miniature Golf"
 msgstr "Minigolf"
@@ -21131,9 +21476,6 @@ msgstr "Siatkówka plażowa"
 msgid "Billiards"
 msgstr "Bilard"
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "pole golfowe"
 
@@ -21159,7 +21501,7 @@ msgid "Pelota"
 msgstr "Pelota"
 
 msgid "Racquetball"
-msgstr ""
+msgstr "Racquetball"
 
 msgid "Table Tennis/Ping-Pong"
 msgstr "Tenis stołowy/ping-pong"
@@ -21223,11 +21565,11 @@ msgstr "biura i usługi"
 
 msgctxt "building"
 msgid "service"
-msgstr ""
+msgstr "serwisowy"
 
 msgctxt "building"
 msgid "train_station"
-msgstr ""
+msgstr "stacja kolejowa"
 
 msgctxt "building"
 msgid "barn"
@@ -21235,11 +21577,11 @@ msgstr "stodoła"
 
 msgctxt "building"
 msgid "stable"
-msgstr ""
+msgstr "stajnia"
 
 msgctxt "building"
 msgid "cabin"
-msgstr ""
+msgstr "chata"
 
 msgctxt "building"
 msgid "farm_auxiliary"
@@ -21267,11 +21609,11 @@ msgstr "szpital"
 
 msgctxt "building"
 msgid "kindergarten"
-msgstr ""
+msgstr "przedszkole"
 
 msgctxt "building"
 msgid "manufacture"
-msgstr ""
+msgstr "fabryka"
 
 msgctxt "building"
 msgid "warehouse"
@@ -21291,13 +21633,17 @@ msgstr "zbiornik"
 
 msgctxt "building"
 msgid "supermarket"
-msgstr ""
+msgstr "supermarket"
 
 msgctxt "building"
 msgid "gasometer"
 msgstr "zbiornik gazu"
 
 msgctxt "building"
+msgid "silo"
+msgstr "silos"
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "obora"
 
@@ -21306,6 +21652,38 @@ msgid "construction"
 msgstr "w budowie"
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Poziomy"
 
@@ -21326,7 +21704,7 @@ msgstr "dom"
 
 msgctxt "building"
 msgid "hotel"
-msgstr ""
+msgstr "hotel"
 
 msgctxt "building"
 msgid "hut"
@@ -21383,7 +21761,7 @@ msgstr "awaryjne"
 
 msgctxt "entrance"
 msgid "staircase"
-msgstr ""
+msgstr "klatka schodowa"
 
 msgid "Entrance number"
 msgstr "Numer wejścia"
@@ -21418,6 +21796,9 @@ msgstr "Wiatrak"
 msgid "Gasometer"
 msgstr "Zbiornik gazu"
 
+msgid "Silo"
+msgstr "Silos"
+
 msgid "Storage Tank"
 msgstr "Zbiornik przemysłowy"
 
@@ -21454,7 +21835,7 @@ msgid "wine"
 msgstr ""
 
 msgid "Bunker Silo"
-msgstr "Silos"
+msgstr "Silos bunkrowy"
 
 msgid "Crane"
 msgstr "Dźwig"
@@ -21529,10 +21910,10 @@ msgid "zircon"
 msgstr "cyrkon"
 
 msgid "Visible Headframe"
-msgstr "widoczna wieża szybowa"
+msgstr "Widoczna wieża szybowa"
 
 msgid "Disused"
-msgstr "nieczynna"
+msgstr "Nieczynna"
 
 msgid "Adit"
 msgstr "Sztolnia"
@@ -21819,15 +22200,26 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
-msgid "Historic"
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
 msgstr ""
 
+msgid "Historic"
+msgstr "Historyczny"
+
 msgid "Ruins"
 msgstr "Ruiny"
 
 msgid "Range"
 msgstr "Strzelnica"
 
+msgid "Power"
+msgstr "Energetyka"
+
 msgid "Power Plant"
 msgstr "Elektrownia"
 
@@ -22261,11 +22653,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Złącze kablowe"
+msgid "Power Street Cabinet"
+msgstr "Uliczna skrzynka elektryczna"
 
-msgid "Power Tower"
-msgstr "Słup wysokiego napięcia"
+msgid "Transformer Tower"
+msgstr "Wieża transformatorowa"
+
+msgid "Power Portal"
+msgstr "Bramka energetyczna"
 
 msgid "Type of construction"
 msgstr "Typ konstrukcji"
@@ -22286,6 +22681,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "czerwono/biały"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Słup wysokiego napięcia"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Typ słupa"
@@ -22409,18 +22822,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -22453,6 +22854,9 @@ msgstr "Atrybuty słupa:"
 msgid "Transformer Attributes:"
 msgstr "Atrybuty transformatora:"
 
+msgid "Insulator"
+msgstr "Izolator"
+
 msgid "Power Line"
 msgstr "Linia elektryczna"
 
@@ -22573,7 +22977,7 @@ msgstr "Miejsce kultu religijnego"
 
 msgctxt "building"
 msgid "wayside_shrine"
-msgstr ""
+msgstr "kapliczka"
 
 msgid "Boundary Stone"
 msgstr "Kamień graniczny"
@@ -22710,6 +23114,9 @@ msgstr "Sklep meblowy"
 msgid "Kitchen"
 msgstr "Akcesoria kuchenne"
 
+msgid "Houseware"
+msgstr "Drobne artykuły gospodarstwa domowego (AGD)"
+
 msgid "Curtain"
 msgstr "Sklep z zasłonami"
 
@@ -22752,12 +23159,21 @@ msgstr "Dla ciała"
 msgid "Chemist"
 msgstr "Drogeria"
 
-msgid "Hairdresser/Barber"
-msgstr "Fryzjer"
+msgid "Cosmetics"
+msgstr "Kosmetyki"
+
+msgid "Perfumery"
+msgstr "Perfumeria"
 
 msgid "Beauty"
 msgstr "Salon piękności"
 
+msgid "Tobacco"
+msgstr "Papierosy"
+
+msgid "Hairdresser/Barber"
+msgstr "Fryzjer"
+
 msgid "Tattoo"
 msgstr "Tatuaże"
 
@@ -22903,7 +23319,7 @@ msgid "BankAxess"
 msgstr ""
 
 msgid "Bancomat"
-msgstr ""
+msgstr "Bankomatowa"
 
 msgid "Girocard"
 msgstr ""
@@ -22924,22 +23340,22 @@ msgid "Credit cards"
 msgstr "Karty kredytowe"
 
 msgid "American Express"
-msgstr ""
+msgstr "American Express"
 
 msgid "Diners Club"
-msgstr ""
+msgstr "Diners Club"
 
 msgid "Discover Card"
 msgstr ""
 
 msgid "JCB"
-msgstr ""
+msgstr "JCB"
 
 msgid "Mastercard"
-msgstr ""
+msgstr "Mastercard"
 
 msgid "Visa"
-msgstr ""
+msgstr "Visa"
 
 msgid "Electronic purses and Charge cards"
 msgstr "Karty chipowe"
@@ -23073,7 +23489,7 @@ msgstr "Instytucja religijna"
 
 msgctxt "office"
 msgid "Research"
-msgstr "Badania"
+msgstr "Placówka badawcza"
 
 msgctxt "office"
 msgid "Tax advisor"
@@ -23083,6 +23499,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Telekomunikacja"
 
+msgid "Craft"
+msgstr "Rzemiosło"
+
+msgid "Carpenter"
+msgstr "Stolarz"
+
+msgid "Shoemaker"
+msgstr "Usługi szewskie"
+
+msgid "Photographer"
+msgstr "Wykonywanie zdjęć, wideofilmowanie"
+
+msgid "Metal construction"
+msgstr "Usługi metalurgiczne"
+
+msgid "Electrician"
+msgstr "Elektryk"
+
+msgid "Brewery"
+msgstr "Browar"
+
+msgid "Plumber"
+msgstr "Usługi hydrauliczne"
+
+msgid "Sawmill"
+msgstr "Tartak"
+
+msgid "Gardener"
+msgstr "Ogrodnik"
+
+msgid "Winery"
+msgstr "Produkcja wina"
+
+msgid "Hvac"
+msgstr "Usługi klimatyzacyjne/wentylacyjne/grzewcze"
+
+msgid "Painter"
+msgstr "Usługi malarskie"
+
+msgid "Stonemason"
+msgstr "Kamieniarz"
+
+msgid "Handicraft"
+msgstr "Rękodzieło"
+
+msgid "Pottery"
+msgstr "Usługi garncarskie"
+
+msgid "Key cutter"
+msgstr "Dorabianie kluczy"
+
+msgid "Caterer"
+msgstr "Catering"
+
+msgid "Roofer"
+msgstr "Usługi dekarskie"
+
+msgid "Beekeeper"
+msgstr "Pszczelarstwo"
+
+msgid "Blacksmith"
+msgstr "Usługi kowalskie"
+
+msgid "Locksmith"
+msgstr "Naprawa zamków i kluczy"
+
+msgid "Window construction"
+msgstr "Instalacja okien i drzwi"
+
+msgid "Upholsterer"
+msgstr "Tapicer"
+
+msgid "Tiler"
+msgstr "Układanie płytek"
+
 msgid "Geography"
 msgstr "Geografia"
 
@@ -23126,7 +23617,7 @@ msgid "Protect Class"
 msgstr ""
 
 msgid "Title or type of protection"
-msgstr ""
+msgstr "Przyczyna lub rodzaj ochrony"
 
 msgid "Border type"
 msgstr "Typ granicy"
@@ -23249,6 +23740,14 @@ msgid "Valley"
 msgstr "Dolina"
 
 msgid "A low area between hills."
+msgstr "Obniżenie terenu między wzggórzami"
+
+msgid "Cliff"
+msgstr "Klif"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
 msgstr ""
 
 msgid "Cave Entrance"
@@ -23423,27 +23922,27 @@ msgid "Farmland"
 msgstr "Grunty rolne"
 
 msgid "Crop"
-msgstr ""
+msgstr "Plony"
 
 msgctxt "crop"
 msgid "corn"
-msgstr ""
+msgstr "kukurydza"
 
 msgctxt "crop"
 msgid "grass"
-msgstr ""
+msgstr "trawa"
 
 msgctxt "crop"
 msgid "rice"
-msgstr ""
+msgstr "ryż"
 
 msgctxt "crop"
 msgid "wheat"
-msgstr ""
+msgstr "pszenica"
 
 msgctxt "crop"
 msgid "hop"
-msgstr ""
+msgstr "chmiel"
 
 msgid "Meadow"
 msgstr "Łąka"
@@ -23451,6 +23950,51 @@ msgstr "Łąka"
 msgid "Orchard"
 msgstr "Sad"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Winnica"
 
@@ -23838,19 +24382,19 @@ msgid "administrative"
 msgstr "administracyjna"
 
 msgid "maritime"
-msgstr ""
+msgstr "morska"
 
 msgid "national_park"
-msgstr ""
+msgstr "park narodowy"
 
 msgid "political"
 msgstr "polityczna"
 
 msgid "postal_code"
-msgstr ""
+msgstr "kod pocztowy"
 
 msgid "protected_area"
-msgstr ""
+msgstr "obszar chroniony"
 
 msgid "Sub area"
 msgstr "Podobszary"
@@ -24118,19 +24662,19 @@ msgid "Name of river/lake/sea/ocean it runs into"
 msgstr ""
 
 msgid "Reference Sandre (FR)"
-msgstr ""
+msgstr "Oznaczenie Sandre (Francja)"
 
 msgid "Reference FGKZ (DE)"
-msgstr ""
+msgstr "Oznaczenie FGKZ (Niemcy"
 
 msgid "Reference REGINE (NO)"
-msgstr ""
+msgstr "Oznaczenie REGINE (Norwegia)"
 
 msgid "Reference GNIS (USA)"
-msgstr ""
+msgstr "Oznaczenie GNIS (USA)"
 
 msgid "Reference GNBC (CA)"
-msgstr ""
+msgstr "Oznaczenie GNBC (Kanada)"
 
 msgid "waterways (no riverbank)"
 msgstr "szlak wodny (bez brzegu)"
@@ -24249,9 +24793,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} jest przestarzały"
-
 msgid "{0} is deprecated"
 msgstr "{0} jest przestarzały"
 
@@ -24273,9 +24814,8 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
-"Konstrukcja {0}={1} jest przestarzała. Zamiast niej użyj wielokąta złożonego."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -24318,6 +24858,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -24333,6 +24882,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -24360,6 +24912,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -24401,7 +24956,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr "wprowadzona warstwa powinna być pomiędzy -5 a 5"
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -24480,7 +25035,7 @@ msgid "unknown language prefix in wikipedia tag"
 msgstr ""
 
 msgid "deprecated format for wikipedia tag"
-msgstr ""
+msgstr "przestarzały format tagu wikipedia"
 
 msgid "''wikipedia''=''language:page title''"
 msgstr "''wikipedia''=''język:tytuł hasła''"
@@ -24622,7 +25177,7 @@ msgid "Download GPX track from openstreetmap.org"
 msgstr "Pobierz ślad GPX z openstreetmap.org"
 
 msgid "Download Track"
-msgstr ""
+msgstr "Pobierz ślad"
 
 msgid "Filename"
 msgstr "Nazwa pliku"
@@ -24668,7 +25223,7 @@ msgid "http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces"
 msgstr "http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces"
 
 msgid "(What does that mean?)"
-msgstr ""
+msgstr "(Co to znaczy?)"
 
 msgid "Please enter Description about your trace."
 msgstr "Proszę wprowadzić opis swojego śladu."
@@ -24785,7 +25340,7 @@ msgid "Simplify with initial epsilon"
 msgstr ""
 
 msgid "Save as is"
-msgstr ""
+msgstr "Zapisz jako"
 
 msgid "Snap to nodes"
 msgstr "Przyciągaj do węzłów"
@@ -26427,7 +26982,7 @@ msgid "Generate matches"
 msgstr ""
 
 msgid "Layer:"
-msgstr ""
+msgstr "Warstwa:"
 
 msgid "{0}: 0 / {1}: 0 / {2}: 0"
 msgstr ""
@@ -26481,7 +27036,7 @@ msgid "Toggle the continuous download on/off"
 msgstr ""
 
 msgid "Download Settings"
-msgstr ""
+msgstr "Pobierz ustawienia"
 
 msgid "Settings for the continuous download."
 msgstr ""
@@ -26542,7 +27097,7 @@ msgid "The strategy for finding what areas to request from the server."
 msgstr ""
 
 msgid "Download strategy"
-msgstr ""
+msgstr "Strategia pobierania"
 
 msgid ""
 "Suppress the progress monitor that is shown when downloading. If this option "
@@ -26653,7 +27208,7 @@ msgid "CmdLine:"
 msgstr ""
 
 msgid "External tools"
-msgstr ""
+msgstr "Narzędzia zewnętrzne"
 
 msgid "Delete tool \"{0}\"?"
 msgstr ""
@@ -26704,7 +27259,7 @@ msgstr[1] "{0} użytkownicy"
 msgstr[2] "{0} użytkowników"
 
 msgid "not logged in"
-msgstr ""
+msgstr "nie zalogowany"
 
 msgid "Failed to log in to GeoChat:"
 msgstr ""
@@ -26857,10 +27412,10 @@ msgid "Implications element below root child level"
 msgstr ""
 
 msgid "Tag without key"
-msgstr ""
+msgstr "Brakujący klucz tagu"
 
 msgid "Tag without value (key is {0})"
-msgstr ""
+msgstr "Brakująca wartość tagu (klucz to {0})"
 
 msgid "Closed classes while it was not open"
 msgstr ""
@@ -27041,7 +27596,7 @@ msgid "Open the dialog for graph view configuration."
 msgstr ""
 
 msgid "default"
-msgstr ""
+msgstr "domyślne"
 
 msgid "end nodes"
 msgstr ""
@@ -27256,7 +27811,7 @@ msgid "Error processing XML response: {0}"
 msgstr ""
 
 msgid "Offset"
-msgstr ""
+msgstr "Przesunięcie"
 
 msgid "Imagery Offset Database"
 msgstr ""
@@ -27324,7 +27879,7 @@ msgid "Determined {0} away"
 msgstr ""
 
 msgid "Reason"
-msgstr ""
+msgstr "Powód"
 
 msgid "This entry has been reported."
 msgstr ""
@@ -27841,16 +28396,16 @@ msgid "Total images:"
 msgstr ""
 
 msgid "images"
-msgstr ""
+msgstr "obrazy"
 
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
-msgstr ""
+msgstr "Mapillary"
 
 msgid "Create Mapillary layer"
 msgstr ""
@@ -28148,10 +28703,10 @@ msgid ""
 msgstr ""
 
 msgid "Downloading"
-msgstr ""
+msgstr "Pobieranie"
 
 msgid "Select mode"
-msgstr ""
+msgstr "Wybierz tryb"
 
 msgid "Mapillary login"
 msgstr ""
@@ -28159,6 +28714,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -28174,6 +28732,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Zmierzone wartości"
 
@@ -28319,7 +28889,7 @@ msgid "JOSM/OAuth/OSM API/Key"
 msgstr "JOSM/OAuth/OSM API/Klucz"
 
 msgid "JOSM/OAuth/OSM API/Secret"
-msgstr ""
+msgstr "JOSM/OAuth/OSM API/Sekret"
 
 msgid "Native Password Manager Plugin"
 msgstr ""
@@ -29003,7 +29573,7 @@ msgid "Could not parse max path count"
 msgstr ""
 
 msgid "Parsing file"
-msgstr ""
+msgstr "Analiza pliku"
 
 msgid "File not found."
 msgstr "Nie znaleziono pliku."
@@ -29530,6 +30100,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr "Niepoprawna wartość"
+
 msgid "added"
 msgstr "dodany"
 
@@ -29616,15 +30192,6 @@ msgstr ""
 msgid "Join"
 msgstr "Połącz"
 
-msgid "Enable"
-msgstr "Aktywuj"
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr "Niepoprawna wartość"
-
 msgid "moved"
 msgstr "przeniesiony"
 
@@ -30486,7 +31053,7 @@ msgid "unexpected column number {0}"
 msgstr ""
 
 msgid "Tagging Preset Tester"
-msgstr "Tester presetów"
+msgstr "Tester szablonów"
 
 msgid ""
 "Open the tagging preset test tool for previewing tagging preset dialogs."
@@ -31674,6 +32241,9 @@ msgstr "Linia z wybranymi węzłami nie może zostać wyrównana."
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Wydziel węzeł"
 
@@ -32303,6 +32873,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Dodaj nazwy z Wikipedii"
 
@@ -32390,6 +32965,3 @@ msgstr "Jedź!"
 
 msgid "Drive a race car on this layer"
 msgstr "Prowadź wyścigówkę po tej warstwie"
-
-#~ msgid "Retirement Home"
-#~ msgstr "Dom seniora"
diff --git a/i18n/po/pt.po b/i18n/po/pt.po
index 64a7c49..be42d19 100644
--- a/i18n/po/pt.po
+++ b/i18n/po/pt.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-04 06:17+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-04 00:01+0000\n"
 "Last-Translator: Rui <xande6ruz at yandex.com>\n"
 "Language-Team: Portuguese <pt at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:57+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:56+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: pt\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -411,6 +411,9 @@ msgstr ""
 "Não foi possível combinar as linhas<br>(Antes de as combinar elas têm de "
 "estar ligadas pelo menos num nó)"
 
+msgid "Reverse Ways"
+msgstr "Inverter Sentido da Linha"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Combinar {0} via"
@@ -470,6 +473,12 @@ msgstr "Eliminar"
 msgid "Delete selected objects."
 msgstr "Elimina os objetos selecionados."
 
+msgid "Delete Layer"
+msgstr "Eliminar Camada"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Elimina a camada. Não elimina o ficheiro associado."
+
 msgid "Toggle dialogs panel"
 msgstr "Mostra os painéis laterais"
 
@@ -1297,9 +1306,6 @@ msgstr "Clique para reiniciar mais tarde."
 msgid "Reverse way"
 msgstr "Inverter linha"
 
-msgid "Reverse Ways"
-msgstr "Inverter Sentido da Linha"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Inverter a direção das linhas selecionadas."
 
@@ -1485,6 +1491,7 @@ msgstr "Dividir linha no nó ou nós selecionados."
 
 msgid "Cannot split since another split operation is already in progress"
 msgstr ""
+"Não é possível dividir uma vez que uma operação de dividir já está a decorrer"
 
 msgid ""
 "The current selection cannot be used for splitting - no node is selected."
@@ -1617,25 +1624,25 @@ msgstr ""
 "a sua cópia e todos os nós serão selecionados."
 
 msgid "Existing node"
-msgstr ""
+msgstr "Nó existente"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Ambos os nós"
 
 msgid "New node"
-msgstr ""
+msgstr "Novo nó"
 
 msgid "Tags / Memberships"
 msgstr "Etiquetas / Membros"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Desligar"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "Onde devem ser colocadas as etiquetas do nó?"
 
 msgid "Where should the memberships of this node be put?"
-msgstr ""
+msgstr "Onde devem ser colocados os membros da relação deste nó?"
 
 msgid "Unglued Node"
 msgstr "Nó Desligado"
@@ -1671,6 +1678,18 @@ msgstr ""
 "porque não está a ver os objetos reais.<br>Mesmo assim quer desligar os "
 "objetos?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "O desligamento afetou {0} relação: {1}"
+msgstr[1] "O desligamento afetou {0} relações: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+"Certifique-se que a relação não está com membros errados ou em falta!"
+msgstr[1] ""
+"Certifique-se que as relações não estão com membros errados ou em falta!"
+
 msgid "Disconnect Node from Way"
 msgstr "Desligar Nó da Linha"
 
@@ -2466,6 +2485,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Adicionar seleção à relação"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Adicionar seleção à relação</strong>: Controle cada uma das "
+"relações para evitar danificar as relações!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Adicionar seleção a {0} relação"
@@ -2511,6 +2537,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Confirmação"
 
+msgid "List of recent relations"
+msgstr "Lista de relações recentes"
+
+msgid "Open recent relation"
+msgstr "Abrir relação recente"
+
+msgid "Relation Editor: {0}"
+msgstr "Editor de Relações: {0}"
+
 msgid "Select in relation list"
 msgstr "Selecionar na lista de relações"
 
@@ -2890,8 +2925,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Esperado <i>min</i>/<i>max</i> após ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr "Não foi possível processar a marca temporal ''{0}''"
+
+msgid "Expecting {0} after {1}"
+msgstr "Esperado {0} após {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Esperado um intervalo de identificadores de objetos"
@@ -3386,13 +3424,14 @@ msgid "Restoring files"
 msgstr "A restaurar ficheiros"
 
 msgid "Unable to delete backup file {0}"
-msgstr ""
+msgstr "Não foi possível eliminar o ficheiro da cópia de segurança {0}"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "Não foi possível eliminar o ficheiro PID {0}"
 
 msgid "Unable to delete archived backup file {0}"
 msgstr ""
+"Não foi possível eliminar o ficheiro guardado da cópia de segurança {0}"
 
 msgid "Illegal latitude value ''{0}''"
 msgstr "Valor de latitude \"{0}\" incorreto"
@@ -3522,9 +3561,6 @@ msgstr ""
 "Tente ativar a rede IPv6, a preferir o IPv6 em vez de IPv4 (apenas funciona "
 "no início do JOSM)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (na linha {0}, coluna {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 "A definição {0} das preferências foi removida por não ser mais utilizada."
@@ -3586,6 +3622,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr "Atualizar fontes disponíveis"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "Não foi encontrada a projeção ''{0}''. O favorito de alinhamento ''{1}'' não "
@@ -3618,7 +3657,7 @@ msgid "Projection"
 msgstr "Projeção"
 
 msgid "Matrix set identifier"
-msgstr ""
+msgstr "Identificador de conjunto de matriz"
 
 msgid "No layers defined by getCapabilities document: {0}"
 msgstr "Sem camadas definidas pelo documento getCapabilities: {0}"
@@ -3846,6 +3885,9 @@ msgstr "texto"
 msgid "areatext"
 msgstr "área_de_texto"
 
+msgid " (at line {0}, column {1})"
+msgstr " (na linha {0}, coluna {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "A projeção UTM (''+proj=utm'') requer o parâmetro ''+zone=...''"
 
@@ -3886,6 +3928,8 @@ msgstr "Elipsóide (+ellps=* or +a=*, +b=*)"
 
 msgid "Grid shift file ''{0}'' for option +nadgrids not supported."
 msgstr ""
+"Não é possível utilizar o ficheiro de alinhamento na grelha a ''{0}'' para a "
+"opção +nadgrids."
 
 msgid ""
 "Unexpected number of arguments for parameter ''towgs84'' (must be 3 or 7)"
@@ -3931,12 +3975,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr ""
+msgid "Albers Equal Area"
+msgstr "Área Equivalente Albers"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parâmetro ''{0}'' necessário."
 
+msgid "standard parallels are opposite"
+msgstr "padrões paralelos são opostos"
+
+msgid "Cassini-Soldner"
+msgstr "Cassini-Soldner"
+
+msgid "Double Stereographic"
+msgstr "Estereográfica Dupla"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Projeção cilíndrica equivalente de Lambert"
+
 msgid "Lambert Conformal Conic"
 msgstr "Cónica Conforme de Lambert"
 
@@ -3946,6 +4002,25 @@ msgstr "Latitude/longitude (Geodésico)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr "Mercator Oblíquo"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+"Parâmetros ''{0}'' e ''{1}'' não adequados para o método de dois pontos."
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr "Valor ilegal para o parâmetro ''{0}'': {1}"
+
+msgid "error in initialization"
+msgstr "erro na inicialização"
+
+msgid "Polar Stereographic"
+msgstr "Polar Estereográfica"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr "Polar Estereográfica: : o parâmetro ''{0}'' tem de ser 90 ou -90."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Mercator Oblíquo Suíço"
 
@@ -4381,7 +4456,7 @@ msgid "Unexpected token:"
 msgstr "Token não esperado:"
 
 msgid "Unexpected token (school holiday parser):"
-msgstr ""
+msgstr "Elemento inesperado (analisador de férias escolares)"
 
 msgid "Unexpected token in number range:"
 msgstr "Token não esperado no intervalo de número:"
@@ -4559,6 +4634,9 @@ msgstr "Espaço em branco na chave inválido"
 msgid "Property values start or end with white space"
 msgstr "Valores começam ou terminam com espaço em branco"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Valores das etiquetas contêm entidades HTML"
 
@@ -4679,7 +4757,7 @@ msgid "No \"to\" way found"
 msgstr "Falta o elemento com a função \"to\" (para)"
 
 msgid "\"from\" way equals \"to\" way"
-msgstr ""
+msgstr "via \"from\" (de) é a mesma de \"to\" (para)"
 
 msgid "No \"via\" node or way found"
 msgstr "Falta o elemento com a função \"via\" (através de)"
@@ -5047,7 +5125,7 @@ msgid "Changes preferences according to the XML file"
 msgstr "Alterar as preferências de acordo com o ficheiro XML"
 
 msgid "Set preference key to value"
-msgstr ""
+msgstr "Atribuir um valor a uma entrada nas preferências"
 
 msgid "Set the language"
 msgstr "Escolher a língua"
@@ -5133,7 +5211,7 @@ msgid "Plugin loading skipped"
 msgstr "Carregamento de plug-ins ignorado"
 
 msgid "Enabled detailed debug level (trace)"
-msgstr ""
+msgstr "Nível de depuração detalhado ativado (trace)"
 
 msgid "Initializing"
 msgstr "A inicializar"
@@ -5317,9 +5395,6 @@ msgstr "Preferências das imagens de fundo"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Mostra várias opções das imagens de fundo"
 
-msgid "Search menu items"
-msgstr "Pesquisar por itens dos menus"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Áudio"
@@ -5378,12 +5453,6 @@ msgstr "Primeiro plano da barra de estado: ativa"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "A latitude geográfica no cursor do rato."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "A longitude geográfico no cursor do rato."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Orientação do segmento a ser desenhado."
 
@@ -5412,6 +5481,18 @@ msgstr "Utilizador:"
 msgid "Do not hide status bar"
 msgstr "Não esconder a barra de estado"
 
+msgid "The northing at the mouse pointer."
+msgstr "A norte do cursor do rato"
+
+msgid "The easting at the mouse pointer."
+msgstr "A este do cursor do rato"
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "A latitude geográfica no cursor do rato."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "A longitude geográfico no cursor do rato."
+
 msgid "System of measurement changed to {0}"
 msgstr "Sistema de medidas alterado para {0}"
 
@@ -6052,7 +6133,7 @@ msgid "all"
 msgstr "tudo"
 
 msgid "sum"
-msgstr ""
+msgstr "soma"
 
 msgid "Please decide which values to keep"
 msgstr "Por favor escolha os valores a manter"
@@ -6322,6 +6403,18 @@ msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 "Abre uma janela de fusão de todos os itens selecionados da lista de cima."
 
+msgid "Resolve to my versions"
+msgstr "Resolver para as minhas versões"
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr "Aplica as minhas alterações em detrimento das alterações dos outros"
+
+msgid "Resolve to their versions"
+msgstr "Resolver para as versões deles"
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr "Aplica as alterações dos outros em detrimento das minhas alterações"
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Surgiu {0} conflito."
@@ -6443,6 +6536,9 @@ msgstr "Mover filtro para baixo."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filtros - Escondidos:{0} Desativados:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Erro no filtro <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Erro no filtro"
 
@@ -6506,7 +6602,7 @@ msgid "map style"
 msgstr "estilo de mapa"
 
 msgid "edit counts"
-msgstr ""
+msgstr "número de alterações"
 
 msgid "not in data set"
 msgstr "não está no conjunto de dados"
@@ -6648,8 +6744,8 @@ msgstr ""
 
 msgid "{0} user last edited the selection:"
 msgid_plural "{0} users last edited the selection:"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} utilizador alterou a seleção:"
+msgstr[1] "{0} utilizadores alteraram a seleção:"
 
 msgid "xml"
 msgstr "xml"
@@ -6896,6 +6992,9 @@ msgstr "Preferências de estilo"
 msgid "Customize the style"
 msgstr "Personalizar o estilo"
 
+msgid "Search menu items"
+msgstr "Pesquisar por itens dos menus"
+
 msgid "Mini map"
 msgstr "Mini mapa"
 
@@ -7274,21 +7373,15 @@ msgstr[1] ""
 "<html>Nenhum dos objetos selecionados está disponível na atual<br>camada de "
 "edição ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Descarregar conteúdo"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Descarregar o conteúdo do conjunto de alterações do servidor OSM"
-
-msgid "Update content"
-msgstr "Atualizar conteúdo"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Atualiza o conteúdo do conjunto de alterações do servidor OSM"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Descarrega e mostra o histórico os objetos selecionados"
 
+msgid "Download objects"
+msgstr "Descarregar objetos"
+
+msgid "Download the current version of the selected objects"
+msgstr "Descarregar a versão atual dos objetos selecionados"
+
 msgid "Select in layer"
 msgstr "Selecionar na camada"
 
@@ -7393,6 +7486,18 @@ msgstr "aberto"
 msgid "closed"
 msgstr "fechado"
 
+msgid "Download content"
+msgstr "Descarregar conteúdo"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Descarregar o conteúdo do conjunto de alterações do servidor OSM"
+
+msgid "Update content"
+msgstr "Atualizar conteúdo"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Atualiza o conteúdo do conjunto de alterações do servidor OSM"
+
 msgid "Changeset ID: "
 msgstr "Identificador do Conjunto de Alterações: "
 
@@ -7631,6 +7736,8 @@ msgid ""
 "Unexpected value for preference ''{0}'', got ''{1}''. Resetting to default "
 "query."
 msgstr ""
+"Valor inesperado para a preferência ''{0}'', obteve-se ''{1}''. A "
+"restabelecer a consulta padrão."
 
 msgid "Cannot create changeset query for open changesets of anonymous user"
 msgstr ""
@@ -7781,8 +7888,8 @@ msgstr "Editar o valor da chave selecionada para todos os objetos"
 msgid "Edit Tags"
 msgstr "Editar Etiquetas"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Ver a página de ajuda sobre a etiqueta (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "Ir à página wiki sobre esta etiqueta"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr ""
@@ -7822,6 +7929,9 @@ msgstr "Copiar todas as etiquetas (chaves/valores)"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Copiar as etiquetas todas para a área de transferência"
 
+msgid "Copy Tags"
+msgstr "Copiar Etiquetas"
+
 msgid "Search Key/Value/Type"
 msgstr "Selecionar todos os objetos do mesmo tipo com esta etiqueta"
 
@@ -7893,6 +8003,27 @@ msgstr "Definir o número de etiquetas adicionadas recentemente"
 msgid "Remember last used tags after a restart"
 msgstr "Lembrar as últimas etiquetas usadas após reiniciar o JOSM"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Ativar"
+
+msgid "Hide"
+msgstr "Escondido"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "para aplicar a primeira sugestão"
 
@@ -8007,9 +8138,6 @@ msgstr "Criar Relação"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Centrar o Editor de Relações na relação ''{0}'' na camada ''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Editor de Relações: {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 "
@@ -8051,6 +8179,74 @@ msgstr ""
 "dependências circulares que são desencorajadas.<br>A ignorar a relação "
 "''{0}''.</html>"
 
+msgid "Select previous Gap"
+msgstr "Selecionar extremo anterior"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Seleciona o membro da relação do extremo anterior"
+
+msgid "Select next Gap"
+msgstr "Selecionar extremo seguinte"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Seleciona o membro da relação do extremo seguinte"
+
+msgid "Zoom to Gap"
+msgstr "Enquadrar extremo"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Enquadra o extremo na sequência de linha"
+
+msgid "Refers to"
+msgstr "refere-se a"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
+"Não foi possível adicionar {0} uma vez que não faz parte do conjunto de dados"
+
+msgid "Download referring relations"
+msgstr "Descarregar relações referentes"
+
+msgid "There were {0} conflicts during import."
+msgstr "Ocorreram {0} conflitos durante a importação."
+
+msgid "including immediate children of parent relations"
+msgstr "incluindo os filhos imediatos das relações pai"
+
+msgid "Load parent relations"
+msgstr "Carregar relações pai"
+
+msgid "Reload"
+msgstr "Atualizar"
+
+msgid "Loading parent relations"
+msgstr "A carregar relações pai"
+
+msgid "Edit the currently selected relation"
+msgstr "Editar a relação selecionada"
+
+msgid "Apply Changes"
+msgstr "Aplicar Alterações"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Criar relação na camada ''{0}''"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Criar relação na camada ''{0}''"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Editar relação nº {0} na camada ''{1}''"
+
+msgid "Load relation"
+msgstr "Carregar relação"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Adicionar todos os objetos do conjuntos de dados atual abaixo do primeiro "
+"membro"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -8064,68 +8260,134 @@ msgstr ""
 "Adicionar todos os objetos do conjuntos de dados atual acima do primeiro "
 "membro selecionado"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Adicionar todos os objetos do conjuntos de dados atual abaixo do primeiro "
-"membro"
+msgid "Apply the current updates"
+msgstr "Aplicar as alterações"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr ""
-"Remover todos os membros que se refiram a algum dos objetos selecionados"
+msgid "Cancel the updates and close the dialog"
+msgstr "Cancelar as alterações e fechar janela"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Yes, save the changes and close"
+msgstr "Gravar as alterações"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Clique para gravar as alterações e fechar o editor de relações"
+
+msgid "No, discard the changes and close"
+msgstr "Não gravar e fechar o editor de relações"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Clique para deitar fora as alterações e fechar o editor de relações"
+
+msgid "Cancel, continue editing"
+msgstr "Continuar a editar a relação"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Selecionar os membros da relação que se referem a objetos na seleção atual"
+"Clique para regressar ao editor de relações e continuar a editar a relação"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 msgstr ""
-"Selecionar membros da relação que se referem a {0} objetos na seleção atual"
+"<html>A relação foi alterada.<br><br>Quer gravar as alterações?</html>"
 
-msgid "Select objects for selected relation members"
-msgstr "Selecionar objetos para os membros selecionados da relação"
+msgid "Unsaved changes"
+msgstr "Alterações não gravadas"
 
-msgid "Sort the relation members"
-msgstr "Ordenar os membros da relação"
+msgid "Delete the currently edited relation"
+msgstr "Eliminar a relação editada"
 
-msgid "Relation Editor: Sort"
-msgstr "Editor de Relações: Ordenar"
+msgid "Relation Editor: Download Members"
+msgstr "Editor de Relações: Descarregar Membros"
 
-msgid "Sort below"
-msgstr "Ordenar abaixo"
+msgid "Download all incomplete members"
+msgstr "Descarregar todos os membros incompletos"
 
-msgid "Sort the selected relation members and all members below"
-msgstr "Ordenar os membros selecionados da relação e todos os membros abaixo"
+msgid "Download Members"
+msgstr "Descarregar Membros"
 
-msgid "Reverse the order of the relation members"
-msgstr "Inverter a ordem dos membros da relação"
+msgid "Download selected incomplete members"
+msgstr "Descarregar os membros incompletos selecionados"
 
-msgid "Reverse"
-msgstr "Inverter"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Editar a relação a que o membro da relação depende"
 
-msgid "Move the currently selected members up"
-msgstr "Mover para cima os membros selecionados"
+msgid "Relation Editor: Move Down"
+msgstr "Editor de Relações: Mover para Baixo"
+
+msgid "Move the currently selected members down"
+msgstr "Mover para baixo os membros selecionados"
 
 msgid "Relation Editor: Move Up"
 msgstr "Editor de Relações: Mover para Cima"
 
-msgid "Move the currently selected members down"
-msgstr "Mover para baixo os membros selecionados"
+msgid "Move the currently selected members up"
+msgstr "Mover para cima os membros selecionados"
 
-msgid "Relation Editor: Move Down"
-msgstr "Editor de Relações: Mover para Baixo"
+msgid "Apply the updates and close the dialog"
+msgstr "Aplicar as alterações e fechar janela"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Remover os membros selecionados desta relação"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Os membros da área de transferência não podem ser adicionados porque não "
+"estão incluídos na camada atual"
+
+msgid "Relation Editor: Refresh"
+msgstr "Editor de Relação: Atualizar"
+
+msgid "Refresh relation from data layer"
+msgstr "Atualizar a relação com os dados da camada"
+
+msgid "Refresh"
+msgstr "Atualizar"
+
+msgid "Yes, discard changes and reload"
+msgstr "Sim, eliminar alterações e recarregar"
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
+"Clique para eliminar as alterações e tornar a carregar os dados da camada"
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+"<html>Tem alterações por gravar nesta janela de edição.<br><br>Quer eliminar "
+"estas alterações e tornar a carregar os dados da camada?</html>"
+
+msgid "Click to close window"
+msgstr "Clique para fechar a janela"
+
+msgid "No, continue editing"
+msgstr "Não, continuar a editar"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+"<html>A relação foi eliminada fora da janela do editor de "
+"relação<br><br>Quer fechar esta janela?</html>"
+
+msgid "Deleted relation"
+msgstr "Relação eliminada"
 
 msgid "Relation Editor: Remove"
 msgstr "Editor de Relações: Remover"
 
-msgid "Delete the currently edited relation"
-msgstr "Eliminar a relação editada"
+msgid "Remove the currently selected members from this relation"
+msgstr "Remover os membros selecionados desta relação"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
+"Remover todos os membros que se refiram a algum dos objetos selecionados"
+
+msgid "Reverse the order of the relation members"
+msgstr "Inverter a ordem dos membros da relação"
+
+msgid "Reverse"
+msgstr "Inverter"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -8142,13 +8404,6 @@ msgstr "Sim, criar um conflito e fechar"
 msgid "Click to create a conflict and close this relation editor"
 msgstr "Clique para criar um conflito e fechar o editor de relações"
 
-msgid "No, continue editing"
-msgstr "Não, continuar a editar"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Clique para regressar ao editor de relações e continuar a editar a relação"
-
 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 "
@@ -8165,53 +8420,18 @@ msgstr ""
 "<html>A camada ''{0}'' já tem um conflito do objeto<br>''{1}''.<br>Resolva "
 "este conflito primeiro e depois tente de novo.</html>"
 
-msgid "Apply the current updates"
-msgstr "Aplicar as alterações"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Aplicar as alterações e fechar janela"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Cancelar as alterações e fechar janela"
-
-msgid "Yes, save the changes and close"
-msgstr "Gravar as alterações"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Clique para gravar as alterações e fechar o editor de relações"
-
-msgid "No, discard the changes and close"
-msgstr "Não gravar e fechar o editor de relações"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Clique para deitar fora as alterações e fechar o editor de relações"
-
-msgid "Cancel, continue editing"
-msgstr "Continuar a editar a relação"
+msgid "Select objects for selected relation members"
+msgstr "Selecionar objetos para os membros selecionados da relação"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
+"Select relation members which refer to objects in the current selection"
 msgstr ""
-"<html>A relação foi alterada.<br><br>Quer gravar as alterações?</html>"
-
-msgid "Unsaved changes"
-msgstr "Alterações não gravadas"
-
-msgid "Add an empty tag"
-msgstr "Adicionar uma etiqueta em branco"
-
-msgid "Download all incomplete members"
-msgstr "Descarregar todos os membros incompletos"
-
-msgid "Download Members"
-msgstr "Descarregar Membros"
-
-msgid "Relation Editor: Download Members"
-msgstr "Editor de Relações: Descarregar Membros"
+"Selecionar os membros da relação que se referem a objetos na seleção atual"
 
-msgid "Download selected incomplete members"
-msgstr "Descarregar os membros incompletos selecionados"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Selecionar membros da relação que se referem a {0} objetos na seleção atual"
 
 msgid "Sets a role for the selected members"
 msgstr "Aplicar esta função nos membros selecionados"
@@ -8239,72 +8459,17 @@ msgstr "Não, não aplicar"
 msgid "Confirm empty role"
 msgstr "Confirmar função em branco"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Editar a relação a que o membro da relação depende"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Os membros da área de transferência não podem ser adicionados porque não "
-"estão incluídos na camada atual"
-
-msgid "Select previous Gap"
-msgstr "Selecionar extremo anterior"
-
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Seleciona o membro da relação do extremo anterior"
-
-msgid "Select next Gap"
-msgstr "Selecionar extremo seguinte"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Seleciona o membro da relação do extremo seguinte"
-
-msgid "Zoom to Gap"
-msgstr "Enquadrar extremo"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Enquadra o extremo na sequência de linha"
-
-msgid "Refers to"
-msgstr "refere-se a"
-
-msgid "Download referring relations"
-msgstr "Descarregar relações referentes"
-
-msgid "There were {0} conflicts during import."
-msgstr "Ocorreram {0} conflitos durante a importação."
-
-msgid "including immediate children of parent relations"
-msgstr "incluindo os filhos imediatos das relações pai"
-
-msgid "Load parent relations"
-msgstr "Carregar relações pai"
-
-msgid "Reload"
-msgstr "Atualizar"
-
-msgid "Loading parent relations"
-msgstr "A carregar relações pai"
-
-msgid "Edit the currently selected relation"
-msgstr "Editar a relação selecionada"
-
-msgid "Apply Changes"
-msgstr "Aplicar Alterações"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Criar relação na camada ''{0}''"
+msgid "Relation Editor: Sort"
+msgstr "Editor de Relações: Ordenar"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Criar relação na camada ''{0}''"
+msgid "Sort the relation members"
+msgstr "Ordenar os membros da relação"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Editar relação nº {0} na camada ''{1}''"
+msgid "Sort below"
+msgstr "Ordenar abaixo"
 
-msgid "Load relation"
-msgstr "Carregar relação"
+msgid "Sort the selected relation members and all members below"
+msgstr "Ordenar os membros selecionados da relação e todos os membros abaixo"
 
 msgid "way is connected"
 msgstr "a linha está ligada"
@@ -8754,6 +8919,11 @@ msgid ""
 msgstr ""
 "<html>Versão <strong>{0}</strong> criada em <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "Este conjunto de alterações tem {0} comentário"
+msgstr[1] "Este conjunto de alterações tem {0} comentários"
+
 msgid "Changeset"
 msgstr "Conjunto de alterações"
 
@@ -8883,15 +9053,15 @@ msgid "Upload"
 msgstr "Enviar"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Selecione o que pretende fazer com esta camada.<br/>Ative \"enviar\" "
-"para que as alterações sejam enviadas para o servidor do "
-"OpenStreetMap.<br/>Ative \"Gravar\" Para gravar a camada no ficheiro "
-"indicado na coluna à esquerda.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Forneça por favor um comentário breve sobre as alterações que fez:"
@@ -9093,9 +9263,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr "Não foi possível obter as informações do utilizador. Erro: {0}"
 
-msgid "Download objects"
-msgstr "Descarregar objetos"
-
 msgid "Initializing nodes to download ..."
 msgstr "A inicializar nós a descarregar ..."
 
@@ -9701,8 +9868,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} objeto a eliminar:"
 msgstr[1] "{0} objetos a eliminar:"
 
-msgid "Show Tile Info"
-msgstr "Ver Informação da Tela"
+msgid "Show tile info"
+msgstr "Mostrar informações da tela"
 
 msgid "Tile Info"
 msgstr "Informação da Tela"
@@ -9710,17 +9877,23 @@ msgstr "Informação da Tela"
 msgid "Metadata "
 msgstr "Metadados "
 
-msgid "Auto Zoom"
-msgstr "Enquadramento Automático"
+msgid "Load tile"
+msgstr "Carregar tela"
+
+msgid "Auto zoom"
+msgstr "Enquadramento automático"
 
 msgid "Auto load tiles"
 msgstr "Carregar automaticamente as telas"
 
-msgid "Load All Tiles"
-msgstr "Carregar Todas as Telas"
+msgid "Show errors"
+msgstr "Mostrar erros"
 
-msgid "Load All Error Tiles"
-msgstr "Carregar Todas as Telas com Erros"
+msgid "Load all tiles"
+msgstr "Carregar todas as telas"
+
+msgid "Load all error tiles"
+msgstr "Carregar todas as telas com erro"
 
 msgid "Zoom to native resolution"
 msgstr "Enquadrar na resolução nativa"
@@ -9728,27 +9901,17 @@ msgstr "Enquadrar na resolução nativa"
 msgid "Change resolution"
 msgstr "Alterar resolução"
 
-msgid "Failed to create tile source"
-msgstr "Não foi possível criar a fonte das telas"
-
-msgid "Show Errors"
-msgstr "Mostrar Erros"
-
-msgid "Load Tile"
-msgstr "Carregar Tela"
-
 msgid "Increase zoom"
 msgstr "Aproximar enquadramento"
 
 msgid "Decrease zoom"
 msgstr "Afastar enquadramento"
 
-msgid "Snap to tile size"
-msgstr "Enquadrar na resolução das telas"
+msgid "Flush tile cache"
+msgstr "Limpar ficheiros temporários das telas"
 
-msgid "Flush Tile Cache"
-msgstr ""
-"Eliminar ficheiros temporários das telas (pode demorar alguns minutos)"
+msgid "Failed to create tile source"
+msgstr "Não foi possível criar a fonte das telas"
 
 msgid "zoom in to load any tiles"
 msgstr "aproximar o enquadramento para carregar qualquer tela"
@@ -9796,6 +9959,8 @@ msgid ""
 "Aerial imagery \"{0}\" might be misaligned. Please check its offset using "
 "GPS tracks!"
 msgstr ""
+"As imagens aéreas de \"{0}\" podem estar desalinhadas. Por favor confirme o "
+"alinhamento com trilhos GPS!"
 
 msgid "http://wiki.openstreetmap.org/wiki/Using_Imagery"
 msgstr "http://wiki.openstreetmap.org/wiki/Using_Imagery"
@@ -10197,6 +10362,9 @@ msgstr ""
 "Ocorreu um erro ao processar o alinhamento.\n"
 "Formato esperado: {0}"
 
+msgid "Geotagged Images"
+msgstr "Imagens Geo-posicionadas"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "A extrair localizações GPS do EXIF"
 
@@ -10221,9 +10389,6 @@ msgstr "Ocorreu um erro ao obter os ficheiros no diretório {0}\n"
 msgid "One of the selected files was null"
 msgstr "Um dos ficheiros selecionados não contém dados"
 
-msgid "Geotagged Images"
-msgstr "Imagens Geo-posicionadas"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} imagem carregada."
@@ -10617,12 +10782,8 @@ msgstr ""
 "Ocorreu um erro ao processar os estilos de visualização do mapa ''{0}''. "
 "Erro encontrado: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Foi encontrado em desuso ''{0}'' em ''{1}'' que será removido brevemente. Em "
-"vez disso use ''{2}''."
+msgid "Failed to locate image ''{0}''"
+msgstr "Não foi possível localizar a imagem ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Padrão de tracejado inválido. Os valores têm de ser positivos."
@@ -10671,6 +10832,12 @@ msgstr "URL do Token de Acesso:"
 msgid "Authorize URL:"
 msgstr "URL de autorização:"
 
+msgid "OSM login URL:"
+msgstr "URL de autenticação OSM:"
+
+msgid "OSM logout URL:"
+msgstr "URL de desautenticação OSM:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Clique para restabelecer as opções OAuth para os valores originais"
 
@@ -10746,13 +10913,6 @@ msgstr "Nome de utilizador: "
 msgid "Password: "
 msgstr "Palavra-passe: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Aviso:</strong> O JOSM inicia a sessão <strong>uma vez</strong> "
-"usando uma ligação segura."
-
 msgid "Granted rights"
 msgstr "Permissões"
 
@@ -10896,6 +11056,15 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Escolha um processo de autorização: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+"<strong>Aviso:</strong> Uma vez que não está a usar a API OSM padrão, "
+"certifique-se que definiu uma chave de consumidor e segredo do OAuth em "
+"<i>Parâmetros OAuth Avançados</i>."
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Obter um Token de Acesso para ''{0}''"
 
@@ -11310,6 +11479,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr "Barra de ferramentas: {0}"
 
+msgid "add entry"
+msgstr "adicionar entrada"
+
+msgid "Remove the selected entry"
+msgstr "Remover a entrada selecionada"
+
+msgid "Key: {0}"
+msgstr "Chave: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Preferências Avançadas"
 
@@ -11406,18 +11584,9 @@ msgstr "Escolha o ficheiro de perfil"
 msgid "Change list setting"
 msgstr "Alterar preferência de lista"
 
-msgid "Key: {0}"
-msgstr "Chave: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Alterar preferência de lista de listas"
 
-msgid "add entry"
-msgstr "adicionar entrada"
-
-msgid "Remove the selected entry"
-msgstr "Remover a entrada selecionada"
-
 msgid "Change list of maps setting"
 msgstr "Alterar preferência de lista de mapas"
 
@@ -11705,6 +11874,8 @@ msgid ""
 "Display keys which have been deemed uninteresting to the point that they can "
 "be silently removed."
 msgstr ""
+"Mostrar chaves que são agora consideradas inúteis e que podem ser removidas "
+"automaticamente."
 
 msgid "Options that affect drawing performance"
 msgstr "Opções que influenciam a performance"
@@ -12109,7 +12280,7 @@ msgstr ""
 "Tamanho máximo da cache no disco (por cada serviço de imagens aéreas) em MB: "
 
 msgid "Tiles zoom offset:"
-msgstr ""
+msgstr "Alinhamento de aproximação das telas:"
 
 msgid "Imagery Preferences"
 msgstr "Preferências das Imagens de Fundo"
@@ -12160,9 +12331,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr "Selecione pelo menos uma fonte de imagem de fundo a copiar."
 
-msgid "reload defaults"
-msgstr "Atualizar lista de fontes disponíveis de imagens de fundo."
-
 msgid "Menu Name"
 msgstr "Nome no Menu"
 
@@ -12472,6 +12640,9 @@ msgid_plural ""
 msgstr[0] "<strong>Não foi possível</strong> descarregar o módulo:"
 msgstr[1] "<strong>Não foi possível</strong> descarregar {0} módulos:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Mensagem de erro (não traduzida): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Por favor reinicie o JOSM para ativar os módulos descarregados"
 
@@ -12662,7 +12833,7 @@ msgid "LKS-92 (Latvia TM)"
 msgstr "LKS-92 (Letónia TM)"
 
 msgid "Rijksdriehoekscoördinaten (Netherlands)"
-msgstr ""
+msgstr "Rijksdriehoekscoördinaten (Países Baixos)"
 
 msgid "SWEREF99 13 30 / EPSG:3008 (Sweden)"
 msgstr "SWEREF99 13 30 / EPSG:3008 (Suécia)"
@@ -12992,13 +13163,13 @@ msgid "Please enter the OSM API URL."
 msgstr "Por favor introduza o endereço da API OSM."
 
 msgid "Use Overpass server for object downloads"
-msgstr ""
+msgstr "Usar servidor Overpass para descarregar objetos"
 
 msgid "Overpass server: "
 msgstr "Servidor Overpass: "
 
 msgid "Overpass server"
-msgstr ""
+msgstr "Servidor Overpass"
 
 msgid "Proxy settings"
 msgstr "Definições de Proxy"
@@ -13171,12 +13342,6 @@ msgstr "Valores numéricos"
 msgid "Checks for wrong numeric values"
 msgstr "Verifica se existem erros em valores numéricos"
 
-msgid "Power"
-msgstr "Energia"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Verifica se existem erros em infraestruturas de energia"
-
 msgid "Religion"
 msgstr "Religião"
 
@@ -13274,6 +13439,9 @@ msgstr "Utilizar modelo ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "São suportados os elementos do tipo {0}"
 
+msgid "This preset also sets: {0}"
+msgstr "Este modelo também aplica: {0}"
+
 msgid "Edit also …"
 msgstr "Editar também …"
 
@@ -13348,6 +13516,9 @@ msgstr "Procurar modelo de etiquetas"
 msgid "Presets"
 msgstr "Modelos de Etiquetas"
 
+msgid "Search for objects by preset..."
+msgstr "Procurar por objetos pelo modelo de etiquetas..."
+
 msgid "Search for objects by preset"
 msgstr "Procurar objetos pela etiqueta"
 
@@ -13401,6 +13572,9 @@ msgstr ""
 "Modelo de etiquetas com erros \"{0}-{1}\" - o número de itens em "
 "''short_descriptions'' tem de ser igual ao número de ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "Isto corresponde à chave ''{0}''"
+
 msgid "More information about this feature"
 msgstr "Mais informação sobre esta funcionalidade"
 
@@ -13497,18 +13671,34 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "falso: a propriedade não está definida"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "falso: a propriedade ''{0}'' está definida como negativo"
+
 msgid "true: the property is explicitly switched on"
 msgstr "verdadeiro: a propriedade está atribuída"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "falso: a propriedade ''{0}'' está definida como afirmativo"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "parcial: objetos diferentes selecionados com propriedades diferentes, não "
 "alterar"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+"parcial: diferentes objetos têm valores diferentes de ''{0}'', não altere"
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "não definido: não atribuir esta propriedade nos objetos selecionados"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+"não definido: não definir a propriedade ''{0}'' nos objetos selecionados"
+
 msgid "Cut"
 msgstr "Cortar"
 
@@ -13712,7 +13902,7 @@ msgid "GeoJSON Files"
 msgstr "Ficheiros GeoJSON"
 
 msgid "Projected GeoJSON Files"
-msgstr ""
+msgstr "Ficheiros GeoJSON Projetados"
 
 msgid "Layer ''{0}'' not supported"
 msgstr "Camada ''{0}'' não suportada"
@@ -13942,7 +14132,7 @@ msgid "Closing changeset..."
 msgstr "A fechar o conjunto de alterações..."
 
 msgid "No changeset present for diff upload."
-msgstr ""
+msgstr "Sem nenhum conjunto de alterações para poder enviar."
 
 msgid "Preparing upload request..."
 msgstr "A preparar o pedido para envio..."
@@ -13990,9 +14180,13 @@ msgstr "Ficheiros de Servidor OSM comprimidos em bzip2"
 
 msgid "Prolog of OsmChange document already written. Please write only once."
 msgstr ""
+"O Prolog do documento OsmChange já foi gravado. Por favor grave apenas uma "
+"vez."
 
 msgid "Prolog of OsmChange document not written yet. Please write first."
 msgstr ""
+"O Prolog do documento OsmChange ainda não foi gravado. Por favor grave "
+"primeiro."
 
 msgid "OsmChange File"
 msgstr "Ficheiros OsmChange"
@@ -14059,6 +14253,9 @@ msgstr "A autenticação da ligação HTTP com uma assinatura de OAuth falhou"
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Valor não esperado na preferência ''{0}''. Obtido ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "Ficheiros de Servidor OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Ocorreu um erro ao gravar.<br>O erro é:<br>{0}</html>"
 
@@ -14075,9 +14272,6 @@ msgstr "Ficheiros de Servidor OSM comprimidos em gzip"
 msgid "Parsing OSM history data ..."
 msgstr "A processar dados do histórico OSM..."
 
-msgid "OSM Server Files"
-msgstr "Ficheiros de Servidor OSM"
-
 msgid "Invalid dataset"
 msgstr "Conjunto de dados não válido"
 
@@ -14288,9 +14482,6 @@ msgstr "A enviar dados ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Foi encontrado um identificador 0 inesperado para o objeto OSM"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Ficheiros de Servidor OSM comprimidos em zip"
-
 msgid "Downloading data..."
 msgstr "A descarregar os dados"
 
@@ -14446,7 +14637,7 @@ msgid "The longitudes must be between {0} and {1}"
 msgstr "O valor das longitudes deve estar entre {0} e {1}"
 
 msgid "The minima must be less than the maxima"
-msgstr ""
+msgstr "O valor mínimo tem de ser menor que o valor máximo"
 
 msgid "Remote Control has been asked to load the following data:"
 msgstr "Foi pedido ao Controlo Remoto para carregar os seguintes dados:"
@@ -14477,22 +14668,29 @@ msgstr ""
 "Foi pedido ao Controlo Remoto para indicar a versão do protocolo. Isto "
 "permite que os sites possam detetar se o JOSM está aberto."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
+msgid "local file"
+msgstr "ficheiro local"
+
+msgid "include"
+msgstr "incluir"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "A camada contém dados por gravar - gravar num ficheiro."
+
+msgid "Layer does not contain unsaved data."
+msgstr "A camada não contém dados por gravar."
 
 msgid "Data:"
 msgstr "Dados:"
 
-msgid "local file"
-msgstr "ficheiro local"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Link para um ficheiro de dados OSM no seu disco local."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Ligação a um ficheiro GPX no computador local."
+msgid "Include OSM data in the .joz session file."
+msgstr "Incluir dados OSM no ficheiro de sessão .joz"
 
-msgid "include"
-msgstr "incluir"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Ligação para um ficheiro de dados GPX no seu computador."
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Incluir dados GPX (trilhos GPS) no ficheiro da sessão .joz"
@@ -14503,6 +14701,16 @@ msgstr "Sem associação de ficheiros"
 msgid "GPX data will be included in the session file."
 msgstr "Os dados GPX serão incluídos no ficheiro da sessão."
 
+msgid "OSM data will be included in the session file."
+msgstr "Os dados OSM serão incluídos no ficheiro de sessão."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Não são suportados os meta dados para a camada geoimage na versão ''{0}''. "
+"Esperava-se: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14523,21 +14731,12 @@ msgstr ""
 msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
+"Não são suportados os meta dados para a camada de marcadores na versão "
+"''{0}''. Esperava-se: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "A camada contém dados por gravar - gravar num ficheiro."
-
-msgid "Layer does not contain unsaved data."
-msgstr "A camada não contém dados por gravar."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Link para um ficheiro de dados OSM no seu disco local."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Incluir dados OSM no ficheiro de sessão .joz"
-
-msgid "OSM data will be included in the session file."
-msgstr "Os dados OSM serão incluídos no ficheiro de sessão."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -14958,7 +15157,7 @@ msgid "Downloading plugin list from ''{0}''"
 msgstr "A descarregar a lista de módulos de ''{0}''"
 
 msgid "Unsuccessful HTTP request"
-msgstr ""
+msgstr "O pedido HTTP não foi bem sucedido"
 
 msgid "Plugin list download error"
 msgstr "Erro ao descarregar a lista de módulos"
@@ -15402,9 +15601,6 @@ msgstr ""
 "grande.<br>Por favor escolha uma área menor ou como alternativa use um "
 "ficheiro exportado, fornecido pela comunidade do OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Mensagem de erro (não traduzida): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15452,6 +15648,9 @@ msgstr ""
 "Foram detetados demasiados redirecionamentos do endereço para "
 "descarregamento. A abortar."
 
+msgid "Fetching content..."
+msgstr "A obter dados..."
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "Não foi possível encontrar a tradução para o idioma {0}. A repor {1}."
@@ -15463,9 +15662,6 @@ msgstr ""
 "Erro fatal: não foi possível localizar a imagem ''{0}''. Isto é um problema "
 "sério de configuração. O JOSM irá parar de funcionar."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Não foi possível localizar a imagem ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Não foi possível lidar com o ficheiro ZIP ''{0}''. Erro: {1}"
 
@@ -15507,7 +15703,7 @@ msgid "reserved"
 msgstr "reservado"
 
 msgid "Unable to delete old preferences file {0}"
-msgstr ""
+msgstr "Não foi possível eliminar o ficheiro antigo das preferências  {0}"
 
 msgid "Outdated Java version"
 msgstr "Versão do JAVA desatualizada"
@@ -15633,7 +15829,10 @@ msgstr ""
 "contém nenhum elemento do JOSM ou texto adequado. </p></html>"
 
 msgid "Unable to delete file {0}"
-msgstr ""
+msgstr "Não foi possível eliminar o ficheiro {0}"
+
+msgid "Unable to create directory {0}"
+msgstr "Não foi possível criar o diretório {0}"
 
 msgid "ms"
 msgstr "ms"
@@ -15966,9 +16165,6 @@ msgstr "Abrir ficheiro selecionado"
 msgid "Open selected file."
 msgstr "Abrir ficheiro selecionado."
 
-msgid "Refresh"
-msgstr "Atualizar"
-
 msgid "Rename File"
 msgstr "Alterar Nome do Ficheiro"
 
@@ -16062,6 +16258,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Transportes Públicos (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (Estilo Alemão)"
 
@@ -16128,35 +16327,38 @@ msgstr "OSM Inspector: Endereços"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Fronteiras (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr "SIG Instituto Geográfico Nacional - Espanha (WMTS)"
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI preto e branco 2.5m"
 
 msgid "LPI NSW Base Map"
-msgstr ""
+msgstr "LPI NSW Mapa Base"
 
 msgid "LPI NSW Topographic Map"
-msgstr ""
+msgstr "LPI NSW Mapa Topográfico"
 
 msgid "LPI NSW Imagery"
-msgstr ""
+msgstr "LPI NSW Imagens Aéreas"
 
 msgid "LPI NSW Administrative Boundaries Suburb"
-msgstr ""
+msgstr "LPI NSW Fronteiras Administrativas - Subúrbio"
 
 msgid "LPI NSW Administrative Boundaries LGA"
-msgstr ""
+msgstr "LPI NSW Fronteiras Administrativas - LGA"
 
 msgid "LPI NSW Administrative Boundaries County"
-msgstr ""
+msgstr "LPI NSW Fronteiras Administrativas - Condado"
 
 msgid "LPI NSW Administrative Boundaries Parish"
-msgstr ""
+msgstr "LPI NSW Fronteiras Administrativas - Paróquia"
 
 msgid "LPI NSW Administrative Boundaries State Forest"
-msgstr ""
+msgstr "LPI NSW Fronteiras Administrativas - Floresta Estadual"
 
 msgid "LPI NSW Administrative Boundaries NPWS Reserve"
-msgstr ""
+msgstr "LPI NSW Fronteiras Administrativas - Subúrbio - Reserva NPWS"
 
 msgid "Geoimage.at MaxRes"
 msgstr "Geoimage.at MaxRes"
@@ -16224,14 +16426,17 @@ msgstr "URBIS 2015 imagens aéreas"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW(allonie) PICC numerical imagery"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 imagens aéreas"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW(allonie) 2015 imagens aéreas"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 imagens aéreas"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW(allonie) 2012-2013 imagens aéreas"
 
-msgid "TEC bus lines"
-msgstr ""
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW(allonie) 2009-2010 imagens aéreas"
+
+msgid "TEC bus lines (2014)"
+msgstr "TEC linhas de autocarros (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos (Brasil)"
@@ -16273,7 +16478,7 @@ msgid "Geodatastyrelsen (Denmark)"
 msgstr "Geodatastyrelsen (Dinamarca)"
 
 msgid "Geodatastyrelsen Cadastral Parcels INSPIRE View"
-msgstr ""
+msgstr "Geodatastyrelsen Cadastral Parcels INSPIRE View"
 
 msgid "Geodatastyrelsen DTK Kort25"
 msgstr "Geodatastyrelsen DTK Kort25"
@@ -16353,6 +16558,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Route 500"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Toulouse - Ortofotoplano 2015"
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -16375,9 +16583,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Língua Sorábia)"
 
@@ -16397,13 +16602,13 @@ msgid "Bavaria (2 m)"
 msgstr "Baviera (2 m)"
 
 msgid "Stuttgart (aerial imagery)"
-msgstr ""
+msgstr "Estugarda (imagens aéreas)"
 
 msgid "Erlangen aerial imagery (2013 6.25 cm)"
-msgstr ""
+msgstr "Erlangen imagens aéreas (2013 6.25 cm)"
 
 msgid "Erlangen 2011 aerial imagery (5.0 cm)"
-msgstr ""
+msgstr "Erlangen 2011 imagens aéreas (5.0 cm)"
 
 msgid "Old map of Zwenkau - TK25 Messtischblatt (4739; 1906; PROJ.4-rect)"
 msgstr ""
@@ -16413,14 +16618,15 @@ msgid "Old map of Pegau - TK25 Messtischblatt (4839; 1909; PROJ.4-rect)"
 msgstr "Mapa antigo Pegau - TK25 Messtischblatt (4839; 1909; PROJ.4-rect)"
 
 msgid "Physical DE - Physical map (natural regions)"
-msgstr ""
+msgstr "Physical DE - Mapa físico (regiões naturais)"
 
 msgid "Physical DE:Harz - Physical map (natural regions)"
-msgstr ""
+msgstr "Physical DE:Harz - Mapa físico (regiões naturais)"
 
 msgid ""
 "Physical DE:Harz - Overlay for Bing (e.g. use opacity between 20% and 50%)"
 msgstr ""
+"Physical DE:Harz - Sobre-camada para o Bing (usar opacidade entre 20% e 50%)"
 
 msgid "Maps4BW (LGL-BW, www.lgl-bw.de)"
 msgstr "Maps4BW (LGL-BW, www.lgl-bw.de)"
@@ -16449,6 +16655,15 @@ msgstr "Imagens de Drone 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Drone Imagery Canaan(Haiti) Novembro 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr "FÖMI ortofoto 2000"
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr "Interspect Budapeste ortofoto2014"
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr "5 distritos de Budapeste: III, IV, XIII, XIV, XV"
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Departamento de Guerra da Irlanda Britânica 1:25k GSGS 3906"
 
@@ -16481,13 +16696,16 @@ msgid "OSMIE Local Election Areas"
 msgstr "OSMIE Áreas de Eleições Locais"
 
 msgid "OSMIE Dail Election Areas"
-msgstr ""
+msgstr "OSMIE Dail Election Areas"
+
+msgid "OSMIE T.ie Land not in Counties"
+msgstr "OSMIE T.ie Land not in Counties"
 
 msgid "Lodi - Italy"
 msgstr "Lodi - Itália"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardia - Itália (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Lombardia - Itália (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Sicília - Itália"
@@ -16541,7 +16759,7 @@ msgid "Niger Delta Oct 2012 Landsat"
 msgstr "Delta do Níger Outubro 2012 Landsat"
 
 msgid "Svalbard -Orthophoto 2009/2011 EPSG:25833"
-msgstr ""
+msgstr "Svalbard -Ortofoto 2009/2011 EPSG:25833"
 
 msgid "Gaza Strip - Pléiades - 2014/07/06"
 msgstr "Faixa de Gaza - Pléiades - 2014/07/06"
@@ -16808,7 +17026,7 @@ msgid "Taiwan Village Boundaries"
 msgstr "Taiwan Fronteiras de Aldeias"
 
 msgid "Taiwan Land-Section Data"
-msgstr ""
+msgstr "Taiwan Land-Section Data"
 
 msgid "NLSC Open Data WMTS"
 msgstr "NLSC Dados Abertos WMTS"
@@ -16862,7 +17080,7 @@ msgid "NLS - OS 6-inch Scotland 1842-82"
 msgstr "NLS - OS 6-polegadas Escócia 1842-82"
 
 msgid "NLS - OS 6-inch County Series 1888-1913"
-msgstr ""
+msgstr "NLS - OS 6polegadas County Series 1888-1913"
 
 msgid "NLS - OS 1:25k 1st Series 1937-61"
 msgstr "NLS - OS 1:25k 1st Series 1937-61"
@@ -16871,7 +17089,7 @@ msgid "NLS - OS 1-inch 7th Series 1955-61"
 msgstr "NLS - OS 1-polegada 7th Series 1955-61"
 
 msgid "NLS - OS 25-inch (Scotland) 1892-1905"
-msgstr ""
+msgstr "NLS - OS 25polegadas (Escócia) 1892-1905"
 
 msgid "OS 1:25k historic (OSM-Best)"
 msgstr "OS 1:25k histórico (OSM-Best)"
@@ -17060,7 +17278,7 @@ msgid "OS Town Plans, Oban 1867-1868 (NLS)"
 msgstr "OS Town Plans, Oban 1867-1868 (NLS)"
 
 msgid "OS Town Plans, Paisley 1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Paisley 1858 (NLS)"
 
 msgid "OS Town Plans, Peebles 1856 (NLS)"
 msgstr "OS Town Plans, Peebles 1856 (NLS)"
@@ -17195,11 +17413,14 @@ msgid "(Warning: Experimental!) Tool for conflating (merging) data."
 msgstr "(Aviso: Experimental!) Ferramenta para unir dados."
 
 msgid "Downloads new data when you pan/zoom"
-msgstr ""
+msgstr "Descarrega dados do OpenStreetMap à medida que se deloca o mapa."
 
 msgid "Create a grid of ways."
 msgstr "Criar uma grelha de linhas."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "Criação e manipulação de endereços e edifícios na República Checa."
@@ -17237,6 +17458,9 @@ msgid ""
 "Provides the EJML library for other JOSM plugins. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
+"Fornece a biblioteca EJML a outros módulos do JOSM. Não é suposto ser "
+"instalado diretamente pelo utilizador, mas sim automaticamente quando outros "
+"módulos necessitam dele."
 
 msgid "Shows the elevation profile and some statistical data of a GPX track."
 msgstr ""
@@ -17276,6 +17500,8 @@ msgstr ""
 msgid ""
 "Analyse a set of GPS points to obtain its centre and direction of spread."
 msgstr ""
+"Analisa um conjuntos de pontos GPS para obter o seu centro e a direção da "
+"dispersão."
 
 msgid "Allows to filter out unnecessary GPS tracks"
 msgstr "Permite filtrar trilhos GPS desnecessários"
@@ -17289,6 +17515,9 @@ msgid ""
 "Provides the GSON library for other JOSM plugins. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
+"Fornece a biblioteca GSON para outros módulos do JOSM. Não é suposto ser "
+"instalado pelo utilizador mas sim por outros módulos de forma automática "
+"quando estes necessitarem."
 
 msgid "Simple tool to tag house numbers."
 msgstr "Ferramenta simples para etiquetar números de casas."
@@ -17494,6 +17723,8 @@ msgid ""
 "Shows an additional information about point on map. There is only a Czech "
 "RUIAN module available at this moment."
 msgstr ""
+"Mostra informação adicional sobre um ponto no mapa. neste momento só está "
+"disponível um módulo: RUIAN Checo."
 
 msgid "Read and write osmosis poly filter files"
 msgstr "Ler e gravar ficheiros de filtros poly osmosis"
@@ -17557,10 +17788,10 @@ msgid "Loads data from SDS"
 msgstr "Carrega dados de Secure Data Server (SDS)"
 
 msgid "Imagery Layer for Sea Charts"
-msgstr ""
+msgstr "Camada de Imagens Aéreas para Cartas Marítimas"
 
 msgid "Edit features for Sea Charts"
-msgstr ""
+msgstr "Editar elementos para Cartas Marítimas"
 
 msgid ""
 "Simplify area by removing nodes on very obtuse angles. This can be "
@@ -17938,7 +18169,7 @@ msgid "spur"
 msgstr "ramal curto (apenas de mercadorias)"
 
 msgid "crossover"
-msgstr ""
+msgstr "mudança de linha"
 
 msgid "Electrified"
 msgstr "Eletrificado"
@@ -18007,6 +18238,105 @@ msgstr "limitado/parcial"
 msgid "Brand"
 msgstr "Marca"
 
+msgid "Cuisine"
+msgstr "Cozinha"
+
+msgid "italian"
+msgstr "italiana"
+
+msgid "chinese"
+msgstr "chinesa"
+
+msgid "pizza"
+msgstr "pizas"
+
+msgid "burger"
+msgstr "hambúrgueres"
+
+msgid "greek"
+msgstr "grega"
+
+msgid "german"
+msgstr "alemã"
+
+msgid "indian"
+msgstr "indiana"
+
+msgid "regional"
+msgstr "regional"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turca"
+
+msgid "asian"
+msgstr "asiática"
+
+msgid "thai"
+msgstr "tailandesa"
+
+msgid "mexican"
+msgstr "mexicana"
+
+msgid "japanese"
+msgstr "japonesa"
+
+msgid "french"
+msgstr "francesa"
+
+msgid "sandwich"
+msgstr "sanduíches/sandes"
+
+msgid "coffee_shop"
+msgstr "café"
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "peixe e batatas fritas"
+
+msgid "chicken"
+msgstr "galinha"
+
+msgid "american"
+msgstr "americana"
+
+msgid "ice_cream"
+msgstr "geladaria"
+
+msgid "international"
+msgstr "internacional"
+
+msgid "seafood"
+msgstr "peixes e mariscos"
+
+msgid "spanish"
+msgstr "espanhola"
+
+msgid "vietnamese"
+msgstr "vietnamita"
+
+msgid "fish"
+msgstr "peixes"
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr "churrascos"
+
+msgid "vegetarian"
+msgstr "vegetariana"
+
+msgid "korean"
+msgstr "koreana"
+
 msgid "Internet access"
 msgstr "Acesso à Internet"
 
@@ -18188,7 +18518,7 @@ msgstr "raquete"
 
 msgctxt "sport"
 msgid "rc_car"
-msgstr ""
+msgstr "veículos de controle remoto"
 
 msgctxt "sport"
 msgid "rugby_league"
@@ -18200,7 +18530,7 @@ msgstr "râguebi de 15 (rugby union)"
 
 msgctxt "sport"
 msgid "running"
-msgstr ""
+msgstr "corrida"
 
 msgctxt "sport"
 msgid "safety_training"
@@ -18578,12 +18908,14 @@ msgstr "Peso máximo (toneladas)"
 msgid "Toll"
 msgstr "Com Portagem Física ou Eletrónica"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr ""
-"O corpo de água é ocasional (desaparece e aparece conforme as estações)?"
+msgid "Intermittent"
+msgstr "Intermitente"
+
+msgid "Seasonal"
+msgstr "Sasonal"
 
 msgid "In the tidal range"
-msgstr ""
+msgstr "Na amplitude da maré"
 
 msgid "culvert"
 msgstr "tubo de água"
@@ -18607,7 +18939,7 @@ msgid "Canoe"
 msgstr "Canoa"
 
 msgid "Substance"
-msgstr ""
+msgstr "Substância"
 
 msgid "water"
 msgstr "água"
@@ -18710,7 +19042,7 @@ msgid "Primary"
 msgstr "Estrada Nacional (Primária)"
 
 msgid "Overhead trolley wires"
-msgstr ""
+msgstr "Cabos suspensos de trólei"
 
 msgid "Primary Link"
 msgstr "Ligação a Estrada Nacional"
@@ -18956,7 +19288,7 @@ msgid "Tourist buses"
 msgstr "Autocarros de turismo"
 
 msgid "Max. speed Heavy Goods Vehicles (km/h)"
-msgstr ""
+msgstr "Velocidade máxima p/ veídulos pesados (km/h)"
 
 msgid "Min. speed (km/h)"
 msgstr "Velocidade mínima (km/h)"
@@ -19183,7 +19515,7 @@ msgstr "Via Pedonal Exclusiva"
 
 msgctxt "footway"
 msgid "sidewalk"
-msgstr ""
+msgstr "passeio"
 
 msgctxt "footway"
 msgid "crossing"
@@ -19230,16 +19562,16 @@ msgid "Right handrail"
 msgstr "Corrimão do lado direiro"
 
 msgid "Escalator"
-msgstr ""
+msgstr "Escada rolante"
 
 msgid "forward"
-msgstr ""
+msgstr "sentido da linha"
 
 msgid "backward"
-msgstr ""
+msgstr "sentido inverso da linha"
 
 msgid "reversible"
-msgstr ""
+msgstr "reversível"
 
 msgid "Waypoints"
 msgstr "Pontos da via"
@@ -19346,26 +19678,30 @@ msgstr "No caso de semáforos:"
 msgid "Traffic Calming"
 msgstr "Redutor de Velocidade (lombas...)"
 
-msgid "bump"
-msgstr "lomba (~30cm; convexa)"
+msgid "Bump"
+msgstr ""
 
-msgid "chicane"
-msgstr "chicana rodoviária (não usado em Portugal)"
+msgid "Chicane"
+msgstr ""
 
-msgid "choker"
-msgstr "chocker (não usado em Portugal)"
+msgid "Choker"
+msgstr ""
 
-msgid "cushion"
-msgstr "lomba tipo almofada"
+msgid "Cushion"
+msgstr ""
 
-msgid "hump"
-msgstr "lomba de velocidade (2-4m; convexa)"
+msgid "Hump"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "faixas sonoras"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "table"
-msgstr "lomba comprida (+3m; plana no meio; normalmente passadeira)"
+msgid "Rumble strip"
+msgstr ""
+
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Lugar de Passagem (em vias estreitas de 1 só faixa)"
@@ -19417,7 +19753,7 @@ msgid "Mountain Pass"
 msgstr "Passo de Montanha (portela)"
 
 msgid "Elevation"
-msgstr "Elevação (m)"
+msgstr "Altitude (m)"
 
 msgid "Barriers"
 msgstr "Barreiras"
@@ -19515,6 +19851,9 @@ msgstr "Muralha de cidade"
 msgid "Retaining Wall"
 msgstr "Muro de Contenção"
 
+msgid "Jersey Barrier"
+msgstr "Barreira Jersey (separadores de cimento)"
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Fosso / Vala / Trincheira"
@@ -19686,6 +20025,10 @@ msgstr "rio"
 msgid "Salt Water"
 msgstr "Água Salgada"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+"O corpo de água é ocasional (desaparece e aparece conforme as estações)?"
+
 msgid "Coastline"
 msgstr "Linha Costeira"
 
@@ -19751,14 +20094,6 @@ msgid ""
 msgstr ""
 "Um grande corpo de água quase totalmente rodeado por terra mas com uma boca."
 
-msgid "Cliff"
-msgstr "Falésia / Arriba"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr "Transporte Marítimo"
 
@@ -20040,7 +20375,7 @@ msgid "Railway Switch"
 msgstr "Agulha de Ferrovia"
 
 msgid "Railway Signal"
-msgstr ""
+msgstr "Sinal Ferroviário"
 
 msgid "Railway milestone"
 msgstr "Marco quilométrico ferroviário"
@@ -20093,16 +20428,16 @@ msgid ""
 msgstr ""
 
 msgid "t-bar"
-msgstr ""
+msgstr "Barra em T"
 
 msgid "j-bar"
-msgstr ""
+msgstr "Barra em J"
 
 msgid "platter"
-msgstr ""
+msgstr "Prato"
 
 msgid "rope_tow"
-msgstr ""
+msgstr "reboque com cabo"
 
 msgid "Magic Carpet"
 msgstr "Tapete Rolante"
@@ -20172,7 +20507,7 @@ msgid "With shop"
 msgstr "Com loja"
 
 msgid "convenience"
-msgstr "conveniência"
+msgstr "loja de conveniência (alguns artigos alimentares e do dia-a-dia)"
 
 msgid "kiosk"
 msgstr "quiosque (jornais, revistas, tabaco, chocolates...)"
@@ -20687,66 +21022,6 @@ msgstr "Alimentação e Bebidas"
 msgid "Restaurant"
 msgstr "Restaurante"
 
-msgid "Cuisine"
-msgstr "Cozinha"
-
-msgid "italian"
-msgstr "italiana"
-
-msgid "chinese"
-msgstr "chinesa"
-
-msgid "pizza"
-msgstr "pizas"
-
-msgid "burger"
-msgstr "hambúrgueres"
-
-msgid "greek"
-msgstr "grega"
-
-msgid "german"
-msgstr "alemã"
-
-msgid "indian"
-msgstr "indiana"
-
-msgid "regional"
-msgstr "regional"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turca"
-
-msgid "asian"
-msgstr "asiática"
-
-msgid "thai"
-msgstr "tailandesa"
-
-msgid "mexican"
-msgstr "mexicana"
-
-msgid "japanese"
-msgstr "japonesa"
-
-msgid "french"
-msgstr "francesa"
-
-msgid "sandwich"
-msgstr "sanduíches/sandes"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr "Destila e vende cerveja artesanal"
 
@@ -20759,23 +21034,17 @@ msgstr "Refeições para fora (take-away)"
 msgid "Fast Food"
 msgstr "Comida Rápida (Fast Food)"
 
-msgid "fish_and_chips"
-msgstr "peixe e batatas fritas"
-
-msgid "chicken"
-msgstr "galinha"
-
 msgid "Food Court"
 msgstr "Praça de Alimentação (em Centros Comerciais)"
 
 msgid "Cafe"
 msgstr "Café"
 
-msgid "ice_cream"
-msgstr "geladaria"
+msgid "Ice cream"
+msgstr "Gelados"
 
 msgid "Pub"
-msgstr "Pub"
+msgstr "Taberna"
 
 msgid "Beer Garden"
 msgstr "Beer Garden (não existem em Portugal)"
@@ -20822,7 +21091,7 @@ msgid "scheme"
 msgstr "esquemático (apresenta só o mais importante)"
 
 msgid "toposcope"
-msgstr ""
+msgstr "toposcópio"
 
 msgid "Shown Area"
 msgstr "Área Mostrada"
@@ -20951,6 +21220,12 @@ msgstr "Parque de Diversões"
 msgid "Water Park"
 msgstr "Parque Aquático"
 
+msgid "Swimming Pool"
+msgstr "Piscina"
+
+msgid "Used for the water area only."
+msgstr "Usado apenas na área de água"
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20985,9 +21260,6 @@ msgstr "Local para Fogueiras"
 msgid "Fishing"
 msgstr "Pesca"
 
-msgid "Private Swimming Pool"
-msgstr "Piscina Privada"
-
 msgid "Night Club"
 msgstr "Discoteca"
 
@@ -21030,12 +21302,18 @@ msgstr "estátua"
 msgid "Artist Name"
 msgstr "Nome do Autor"
 
-msgid "Recording Studio"
-msgstr "Estúdio de Gravação"
+msgid "Studio"
+msgstr "Estúdio"
 
 msgid "audio"
 msgstr "áudio"
 
+msgid "radio"
+msgstr "rádio"
+
+msgid "television"
+msgstr "televisão"
+
 msgid "video"
 msgstr "vídeo"
 
@@ -21139,6 +21417,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "adventistas_do_sétimo_dia"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr "Espírita"
+
 msgid "Mosque"
 msgstr "Mesquita"
 
@@ -21263,7 +21545,7 @@ msgid "Hospital"
 msgstr "Hospital"
 
 msgid "Clinic"
-msgstr "Clínica"
+msgstr "Clínica  / Centro de Saúde / Unidade de Saúde / Posto Médico"
 
 msgid "Doctor''s Office"
 msgstr "Médico Privado"
@@ -21299,8 +21581,127 @@ msgstr "(Usar código internacional, p.ex. +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinário"
 
+msgid "Emergency"
+msgstr "Emergência"
+
+msgid "Ambulance Station"
+msgstr "Central de ambulância"
+
+msgid "Automated Defibrillator"
+msgstr "Desfibrilador Automático Portátil"
+
+msgid "Located inside a building?"
+msgstr "Localizado dentro de um edifício"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Data da última inspeção (AAAA-MM-DD)"
+
+msgid "Last check note"
+msgstr "Nota de última verificação"
+
+msgid "Fire Extinguisher"
+msgstr "Extintor"
+
+msgid "Indoor"
+msgstr "Interno"
+
+msgid "Fire Hose"
+msgstr "Mangueira de incêndio"
+
+msgid "Fire Hydrant"
+msgstr "Boca de Incêncio"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "subterrâneo"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "Marco no chão (comum no exterior)"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "Na parede"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "reservatório / lago (necessita  motor)"
+
+msgid "Diameter (in mm)"
+msgstr "Diâmetro (em mm)"
+
+msgid "Hydrant Position"
+msgstr "Localização"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "faixa de rodagem"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parque de estacionamento"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "passeio"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "relvado"
+
+msgid "Pressure (in bar)"
+msgstr "Pressão (em bares)"
+
+msgid "suction"
+msgstr "sucção"
+
+msgid "Count"
+msgstr "Nº de bocas"
+
+msgid "Water Tank"
+msgstr "Tanque de água"
+
+msgid "Volume (in liters)"
+msgstr "Volume (litros)"
+
+msgid "Assembly Point"
+msgstr "Ponto de Encontro em Emergências"
+
+msgid "Emergency Phone"
+msgstr "Telefone de Emergência"
+
+msgid "Siren"
+msgstr "Sirene"
+
+msgid "pneumatic"
+msgstr "pneumático"
+
+msgid "electronic"
+msgstr "eletrónico"
+
+msgid "mechanical"
+msgstr "mecânico"
+
+msgid "Purpose"
+msgstr "Propósito"
+
+msgid "tornado"
+msgstr "tornado"
+
+msgid "fire"
+msgstr "incêndio"
+
+msgid "air_raid"
+msgstr "ataque aéreo"
+
+msgid "civil_defense"
+msgstr "defesa civil"
+
+msgid "Range (in meters)"
+msgstr "Alcance (metros)"
+
 msgid "Social Facility"
-msgstr ""
+msgstr "Instalação Sociais"
 
 msgid "Nursing Home"
 msgstr "Lar de Terceira Idade (com cuidado médico permanenete)"
@@ -21309,7 +21710,7 @@ msgid "Group Home"
 msgstr ""
 
 msgid "For"
-msgstr ""
+msgstr "Público-alvo"
 
 msgid "Assisted Living"
 msgstr ""
@@ -21319,10 +21720,10 @@ msgstr ""
 
 msgctxt "social_facility"
 msgid "Shelter"
-msgstr ""
+msgstr "Abrigo Social"
 
 msgid "Food Bank"
-msgstr ""
+msgstr "Banco Alimentar"
 
 msgid "Toilets/Restrooms"
 msgstr "Casas de Banho"
@@ -21368,7 +21769,7 @@ msgstr "urinol"
 
 msgctxt "toilets"
 msgid "Diaper"
-msgstr ""
+msgstr "Muda de fralda"
 
 msgid "room"
 msgstr ""
@@ -21411,24 +21812,9 @@ msgstr "Notas"
 msgid "Telephone cards"
 msgstr "Cartões de chamadas telefónicas"
 
-msgid "Emergency Phone"
-msgstr "Telefone de Emergência"
-
 msgid "Internet Access"
 msgstr "Acesso à Internet"
 
-msgid "Automated Defibrillator"
-msgstr "Desfibrilador Automático Portátil"
-
-msgid "Located inside a building?"
-msgstr "Localizado dentro de um edifício"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Data da última inspeção (AAAA-MM-DD)"
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr "Relógio"
 
@@ -21591,64 +21977,15 @@ msgctxt "height"
 msgid "full"
 msgstr "alto"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Escondido"
+msgstr ""
 
 msgid "Lock"
 msgstr "Trancado"
 
-msgid "Indoor"
-msgstr "Interno"
-
-msgid "Fire Hydrant"
-msgstr "Boca de Incêncio"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "subterrâneo"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "Marco no chão (comum no exterior)"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "Na parede"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "reservatório / lago (necessita  motor)"
-
-msgid "Diameter (in mm)"
-msgstr "Diâmetro (em mm)"
-
-msgid "Hydrant Position"
-msgstr "Localização"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "faixa de rodagem"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parque de estacionamento"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "passeio"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "relvado"
-
-msgid "Pressure (in bar)"
-msgstr "Pressão (em bares)"
-
-msgid "suction"
-msgstr "sucção"
-
-msgid "Count"
-msgstr "Nº de bocas"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr "Ar Comprimido"
@@ -21703,9 +22040,62 @@ msgstr ""
 "Pista de Corridas (não de Veículos a Motor): atletismo, ciclismo, equestre, "
 "cães..."
 
+msgid "Golf"
+msgstr "Golfe"
+
 msgid "Golf Course"
 msgstr "Campo de Golfe"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr "Buraco"
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Golfe em Miniatura"
 
@@ -21930,9 +22320,6 @@ msgstr "Voleibol de Praia"
 msgid "Billiards"
 msgstr "Bilhar"
 
-msgid "Golf"
-msgstr "Golfe"
-
 msgid "golf_course"
 msgstr "campo de golfe"
 
@@ -22022,11 +22409,11 @@ msgstr "comercial"
 
 msgctxt "building"
 msgid "service"
-msgstr ""
+msgstr "serviço"
 
 msgctxt "building"
 msgid "train_station"
-msgstr ""
+msgstr "estação ferroviária"
 
 msgctxt "building"
 msgid "barn"
@@ -22066,11 +22453,11 @@ msgstr "hospital"
 
 msgctxt "building"
 msgid "kindergarten"
-msgstr ""
+msgstr "jardim infantil"
 
 msgctxt "building"
 msgid "manufacture"
-msgstr ""
+msgstr "fábrica"
 
 msgctxt "building"
 msgid "warehouse"
@@ -22090,13 +22477,17 @@ msgstr "tanque de armazenamento"
 
 msgctxt "building"
 msgid "supermarket"
-msgstr "supermercado"
+msgstr "supermercado / hipermercado"
 
 msgctxt "building"
 msgid "gasometer"
 msgstr "gasómetro (reservatório)"
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "curral de vacas"
 
@@ -22105,6 +22496,38 @@ msgid "construction"
 msgstr "em construção"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "basílica"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "catedral"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "capela"
+
+msgctxt "building"
+msgid "church"
+msgstr "igreja"
+
+msgctxt "building"
+msgid "temple"
+msgstr "templo"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "mesquita"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "sinagoga"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr "torre de transformador de energia elétrica"
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Andares"
 
@@ -22125,7 +22548,7 @@ msgstr "casa"
 
 msgctxt "building"
 msgid "hotel"
-msgstr ""
+msgstr "hotel"
 
 msgctxt "building"
 msgid "hut"
@@ -22182,7 +22605,7 @@ msgstr "emergência"
 
 msgctxt "entrance"
 msgid "staircase"
-msgstr ""
+msgstr "escadaria"
 
 msgid "Entrance number"
 msgstr "Número de porta"
@@ -22217,6 +22640,9 @@ msgstr "Moinho de Vento"
 msgid "Gasometer"
 msgstr "Gasómetro (depósito)"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "Depósito de Armazenagem"
 
@@ -22619,6 +23045,14 @@ msgstr "abrigo de munições"
 msgid "hardened_aircraft_shelter"
 msgstr "abrigo para aviões reforçado"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "subterrâneo"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "ao nível do solo"
+
 msgid "Historic"
 msgstr "Histórico"
 
@@ -22628,6 +23062,9 @@ msgstr "Ruínas"
 msgid "Range"
 msgstr "Carreira de tiro militar"
 
+msgid "Power"
+msgstr "Energia"
+
 msgid "Power Plant"
 msgstr "Central de Energia"
 
@@ -22906,7 +23343,7 @@ msgstr "compensação"
 
 msgctxt "power"
 msgid "transition"
-msgstr ""
+msgstr "transição (ar-solo;solo-ar)"
 
 msgctxt "power"
 msgid "traction"
@@ -22971,7 +23408,7 @@ msgid ""
 msgstr ""
 
 msgid "Power Busbar"
-msgstr ""
+msgstr "Barra Elétrica"
 
 msgid "Power Bay"
 msgstr ""
@@ -23010,10 +23447,10 @@ msgid "Power rating (MVA)"
 msgstr "Potência nominal (MVA)"
 
 msgid "Power Compensator"
-msgstr ""
+msgstr "Compensador Elétrico"
 
 msgid "Type of compensator"
-msgstr ""
+msgstr "Tipo de Compensador"
 
 msgctxt "power"
 msgid "shunt_reactor"
@@ -23059,11 +23496,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Armário de Distribuição de Eletricidade"
+msgid "Power Street Cabinet"
+msgstr "Caixa de Distribuição de Eletricidade"
 
-msgid "Power Tower"
-msgstr "Torre de Alta Tensão"
+msgid "Transformer Tower"
+msgstr "Torre de Transformador"
+
+msgid "Power Portal"
+msgstr "Portal de Eletricidade"
 
 msgid "Type of construction"
 msgstr "Tipo de construção"
@@ -23084,6 +23524,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "vermelho/branco"
 
+msgid "Portal design"
+msgstr "Tipo de Estrutura do Portal"
+
+msgctxt "power"
+msgid "portal"
+msgstr "portal"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portal de 2 níveis"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portal de 3 níveis"
+
+msgid "Power Tower"
+msgstr "Torre de Alta Tensão"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Tipo de torre"
@@ -23207,18 +23665,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -23237,7 +23683,7 @@ msgid "Incomplete tower"
 msgstr "Torre incompleta"
 
 msgid "Location transition"
-msgstr ""
+msgstr "Local de transição"
 
 msgid "Pole"
 msgstr "Poste"
@@ -23251,6 +23697,9 @@ msgstr "Atributos do Poste:"
 msgid "Transformer Attributes:"
 msgstr "Atributos do Transformador:"
 
+msgid "Insulator"
+msgstr "Isolador"
+
 msgid "Power Line"
 msgstr "Cabo Aéreo de Transmissão de Energia"
 
@@ -23261,7 +23710,7 @@ msgid "line"
 msgstr "linha"
 
 msgid "minor_line"
-msgstr ""
+msgstr "linha de média e baixa tensão"
 
 msgid "Number of conductors/wires per cable"
 msgstr "Nùmero de condutores/fios por cabo"
@@ -23383,10 +23832,10 @@ msgid "Food"
 msgstr "Alimentar"
 
 msgid "Supermarket"
-msgstr "Supermercado"
+msgstr "Supermercado / Hipermercado"
 
 msgid "Convenience Store"
-msgstr "Loja de Conveniência"
+msgstr "Mini-Mercado / Loja de Conveniência"
 
 msgid "Kiosk"
 msgstr "Quiosque (jornais, revistas, tabaco, chocolates...)"
@@ -23508,6 +23957,9 @@ msgstr "Mobiliário"
 msgid "Kitchen"
 msgstr "Loja de Cozinhas"
 
+msgid "Houseware"
+msgstr "Artigos par casa/utilidades"
+
 msgid "Curtain"
 msgstr "Loja de Cortinados"
 
@@ -23548,14 +24000,23 @@ msgid "For the body"
 msgstr "Para o corpo"
 
 msgid "Chemist"
-msgstr "Drogaria"
+msgstr "Parafarmácia"
 
-msgid "Hairdresser/Barber"
-msgstr "Cabeleireiro/Barbeiro"
+msgid "Cosmetics"
+msgstr "Cosmética"
+
+msgid "Perfumery"
+msgstr "Perfumaria"
 
 msgid "Beauty"
 msgstr "Serviços de Beleza"
 
+msgid "Tobacco"
+msgstr "Tabaco"
+
+msgid "Hairdresser/Barber"
+msgstr "Cabeleireiro/Barbeiro"
+
 msgid "Tattoo"
 msgstr "Tatuagens"
 
@@ -23881,6 +24342,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Telecomunicações (sede ou loja)"
 
+msgid "Craft"
+msgstr "Ofícios"
+
+msgid "Carpenter"
+msgstr "Carpinteiro"
+
+msgid "Shoemaker"
+msgstr "Sapateiro"
+
+msgid "Photographer"
+msgstr "Fotógrafo"
+
+msgid "Metal construction"
+msgstr "Contrução metálica"
+
+msgid "Electrician"
+msgstr "Eletricista"
+
+msgid "Brewery"
+msgstr "Peq. fabricante de cerveja"
+
+msgid "Plumber"
+msgstr "Canalizador"
+
+msgid "Sawmill"
+msgstr "Serração"
+
+msgid "Gardener"
+msgstr "Jardineiro"
+
+msgid "Winery"
+msgstr "Vinicultura"
+
+msgid "Hvac"
+msgstr "Técnico de aquecimento e ventilação"
+
+msgid "Painter"
+msgstr "Pintor"
+
+msgid "Stonemason"
+msgstr "Pedreiro"
+
+msgid "Handicraft"
+msgstr "Artes decorativas"
+
+msgid "Pottery"
+msgstr "Oleiro"
+
+msgid "Key cutter"
+msgstr "Duplicador de chaves"
+
+msgid "Caterer"
+msgstr "Cattering"
+
+msgid "Roofer"
+msgstr "Telhador"
+
+msgid "Beekeeper"
+msgstr "Apicultor"
+
+msgid "Blacksmith"
+msgstr "Ferreiro"
+
+msgid "Locksmith"
+msgstr "Técnico de fechaduras"
+
+msgid "Window construction"
+msgstr "Construção/instalação de janelas"
+
+msgid "Upholsterer"
+msgstr "Tapeceiro"
+
+msgid "Tiler"
+msgstr "Assentador de tijoleira"
+
 msgid "Geography"
 msgstr "Geografia"
 
@@ -24052,6 +24588,14 @@ msgstr "Vale"
 msgid "A low area between hills."
 msgstr "Uma área baixa entre colinas ou montanhas."
 
+msgid "Cliff"
+msgstr "Falésia / Arriba"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Entrada de Caverna"
 
@@ -24263,6 +24807,51 @@ msgstr "Prado"
 msgid "Orchard"
 msgstr "Pomar"
 
+msgid "Trees"
+msgstr "Árvores"
+
+msgid "olive_trees"
+msgstr "oliveiras"
+
+msgid "apple_trees"
+msgstr "macieiras"
+
+msgid "oil_palms"
+msgstr "palmeiras-de-óleo"
+
+msgid "orange_trees"
+msgstr "laranjeiras"
+
+msgid "almond_trees"
+msgstr "amendoeiras"
+
+msgid "banana_plants"
+msgstr "bananeiras"
+
+msgid "coconut_palms"
+msgstr "coqueiros"
+
+msgid "hazel_plants"
+msgstr "aveleiras (avelâs)"
+
+msgid "cherry_trees"
+msgstr "cerejeiras"
+
+msgid "persimmon_trees"
+msgstr "diospireiros"
+
+msgid "walnut_trees"
+msgstr "nogueiras"
+
+msgid "plum_trees"
+msgstr "ameixeiras"
+
+msgid "peach_trees"
+msgstr "pessegueiros"
+
+msgid "tea_plants"
+msgstr "árvores do chá"
+
 msgid "Vineyard"
 msgstr "Vinha"
 
@@ -24336,7 +24925,7 @@ msgid "Landfill"
 msgstr "Aterro Sanitário / Lixeira"
 
 msgid "Quarry"
-msgstr "Pedreira"
+msgstr "Pedreira (mina a céu aberto)"
 
 msgid "Annotation"
 msgstr "Endereços e contactos"
@@ -25065,9 +25654,6 @@ msgstr "{0} e {1} junto com {2} e valores em conflito"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Combinação de etiquetas suspeita: {0} e {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} está em desuso"
-
 msgid "{0} is deprecated"
 msgstr "''{0}'' está em desuso"
 
@@ -25092,8 +25678,8 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} está em desuso. Em vez disso use um multi-polígono."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr "{0} está em desuso, em vez disso usar um polígono."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -25142,6 +25728,15 @@ msgstr "chave curta incomum"
 msgid "{0} is inaccurate"
 msgstr "{0} é genérico"
 
+msgid "{0} is deprecated for {1}"
+msgstr "{0} está em desuso a favor de {1}"
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr "{0} está em desuso. Usar a chave de prefixo {1}:"
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} num nó. Deve ser usado numa linha."
 
@@ -25157,6 +25752,9 @@ msgstr "{0} numa linha. Deve ser usado num nó."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} numa linha. Deve ser usado numa relação"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} num nó"
 
@@ -25184,6 +25782,9 @@ msgstr "{0} tem de estar numa linha"
 msgid "node connects waterway and bridge"
 msgstr "nó liga curso de água e ponte"
 
+msgid "suspicious roundabout direction"
+msgstr "sentido da rotunda provavelmente errado"
+
 msgid "abbreviated street name"
 msgstr "nome abreviado da rua"
 
@@ -25226,8 +25827,8 @@ msgstr "etiqueta de nível (layer) com o sinal +"
 msgid "layer should be between -5 and 5"
 msgstr "O valor da etiqueta layer (nível) deve estar entre -5 e 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "andares deve ser números com incrementos opcionais de 0.5"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr ""
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -25329,10 +25930,12 @@ msgid "Use alternative turn restriction icon set"
 msgstr "Usar conjunto de ícones alternativo em restrições de viragem"
 
 msgid "Display fill colour of areas with place=*"
-msgstr ""
+msgstr "Mostrar cor de preenchimento de áreas com place=*"
 
 msgid "Areas are drawn with fill only around their inner edges"
 msgstr ""
+"As áreas são mostradas com cor de preenchimento apenas à volda das linhas de "
+"contorno"
 
 msgid "Columbus V-900 CSV Files"
 msgstr "Ficheiros CSV Columbus V-900 - Visiontac VGPS-900"
@@ -26572,7 +27175,7 @@ msgstr ""
 "relatório de erro, para que possamos encontrar a origem do problema."
 
 msgid "Area Selector - Preferences"
-msgstr ""
+msgstr "Selecionador de Áreas - Preferências"
 
 msgid "Settings for the area detection algorithm."
 msgstr "Definições do algoritmo de deteção de área"
@@ -26648,10 +27251,10 @@ msgid "Merge nodes with existing nodes"
 msgstr "Fundir nós nos nós existentes"
 
 msgid "Debug"
-msgstr ""
+msgstr "Depuração (debug)"
 
 msgid "Debugging mode will write images for each processing step."
-msgstr ""
+msgstr "O modo de depuração grava imagens para cada passo do processamento"
 
 msgid "Street Name:"
 msgstr "Nome da Rua:"
@@ -27096,7 +27699,7 @@ msgid "Please, enable auto-sourcing and check cadastre millesime."
 msgstr ""
 
 msgid "Extract SVG ViewBox..."
-msgstr ""
+msgstr "Estrair ViewBox SVG..."
 
 msgid "Extract best fitting boundary..."
 msgstr "Extrair fronteira mais adequada..."
@@ -27478,7 +28081,7 @@ msgid "Generate matches"
 msgstr "Gerar correspondências"
 
 msgid "Layer:"
-msgstr ""
+msgstr "Camada:"
 
 msgid "{0}: 0 / {1}: 0 / {2}: 0"
 msgstr ""
@@ -27523,13 +28126,13 @@ msgid "Invalid reference or subject"
 msgstr "Referência ou sujeito a fusão inválidos"
 
 msgid "Download OSM data continuously"
-msgstr ""
+msgstr "Descarregar dados do OpenStreetMap continuadamente"
 
 msgid "Download map data continuously when paning and zooming."
-msgstr ""
+msgstr "Descarrega dados do OpenStreetMap à medida que muda de vista"
 
 msgid "Toggle the continuous download on/off"
-msgstr ""
+msgstr "Alternar descarregamento continuado ativado/desativado"
 
 msgid "Download Settings"
 msgstr "Definições de Descarregamento"
@@ -27552,12 +28155,14 @@ msgid ""
 "Maximum number of threads used for downloading, increasing this will cause "
 "the client to send more concurrent queries to the server."
 msgstr ""
+"Ligações simultâneas utilizadas para descarregar. Aumentar este valor irá "
+"aumentar o nº de pedidos em simultâneo ao servidor."
 
 msgid "Requires restart"
 msgstr "Necessita de reiniciar"
 
 msgid "Max threads"
-msgstr ""
+msgstr "Ligações simultâneas"
 
 msgid "Maximum number of boxes to download for each pan/zoom."
 msgstr ""
@@ -27579,7 +28184,7 @@ msgid ""
 msgstr ""
 
 msgid "Extra download area"
-msgstr ""
+msgstr "Área de descarregamento extra"
 
 msgid ""
 "Max area to download in degrees^2. Increasing this number will cause the "
@@ -28985,7 +29590,7 @@ msgstr "imagens"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -29226,19 +29831,20 @@ msgid "Move to picture''s location with next/previous buttons"
 msgstr "Ver a localização da imagem seguinte com os botões seguinte/anterior"
 
 msgid "Download mode"
-msgstr ""
+msgstr "Modo de descarregamento"
 
 msgid "You are logged in as ''{0}''."
-msgstr ""
+msgstr "Está autenticado como ''{0}''."
 
 msgid "Re-Login"
-msgstr ""
+msgstr "Tornar a autenticar"
 
 msgid "You are currently not logged in."
-msgstr ""
+msgstr "Neste momento não está autenticado."
 
 msgid "Go to setting and log in to Mapillary before uploading."
 msgstr ""
+"Vá às preferências e autentique-se no Mapillary antes de enviar dados."
 
 msgid "Upload selected sequence"
 msgstr "Enviar sequência selecionada"
@@ -29295,10 +29901,13 @@ msgid "Select mode"
 msgstr "Modo de seleção"
 
 msgid "Mapillary login"
-msgstr ""
+msgstr "Autenticação Mapillary"
 
 msgid "Login successful, return to JOSM."
-msgstr ""
+msgstr "Autenticação bem sucedida, retorne ao JOSM."
+
+msgid "Supported image formats (JPG and PNG)"
+msgstr "Formatos de imagem suportados (JPG e PNG)"
 
 msgid "Downloading Mapillary images"
 msgstr "A descarregar imagens Mapillary"
@@ -29315,6 +29924,18 @@ msgstr "Envio terminado"
 msgid "Uploading: {0}"
 msgstr "A enviar: {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Valores medidos"
 
@@ -29334,7 +29955,7 @@ msgid "Selection Area"
 msgstr "Área Selecionada"
 
 msgid "Selection Radius"
-msgstr ""
+msgstr "Raio da Seleção"
 
 msgid "Angle"
 msgstr "Ângulo"
@@ -30380,67 +31001,67 @@ msgid "Please load some photos."
 msgstr "Por favor carregue algumas fotografias."
 
 msgid "Edit photo GPS data"
-msgstr ""
+msgstr "Editar dados GPS da imagem"
 
 msgid "Edit GPS data of selected photo."
-msgstr ""
+msgstr "Edita os dados GPS da imagem selecionada."
 
 msgid "Edit Photo GPS Data"
-msgstr ""
+msgstr "Editar Dados GPS da Imagem"
 
 msgid "Please select an image first."
-msgstr ""
+msgstr "Selecione primeiro uma imagem."
 
 msgid "No image selected"
-msgstr ""
+msgstr "Nenhuma imagem selecionada"
 
 msgid "(Empty values delete the according fields.)"
-msgstr ""
+msgstr "(Valores em branco eliminarão os campos relacionados.)"
 
 msgid "coordinates"
 msgstr "coordenadas"
 
 msgid "Latitude and longitude"
-msgstr ""
+msgstr "Latitude e longitude"
 
 msgid "Edit Image Coordinates"
-msgstr ""
+msgstr "Editar Coordenadas da Imagem"
 
 msgid "Edit coordinates in separate editor"
-msgstr ""
+msgstr "Editar coordenadas no editor separado"
 
 msgid "altitude"
-msgstr ""
+msgstr "altitude"
 
 msgid "Altitude:"
-msgstr ""
+msgstr "Altitude:"
 
 msgid "speed"
-msgstr ""
+msgstr "velocidade"
 
 msgid "positive number or empty"
-msgstr ""
+msgstr "número positivo ou inteiro"
 
 msgid "Speed:"
-msgstr ""
+msgstr "Velocidade:"
 
 msgid "direction"
-msgstr ""
+msgstr "direção"
 
 msgid "range -360.0 .. 360.0, or empty"
-msgstr ""
+msgstr "intervalo -360.0 .. 360.0, ou em branco"
 
 msgid "Direction:"
-msgstr ""
+msgstr "Direção:"
 
 msgid "°"
-msgstr ""
+msgstr "°"
 
 msgid "Undo changes made in this dialog"
-msgstr ""
+msgstr "Desfazer alterações feitas nesta janela"
 
 msgid "Reload GPS data from image file"
-msgstr ""
+msgstr "Recarregar dados GPS do ficheiro da imagem"
 
 msgid "New layer for untagged images"
 msgstr ""
@@ -30627,7 +31248,7 @@ msgid "Do you want to apply it ?"
 msgstr "Quer aplicar?"
 
 msgid "Load calibration file?"
-msgstr ""
+msgstr "Carregar ficheiro de calibração?"
 
 msgid "It will be applied automatically."
 msgstr "Será aplicado automaticamente."
@@ -30756,6 +31377,12 @@ msgstr "Módulo Proj4J (projeções adicionais, experimental)"
 msgid "Code"
 msgstr "Código da projeção"
 
+msgid "Can''t parse a time from this string."
+msgstr "Não é possível analisar a hora desta expressão."
+
+msgid "Invalid value"
+msgstr "Valor inválido"
+
 msgid "added"
 msgstr "adicionado"
 
@@ -30845,15 +31472,6 @@ msgstr "Capturar"
 msgid "Join"
 msgstr "Unir"
 
-msgid "Enable"
-msgstr "Ativar"
-
-msgid "Can''t parse a time from this string."
-msgstr "Não é possível analisar a hora desta expressão."
-
-msgid "Invalid value"
-msgstr "Valor inválido"
-
 msgid "moved"
 msgstr "movido"
 
@@ -33039,6 +33657,9 @@ msgstr "A linha com os nós selecionados não pode ser alinhada."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Erro: o número de nós é {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Extrair nó (com histórico de autores)"
 
@@ -33714,27 +34335,32 @@ msgstr ""
 "trilho GPS."
 
 msgid "Fetch Wikidata IDs"
-msgstr ""
+msgstr "Obter IDs Wikidata"
 
 msgid "Fetch Wikidata IDs using the ''wikipedia'' tag"
-msgstr ""
+msgstr "Obtém IDs Wikidata utilizando a etiqueta wikipedia"
 
 msgid "Fetching Wikidata IDs"
-msgstr ""
+msgstr "A Obter IDs Wikidata"
 
 msgid "Add Wikidata"
-msgstr ""
+msgstr "Adicionar Wikidata"
 
 msgid "No Wikidata ID found for: {0}"
-msgstr ""
+msgstr "Não foi encontrado nenhum ID Wikidata para: {0}"
 
 msgid "Fetching {0} Wikidata ID for language ''{1}''"
 msgid_plural "Fetching {0} Wikidata IDs for language ''{1}''"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "A obter {0} ID Wikidata para o idioma ''{1}''"
+msgstr[1] "A obter {0} IDs Wikidata para o idioma ''{1}''"
 
 msgid "Add Wikidata for language ''{0}''"
-msgstr ""
+msgstr "Adicionar Wikidata para o idioma ''{0}''"
+
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
 
 msgid "Add names from Wikipedia"
 msgstr "Adicionar nomes da Wikipédia"
@@ -33832,6 +34458,3 @@ msgid "Drive a race car on this layer"
 msgstr ""
 "Conduza um carro (necessário ter camada Bing ativa) e grave simultaneamente "
 "um trilho GPS do percurso (não envie para o OpenStreetMap!)"
-
-#~ msgid "Retirement Home"
-#~ msgstr "Lar de Terceira Idade (sem cuidado médico permanenete)"
diff --git a/i18n/po/pt_BR.po b/i18n/po/pt_BR.po
index 41870f8..19d4e20 100644
--- a/i18n/po/pt_BR.po
+++ b/i18n/po/pt_BR.po
@@ -8,16 +8,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-02 21:35+0000\n"
-"Last-Translator: Felipe L. <felipe.idj at hotmail.com>\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-06 15:25+0000\n"
+"Last-Translator: Don-vip <Unknown>\n"
 "Language-Team: Português Brasileiro <gnome-pt_br-list at gnome.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:07+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:06+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: pt_BR\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -176,7 +176,7 @@ msgid "About JOSM..."
 msgstr "Sobre o JOSM..."
 
 msgid "Failed to locate resource ''{0}''."
-msgstr ""
+msgstr "Falha ao encontrar o recurso \"{0}\"."
 
 msgid "Failed to load resource ''{0}'', error is {1}."
 msgstr "Falhou em carregar o recurso ''{0}''. Erro é {1}."
@@ -230,7 +230,7 @@ msgstr ""
 "combinada.</html>"
 
 msgid "No target layers"
-msgstr "Sem camadas destino"
+msgstr "Sem camadas de destino"
 
 msgid "Select"
 msgstr "Selecionar"
@@ -242,7 +242,7 @@ msgstr ""
 "acima."
 
 msgid "Add imagery layer {0}"
-msgstr "adicionar camada de imagem {0}"
+msgstr "Adicionar camada de imagem {0}"
 
 msgid "Select image format for WMS layer"
 msgstr "Selecione o formato da imagem para a camada WMS"
@@ -407,6 +407,9 @@ msgstr ""
 "Não foi possível combinar as linhas<br>(Elas não puderam ser mescladas em "
 "uma única sequência de nós)"
 
+msgid "Reverse Ways"
+msgstr "Reverter Caminhos"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Combinar {0} caminho"
@@ -464,6 +467,12 @@ msgstr "Excluir"
 msgid "Delete selected objects."
 msgstr "Excluir os objetos selecionados."
 
+msgid "Delete Layer"
+msgstr "Excluir Camada"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Exclua a camada ativa. Não exclua o arquivo associado."
+
 msgid "Toggle dialogs panel"
 msgstr "Mostrar/esconder o painel de diálogos"
 
@@ -1081,7 +1090,7 @@ msgstr ""
 "padrão é Shift-Q.)"
 
 msgid "Orthogonalize Shape"
-msgstr "Ortogonalizar prancha"
+msgstr "Ortogonalizar contorno"
 
 msgid "Move nodes so all angles are 90 or 180 degrees"
 msgstr "Mover nós para que todos os ângulos sejam 90 ou 180 graus"
@@ -1139,15 +1148,18 @@ msgstr "Baixar mapa do servidor Overpass API"
 
 msgid "Builds an Overpass query using the Overpass Turbo query wizard"
 msgstr ""
+"Construir uma consulta Overpass usando o assistente de consultas do Overpass "
+"Turbo"
 
 msgid "Build query"
-msgstr ""
+msgstr "Construri consulta"
 
 msgid "<html>The Overpass wizard could not parse the following query:"
 msgstr ""
+"<html>O assistente Overpass não foi capaz de analisar a seguinte consulta:"
 
 msgid "Parse error"
-msgstr ""
+msgstr "Erro na análise"
 
 msgid "Overpass query: "
 msgstr "Consulta superior: "
@@ -1280,9 +1292,6 @@ msgstr "Clique para reiniciar mais tarde."
 msgid "Reverse way"
 msgstr "Reverter caminho"
 
-msgid "Reverse Ways"
-msgstr "Reverter Caminhos"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Reverter a direção de todos caminhos selecionados."
 
@@ -1463,6 +1472,7 @@ msgstr "Dividir caminho no nó selecionado."
 
 msgid "Cannot split since another split operation is already in progress"
 msgstr ""
+"Não é possível dividir porque outra operação de divisão está em progresso."
 
 msgid ""
 "The current selection cannot be used for splitting - no node is selected."
@@ -1491,13 +1501,13 @@ msgstr[1] ""
 "o caminho também."
 
 msgid "Which way segment should reuse the history of {0}?"
-msgstr ""
+msgstr "Qual segmento do caminho deve utili\\ar o histórico de {0}?"
 
 msgid " [id: {0}]"
 msgstr " [id: {0}]"
 
 msgid "Segment {0}: {1}"
-msgstr ""
+msgstr "Segmento {0}: {1}"
 
 msgid "You must select two or more nodes to split a circular way."
 msgstr ""
@@ -1595,25 +1605,25 @@ msgstr ""
 "cópia e todos os nós serão selecionados."
 
 msgid "Existing node"
-msgstr ""
+msgstr "Nó existente"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Em ambos"
 
 msgid "New node"
-msgstr ""
+msgstr "Novo nó"
 
 msgid "Tags / Memberships"
 msgstr "Tags / Membros"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Desgrudar"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "Onde as etiquetas do nó devem ser colocadas?"
 
 msgid "Where should the memberships of this node be put?"
-msgstr ""
+msgstr "Onde devem ser colocadas as associações deste nó?"
 
 msgid "Unglued Node"
 msgstr "Nó não grudado"
@@ -1648,6 +1658,16 @@ msgstr ""
 "problemas porque você não está vendo o objeto real.<br>Você tem certeza que "
 "quer desgrudar?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Separar {0} relação afetada: {1}"
+msgstr[1] "Separar {0} relações afetadas: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Certifique-se de que a relação não foi quebrada!"
+msgstr[1] "Certifique-se de que as relações não foram quebradas!"
+
 msgid "Disconnect Node from Way"
 msgstr "Desconectar nó da via"
 
@@ -2354,6 +2374,8 @@ msgid ""
 "Are you sure that you want to move elements with attached ways that are "
 "hidden by filters?"
 msgstr ""
+"Você tem certeza que deseja mover elementos com caminhos anexados que são "
+"ocultados por filtros?"
 
 msgid ""
 "You moved more than {0} element. Moving a large number of elements is often "
@@ -2430,6 +2452,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Adicionar seleção à relação"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Adiciona a seleção à relação</strong>: Controla cada relação "
+"única para evitar danos!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Adicionar seleção à {0} relação"
@@ -2475,6 +2504,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Confirmação"
 
+msgid "List of recent relations"
+msgstr "Lista de relações recentes"
+
+msgid "Open recent relation"
+msgstr "Abrir relação recente"
+
+msgid "Relation Editor: {0}"
+msgstr "Editor de relações:{0}"
+
 msgid "Select in relation list"
 msgstr "Selecionar na lista de relações"
 
@@ -2575,13 +2613,13 @@ msgid "Also include incomplete and deleted objects in search."
 msgstr "Também incluir na busca objetos incompletos ou apagados."
 
 msgid "standard"
-msgstr ""
+msgstr "padrão"
 
 msgid "regular expression"
 msgstr "expressão regular"
 
 msgid "MapCSS selector"
-msgstr ""
+msgstr "Seletor MapCSS"
 
 msgid "add toolbar button"
 msgstr "adicionar botão à barra de ferramentas"
@@ -2756,10 +2794,10 @@ msgid "all parents of objects matching the expression"
 msgstr "todos os pais de objetos que combinam com a expressão"
 
 msgid "relation containing a member of role <i>stop</i>"
-msgstr ""
+msgstr "relação contendo um membro da função <i>para</i>"
 
 msgid "objects being part of a relation as role <i>stop</i>"
-msgstr ""
+msgstr "objetos fazem parte de uma relação como função <i>para</i>"
 
 msgid "n-th member of relation and/or n-th node of way"
 msgstr "n membro da relação e/ou n nó da via"
@@ -2789,8 +2827,8 @@ msgstr "Procurando"
 
 msgid "Searching in {0} object"
 msgid_plural "Searching in {0} objects"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Pesquisando em {0} objeto"
+msgstr[1] "Pesquisando em {0} objetos"
 
 msgid "No match found for ''{0}''"
 msgstr "Não há valores coincidentes para ''{0}''"
@@ -2821,7 +2859,7 @@ msgstr "RX"
 
 msgctxt "search"
 msgid "CSS"
-msgstr ""
+msgstr "CSS"
 
 msgctxt "search"
 msgid "A"
@@ -2846,8 +2884,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Esperando <i>min</i>/<i>max</i> depois de ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr "Não é possível analisar a marca temporal ''{0}''"
+
+msgid "Expecting {0} after {1}"
+msgstr "Esperando {0} após {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Variação de ids primitivos esperada"
@@ -2878,7 +2919,7 @@ msgid "Unexpected token. Expected {0}, found {1}"
 msgstr "Token não esperado. Esperava {0}, mas {1} foi encontrado"
 
 msgid "Failed to parse MapCSS selector"
-msgstr ""
+msgstr "Falha ao analisar o Selector MapCSS"
 
 msgid "Unexpected token: {0}"
 msgstr "Credencial de autenticação inesperada: {0}"
@@ -3177,8 +3218,8 @@ msgid ""
 "<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>This "
 "conflict cannot be added.</html>"
 msgstr ""
-"<html>Layer ''{0}'' pronto tem um conflito com o objeto<br>''{1}''.<br>Este "
-"conflito pode ser adiciondo.</html>"
+"<html>Camada ''{0}'' já possui um conflito para o objeto<br>''{1}''.<br>Este "
+"conflito não pode ser adicionado.</html>"
 
 msgid "Double conflict"
 msgstr "Conflito duplo"
@@ -3341,13 +3382,13 @@ msgid "Restoring files"
 msgstr "Restaurando arquivos"
 
 msgid "Unable to delete backup file {0}"
-msgstr ""
+msgstr "Não é possível excluir arquivo de backup {0}"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "Não é possível excluir arquivo PID {0}"
 
 msgid "Unable to delete archived backup file {0}"
-msgstr ""
+msgstr "Não é possível excluir o arquivo de backup arquivado {0}"
 
 msgid "Illegal latitude value ''{0}''"
 msgstr "Valor de latitude ilegal ''{0}''"
@@ -3478,9 +3519,6 @@ msgstr ""
 "Tente ativar a rede IPv6, preferindo IPv6 ao IPv4 (funciona somente na "
 "inicialização)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (na linha {0}, coluna {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 "Configuração {0} das preferências foi removida pois não é mais usada."
@@ -3501,7 +3539,7 @@ msgid "UNKNOWN"
 msgstr "DESCONHECIDO"
 
 msgid "Error reading revision info from revision file: {0}"
-msgstr ""
+msgstr "Erro ao ler informações de revisão do arquivo de revisão: {0}"
 
 msgid "Unexpected JOSM version number in revision file, value is ''{0}''"
 msgstr ""
@@ -3541,6 +3579,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "L"
 
+msgid "Update default entries"
+msgstr "Atualizar entradas padrão"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr "Projeção ''{0}'' não foi encontrada, marcador ''{1}'' não é usável"
 
@@ -3565,13 +3606,13 @@ msgid "Select WMTS layer"
 msgstr "Selecione camada WMTS"
 
 msgid "Layer name"
-msgstr ""
+msgstr "Nome da camada"
 
 msgid "Projection"
 msgstr "Projeção"
 
 msgid "Matrix set identifier"
-msgstr ""
+msgstr "Matrix set identifier"
 
 msgid "No layers defined by getCapabilities document: {0}"
 msgstr "Nenhuma camada definida pelo documento getCapabilities: {0}"
@@ -3800,6 +3841,9 @@ msgstr "texto"
 msgid "areatext"
 msgstr "Área de texto"
 
+msgid " (at line {0}, column {1})"
+msgstr " (na linha {0}, coluna {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "Projeção UTM (\"+proj=utm\") requer parâmetro \"+zone=...\"."
 
@@ -3885,12 +3929,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr ""
+msgid "Albers Equal Area"
+msgstr "Albers Equal Area"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parâmetro ''{0}'' requerido."
 
+msgid "standard parallels are opposite"
+msgstr "paralelos padrões são opostas"
+
+msgid "Cassini-Soldner"
+msgstr "Cassini-Soldner"
+
+msgid "Double Stereographic"
+msgstr "Duplo Estereográfica"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Lambert Azimuthal Equal Area"
+
 msgid "Lambert Conformal Conic"
 msgstr "Cônica conforme de Lambert"
 
@@ -3900,6 +3956,24 @@ msgstr "Lat/lon (Geodetic)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr "Oblique Mercator"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr "Parâmetros inadequados ''{0}'' e ''{1}'' para dois método de ponto."
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr "Valor ilegal para o parâmetro ''{0}'': {1}"
+
+msgid "error in initialization"
+msgstr "erro na inicialização"
+
+msgid "Polar Stereographic"
+msgstr "Polar estereográfica"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr "Polar estereográfica: Parâmetro ''{0}'' deve ser de 90 ou -90."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Swiss Oblique Mercator"
 
@@ -4500,14 +4574,17 @@ msgstr "Espaço em branco inválido na chave de propriedade"
 msgid "Property values start or end with white space"
 msgstr "Valores de propriedade começam ou terminam com espaço em branco"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Valores de propriedade contêm entidade HTML"
 
 msgid "Key ''{0}'' looks like ''{1}''."
-msgstr ""
+msgstr "Key ''{0}'' parece ''{1}''."
 
 msgid "Misspelled property key"
-msgstr ""
+msgstr "Chave de propriedade com erros ortográficos"
 
 msgid "Key ''{0}'' not in presets."
 msgstr "A chave ''{0}'' não está nas predefinições."
@@ -4613,7 +4690,7 @@ msgid "No \"to\" way found"
 msgstr "Nenhuma via \"para\" encontrada"
 
 msgid "\"from\" way equals \"to\" way"
-msgstr ""
+msgstr "A via \"de\" é igual a via \"para\""
 
 msgid "No \"via\" node or way found"
 msgstr "Nenhum nó \"via\" ou caminho encontrado"
@@ -4988,25 +5065,25 @@ msgid "options provided as Java system properties"
 msgstr "opções providas como propriedades do sistema Java"
 
 msgid "/PATH/TO/JOSM/PREF    "
-msgstr ""
+msgstr "/PATH/TO/JOSM/PREF    "
 
 msgid "Set the preferences directory"
 msgstr "Definir o diretório de preferências"
 
 msgid "/PATH/TO/JOSM/USERDATA"
-msgstr ""
+msgstr "/PATH/TO/JOSM/USERDATA"
 
 msgid "Set the user data directory"
 msgstr "Definir o diretório de dados do usuário"
 
 msgid "/PATH/TO/JOSM/CACHE   "
-msgstr ""
+msgstr "/PATH/TO/JOSM/CACHE   "
 
 msgid "Set the cache directory"
 msgstr "Definir o diretório de cache"
 
 msgid "/PATH/TO/JOSM/HOMEDIR "
-msgstr ""
+msgstr "/PATH/TO/JOSM/HOMEDIR "
 
 msgid ""
 "Relocate all 3 directories to homedir. Cache directory will be in "
@@ -5236,9 +5313,6 @@ msgstr "Preferências das camadas"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Clique para abrir a aba Preferências das camadas"
 
-msgid "Search menu items"
-msgstr "Buscar itens do menu"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Áudio"
@@ -5297,12 +5371,6 @@ msgstr "Barra de status de primeiro plano: ativada"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "A latitude geográfica na posição do ponteiro do mouse."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "A longitude geográfica na posição do ponteiro do mouse."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "A direção (bússola) do segmento de linha que está sendo desenhado."
 
@@ -5331,6 +5399,18 @@ msgstr "Usuário:"
 msgid "Do not hide status bar"
 msgstr "Não ocultar barra de status"
 
+msgid "The northing at the mouse pointer."
+msgstr "O norte no ponteiro do mouse."
+
+msgid "The easting at the mouse pointer."
+msgstr "O leste no ponteiro do mouse."
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "A latitude geográfica na posição do ponteiro do mouse."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "A longitude geográfica na posição do ponteiro do mouse."
+
 msgid "System of measurement changed to {0}"
 msgstr "Sistema de medidas mudado para {0}"
 
@@ -5398,6 +5478,10 @@ msgid ""
 "addresses in the format <i>zoom,x,y</i> or <i>zoom;x;y</i> are valid "
 "too.</html>"
 msgstr ""
+"<html>Alternativamente, você pode entrar com um <strong>endereço de "
+"tile</strong> para uma única tile no formato<i>zoomlevel/x/y</i>, e.g. "
+"<i>15/256/223</i>. Endereços tile no formato <i>zoom,x,y</i> ou "
+"<i>zoom;x;y</i> são válidos também.</html>"
 
 msgid "Tile address:"
 msgstr "Endereço do tile:"
@@ -6241,6 +6325,18 @@ msgstr "Resolver"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "Abrir uma janela de união dos itens selecionados na lista acima."
 
+msgid "Resolve to my versions"
+msgstr "Resolve to my versions"
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr "Resolve todos os conflitos não resolvidos para \"minha\" versão"
+
+msgid "Resolve to their versions"
+msgstr "Resolve to their versions"
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr "Resolve todos os conflitos não resolvidos para a versão \"deles\""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Houve {0} conflito detectado."
@@ -6293,13 +6389,13 @@ msgstr "Resolver conflitos para ''{0}''"
 
 msgid "Please confirm to remove <strong>{0} object</strong>."
 msgid_plural "Please confirm to remove <strong>{0} objects</strong>."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Confirme a remoção de <strong>{0} objeto</strong>."
+msgstr[1] "Confirme a remoção de <strong>{0} objetos</strong>."
 
 msgid "{0} relation is affected."
 msgid_plural "{0} relations are affected."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} relação é afetada."
+msgstr[1] "{0} relações são afetadas."
 
 msgid "Deleting {0} object"
 msgid_plural "Deleting {0} objects"
@@ -6363,6 +6459,9 @@ msgstr "Mover filtro para baixo."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filtro Escondido: {0} Desabilitado: {1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Erro no filtro <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Erro no filtro"
 
@@ -6622,6 +6721,8 @@ msgid ""
 "Symbols <tt>°</tt>, <tt>'</tt>, <tt>′</tt>, <tt>"</tt>, "
 "<tt>″</tt> are optional."
 msgstr ""
+"Símbolos <tt>°</tt>, <tt>'</tt>, <tt>′</tt>, <tt>"</tt>, "
+"<tt>″</tt> são opcionais."
 
 msgid ""
 "You can also use the syntax <tt>lat=\"...\" lon=\"...\"</tt> or "
@@ -6679,10 +6780,10 @@ msgid "Adjust opacity of the layer."
 msgstr "Ajusta a opacidade da camada."
 
 msgid "Gamma"
-msgstr ""
+msgstr "Gama"
 
 msgid "Adjust gamma value of the layer."
-msgstr ""
+msgstr "Ajuste a gama de cores na camada."
 
 msgid "Activate"
 msgstr "Ativar"
@@ -6813,6 +6914,9 @@ msgstr "Configurações do estilo"
 msgid "Customize the style"
 msgstr "Personalizar o estilo"
 
+msgid "Search menu items"
+msgstr "Buscar itens do menu"
+
 msgid "Mini map"
 msgstr "Minimapa"
 
@@ -7020,7 +7124,7 @@ msgid "Lookup"
 msgstr "Procurar"
 
 msgid "Looks up the selected primitives in the error list."
-msgstr ""
+msgstr "Olhe os primitivos selecionados na lista de erro."
 
 msgid "Fix"
 msgstr "Corrigir"
@@ -7182,21 +7286,15 @@ msgstr[1] ""
 "<html>Nenhum dos objetos selecionados estão disponíveis na camada<br>de "
 "edição ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Baixar conteúdo"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Baixar o conteúdo do servidor OSM"
-
-msgid "Update content"
-msgstr "Atualizar conteúdo"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Atualiza o conteúdo do changeset a partir do servidor do OSM"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Faça o download e mostrar o histórico dos objetos selecionados"
 
+msgid "Download objects"
+msgstr "Baixando objetos"
+
+msgid "Download the current version of the selected objects"
+msgstr "Baixe a versão atual dos objetos selecionados"
+
 msgid "Select in layer"
 msgstr "Selecionar na camada"
 
@@ -7302,6 +7400,18 @@ msgstr "aberto"
 msgid "closed"
 msgstr "fechado"
 
+msgid "Download content"
+msgstr "Baixar conteúdo"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Baixar o conteúdo do servidor OSM"
+
+msgid "Update content"
+msgstr "Atualizar conteúdo"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Atualiza o conteúdo do changeset a partir do servidor do OSM"
+
 msgid "Changeset ID: "
 msgstr "ID do changeset: "
 
@@ -7650,7 +7760,7 @@ msgid "Position"
 msgstr "Posição"
 
 msgid "Tag filter"
-msgstr ""
+msgstr "Filtro Tag"
 
 msgid "Objects: {2} / Tags: {0} / Memberships: {1}"
 msgstr "Objetos: {2} / Tags: {0} / Membros: {1}"
@@ -7685,8 +7795,8 @@ msgstr "Editar o valor da chave selecionada para todos objetos"
 msgid "Edit Tags"
 msgstr "Editar tagas"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Vá para o wiki do OSM, para ajuda de etiqueta (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "Ir para a wiki do OSM para ajuda sobre a tag"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Iniciar o navegador com a ajuda wiki para objeto selecionado"
@@ -7695,7 +7805,7 @@ msgid "Go to Taginfo"
 msgstr "Ir para Taginfo"
 
 msgid "Launch browser with Taginfo statistics for selected object"
-msgstr ""
+msgstr "Abrir navegador com estatísticas Taginfo para o objeto selecionado"
 
 msgid "Paste Value"
 msgstr "Colar valor"
@@ -7723,6 +7833,9 @@ msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 "Copiar a chave e o valor de todas as tags selecionadas para o clipboard"
 
+msgid "Copy Tags"
+msgstr "Copiar tags"
+
 msgid "Search Key/Value/Type"
 msgstr "Procurar chave/valor/tipo"
 
@@ -7792,6 +7905,27 @@ msgstr "Defina o número de tags adicionadas recentemente"
 msgid "Remember last used tags after a restart"
 msgstr "Lembrar das últimas tags usadas antes do restar"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Ativado"
+
+msgid "Hide"
+msgstr "Oculto"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "para aplicar a primeira sugestão"
 
@@ -7907,9 +8041,6 @@ msgstr "Nova relação"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Foco no Editor de Relação com relação ''{0}'' na camada ''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Editor de relações:{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 "
@@ -7950,6 +8081,74 @@ msgstr ""
 "cria referências circulares e portanto não é recomendado.<br> Pulando a "
 "relação ''{0}''.</html>"
 
+msgid "Select previous Gap"
+msgstr "Selecionar membro da separação anterior"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Selecionar o membro que faz a separação anterior dentro da relação"
+
+msgid "Select next Gap"
+msgstr "Selecionar membro da separação seguinte"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Selecionar o membro que faz a próxima separação dentro da relação"
+
+msgid "Zoom to Gap"
+msgstr "Ampliar para a separação"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Zoom para a interrupção na via de sequência"
+
+msgid "Refers to"
+msgstr "Faz referência a"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
+"Não é possível adicionar {0} uma vez que não faz parte do conjunto de dados"
+
+msgid "Download referring relations"
+msgstr "Baixar relações referentes"
+
+msgid "There were {0} conflicts during import."
+msgstr "Houve {0} conflitos durante a importação."
+
+msgid "including immediate children of parent relations"
+msgstr "incluir relações de parentesco diretas"
+
+msgid "Load parent relations"
+msgstr "Carregar relações de parentesco"
+
+msgid "Reload"
+msgstr "Recarregar"
+
+msgid "Loading parent relations"
+msgstr "Carregar relações-pai"
+
+msgid "Edit the currently selected relation"
+msgstr "Editar relação selecionada atualmente"
+
+msgid "Apply Changes"
+msgstr "Aplicar alterações"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Criar nova relação na camada ''{0}''"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Editar nova relação na camada''{0}''"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Editar relação # {0} na camada ''{1}''"
+
+msgid "Load relation"
+msgstr "Carregar relação"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Adicionar todos os objetos selecionados no conjunto de dados atual depois do "
+"último membro escolhido"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -7963,72 +8162,133 @@ msgstr ""
 "Adicionar todos os objetos selecionados no conjunto de dados atual antes do "
 "primeiro membro escolhido"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Adicionar todos os objetos selecionados no conjunto de dados atual depois do "
-"último membro escolhido"
+msgid "Apply the current updates"
+msgstr "Aplicar as atualizações correntes"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr ""
-"Remova todos os membros que ser referem a um dos objetos selecionados"
+msgid "Cancel the updates and close the dialog"
+msgstr "Cancelar atualizações e fechar janela"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Yes, save the changes and close"
+msgstr "Sim, gravar as modificaçoes e fechar"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Clique para salvar as alterações e fechar este editor de relação"
+
+msgid "No, discard the changes and close"
+msgstr "Não, ignorar as modificaçoes e fechar"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Clique para descartar as alterações e fechar este editor de relação"
+
+msgid "Cancel, continue editing"
+msgstr "Cancelar, continuar editando"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Selecionar os membros de relação que fazem referência aos objetos da Seleção"
+"Clique para retornar para o editor de relações e continuar a editar a relação"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 msgstr ""
-"Selecionar os membros de relação que fazem referência a {0} objetos da "
-"Seleção"
+"<html>A relação foi alterada.<br><br>Você quer salvar as alterações?</html>"
 
-msgid "Select objects for selected relation members"
-msgstr ""
-"Manter na Seleção apenas os objetos que fazem referência a membros "
-"selecionados"
+msgid "Unsaved changes"
+msgstr "Alterações não salvas"
 
-msgid "Sort the relation members"
-msgstr "Classificar a relação de membros"
+msgid "Delete the currently edited relation"
+msgstr "Apagar a relação editada atual"
 
-msgid "Relation Editor: Sort"
-msgstr "Editor de relação: Classificar"
+msgid "Relation Editor: Download Members"
+msgstr "Editor de Relações: Baixar Membros"
 
-msgid "Sort below"
-msgstr "Classificar abaixo"
+msgid "Download all incomplete members"
+msgstr "Baixar todos os membros incompletos"
 
-msgid "Sort the selected relation members and all members below"
-msgstr ""
-"Classificar os membros da relação selecionada e todos os membros abaixo"
+msgid "Download Members"
+msgstr "Baixar membros"
 
-msgid "Reverse the order of the relation members"
-msgstr "Reverter a ordem dos membros da relação"
+msgid "Download selected incomplete members"
+msgstr "Baixar membros incompletos selecionados"
 
-msgid "Reverse"
-msgstr "Inverter"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Editar relação referente à relação selecionada atualmente"
 
-msgid "Move the currently selected members up"
-msgstr "Mover os membros selecionados para cima"
+msgid "Relation Editor: Move Down"
+msgstr "Editor de Relações: Mover para Baixo"
+
+msgid "Move the currently selected members down"
+msgstr "Mover membros selecionados para baixo"
 
 msgid "Relation Editor: Move Up"
 msgstr "Editor de Relações: Mover para cima"
 
-msgid "Move the currently selected members down"
-msgstr "Mover membros selecionados para baixo"
+msgid "Move the currently selected members up"
+msgstr "Mover os membros selecionados para cima"
 
-msgid "Relation Editor: Move Down"
-msgstr "Editor de Relações: Mover para Baixo"
+msgid "Apply the updates and close the dialog"
+msgstr "Aplicar atualizações e fechar aviso"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Remover os membros atualmente selecionados dessa relação"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Os itens que você deseja colar não podem ser adicionados porque eles não "
+"estão incluídos na camada atual"
+
+msgid "Relation Editor: Refresh"
+msgstr "Relação editor: Atualizar"
+
+msgid "Refresh relation from data layer"
+msgstr "Atualizar relação de camada de dados"
+
+msgid "Refresh"
+msgstr "Atualizar"
+
+msgid "Yes, discard changes and reload"
+msgstr "Sim, descartar as alterações e recarregar"
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr "Clique para descartar as alterações e recarregar os dados da camada"
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+"<html>Você tem alterações não salvas nesta janela do editor.<br><br>Você "
+"quer descartar estas alterações e recarregar os dados da camada?</html>"
+
+msgid "Click to close window"
+msgstr "Clique para fechar a janela"
+
+msgid "No, continue editing"
+msgstr "Não, continuar editando"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+"<html>Relação foi deletada fora editor. <br><br> Você quer fechar esta "
+"janela?</html>"
+
+msgid "Deleted relation"
+msgstr "Excluir relação"
 
 msgid "Relation Editor: Remove"
 msgstr "Editor de Relações: Remover"
 
-msgid "Delete the currently edited relation"
-msgstr "Apagar a relação editada atual"
+msgid "Remove the currently selected members from this relation"
+msgstr "Remover os membros atualmente selecionados dessa relação"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
+"Remova todos os membros que ser referem a um dos objetos selecionados"
+
+msgid "Reverse the order of the relation members"
+msgstr "Reverter a ordem dos membros da relação"
+
+msgid "Reverse"
+msgstr "Inverter"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -8045,13 +8305,6 @@ msgstr "Sim, crie um conflito e feche"
 msgid "Click to create a conflict and close this relation editor"
 msgstr "Clique para criar um conflito e fechar este editor de relações"
 
-msgid "No, continue editing"
-msgstr "Não, continuar editando"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Clique para retornar para o editor de relações e continuar a editar a relação"
-
 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 "
@@ -8068,53 +8321,21 @@ msgstr ""
 "<html>Camada ''{0}'' já tem um conflito de objeto<br> ''{1}''.<br> Favor "
 "resolver este conflito primeiro, em seguida, tente novamente. </html>"
 
-msgid "Apply the current updates"
-msgstr "Aplicar as atualizações correntes"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Aplicar atualizações e fechar aviso"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Cancelar atualizações e fechar janela"
-
-msgid "Yes, save the changes and close"
-msgstr "Sim, gravar as modificaçoes e fechar"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Clique para salvar as alterações e fechar este editor de relação"
-
-msgid "No, discard the changes and close"
-msgstr "Não, ignorar as modificaçoes e fechar"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Clique para descartar as alterações e fechar este editor de relação"
-
-msgid "Cancel, continue editing"
-msgstr "Cancelar, continuar editando"
+msgid "Select objects for selected relation members"
+msgstr ""
+"Manter na Seleção apenas os objetos que fazem referência a membros "
+"selecionados"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
+"Select relation members which refer to objects in the current selection"
 msgstr ""
-"<html>A relação foi alterada.<br><br>Você quer salvar as alterações?</html>"
-
-msgid "Unsaved changes"
-msgstr "Alterações não salvas"
-
-msgid "Add an empty tag"
-msgstr "Adicionar uma tag vazia"
-
-msgid "Download all incomplete members"
-msgstr "Baixar todos os membros incompletos"
-
-msgid "Download Members"
-msgstr "Baixar membros"
-
-msgid "Relation Editor: Download Members"
-msgstr "Editor de Relações: Baixar Membros"
+"Selecionar os membros de relação que fazem referência aos objetos da Seleção"
 
-msgid "Download selected incomplete members"
-msgstr "Baixar membros incompletos selecionados"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Selecionar os membros de relação que fazem referência a {0} objetos da "
+"Seleção"
 
 msgid "Sets a role for the selected members"
 msgstr "Definir uma papel para membros selecionados"
@@ -8142,72 +8363,18 @@ msgstr "Não, não aplicar"
 msgid "Confirm empty role"
 msgstr "Confirme papel vazio"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Editar relação referente à relação selecionada atualmente"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Os itens que você deseja colar não podem ser adicionados porque eles não "
-"estão incluídos na camada atual"
-
-msgid "Select previous Gap"
-msgstr "Selecionar membro da separação anterior"
-
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Selecionar o membro que faz a separação anterior dentro da relação"
-
-msgid "Select next Gap"
-msgstr "Selecionar membro da separação seguinte"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Selecionar o membro que faz a próxima separação dentro da relação"
-
-msgid "Zoom to Gap"
-msgstr "Ampliar para a separação"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Zoom para a interrupção na via de sequência"
-
-msgid "Refers to"
-msgstr "Faz referência a"
-
-msgid "Download referring relations"
-msgstr "Baixar relações referentes"
-
-msgid "There were {0} conflicts during import."
-msgstr "Houve {0} conflitos durante a importação."
-
-msgid "including immediate children of parent relations"
-msgstr "incluir relações de parentesco diretas"
-
-msgid "Load parent relations"
-msgstr "Carregar relações de parentesco"
-
-msgid "Reload"
-msgstr "Recarregar"
-
-msgid "Loading parent relations"
-msgstr "Carregar relações-pai"
-
-msgid "Edit the currently selected relation"
-msgstr "Editar relação selecionada atualmente"
-
-msgid "Apply Changes"
-msgstr "Aplicar alterações"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Criar nova relação na camada ''{0}''"
+msgid "Relation Editor: Sort"
+msgstr "Editor de relação: Classificar"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Editar nova relação na camada''{0}''"
+msgid "Sort the relation members"
+msgstr "Classificar a relação de membros"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Editar relação # {0} na camada ''{1}''"
+msgid "Sort below"
+msgstr "Classificar abaixo"
 
-msgid "Load relation"
-msgstr "Carregar relação"
+msgid "Sort the selected relation members and all members below"
+msgstr ""
+"Classificar os membros da relação selecionada e todos os membros abaixo"
 
 msgid "way is connected"
 msgstr "caminho está conectado"
@@ -8347,8 +8514,9 @@ msgid ""
 "Use left click&drag to select area, arrows or right mouse button to scroll "
 "map, wheel or +/- to zoom."
 msgstr ""
-"Use o botão esquerdo&arraste para selecionar a área, setas ou botão direito "
-"do mouse para rolar o mapa, gire o scroll do mouse para +/- zoom."
+"Clique e arraste com o botão esquerdo para selecionar a área; role o mapa "
+"com o botão direito do mouse; gire o scroll do mouse para aumentar ou "
+"diminuir o zoom."
 
 msgid "No area selected yet"
 msgstr "Não há área selecionada ainda"
@@ -8596,7 +8764,7 @@ msgid "Node {0}"
 msgstr "Nó {0}"
 
 msgid "The nodes of this way are in reverse order"
-msgstr ""
+msgstr "Os nós desta via estão em ordem inversa"
 
 msgid "Zoom to node"
 msgstr "Zoom no nó"
@@ -8641,6 +8809,11 @@ msgid ""
 msgstr ""
 "<html>Versão <strong>{0}</strong> criada em <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "Este conjunto de alterações tem {0} comentário"
+msgstr[1] "Este conjunto de alterações tem {0} comentários"
+
 msgid "Changeset"
 msgstr "Conjunto de Mudanças"
 
@@ -8694,7 +8867,7 @@ msgid "Synchronize relation {0} only"
 msgstr "Sincronizar apenas a relação {0}"
 
 msgid "Synchronize entire dataset"
-msgstr "Synchronizar todo o conjunto de dados"
+msgstr "Sincronizar todo o conjunto de dados"
 
 msgid ""
 "<html>Uploading <strong>failed</strong> because the server has a newer "
@@ -8765,15 +8938,15 @@ msgid "Upload"
 msgstr "Enviar"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Selecione as ações a serem executadas para essa camada, clicando no "
-"botão mais à esquerda. <br/>Marque\"Upload \" para enviar as alterações para "
-"o servidor OSM.<br/>Marque\"Salvar\" para salvar a camada para o arquivo "
-"especificado na esquerda.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Faça um comentário breve sobre as mudanças que está enviando:"
@@ -8785,7 +8958,7 @@ msgid "Specify the data source for the changes"
 msgstr "Especifique a fonte dos dados que você usou"
 
 msgid "obtain from current layers"
-msgstr "obtido das camadas atuais"
+msgstr "obter das camadas atuais"
 
 msgid "Enter a source"
 msgstr "Digite uma fonte"
@@ -8976,9 +9149,6 @@ msgstr ""
 "Falha ao recuperar informações sobre usuários para o usuário JOSM atual. A "
 "exceção foi: {0}"
 
-msgid "Download objects"
-msgstr "Baixando objetos"
-
 msgid "Initializing nodes to download ..."
 msgstr "Inicializar os nós para download..."
 
@@ -9585,8 +9755,8 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} objeto a remover:"
 msgstr[1] "{0} objetos a remover:"
 
-msgid "Show Tile Info"
-msgstr "Exibir informação do quadro"
+msgid "Show tile info"
+msgstr "Mostrar informações da tile"
 
 msgid "Tile Info"
 msgstr "Informação de Imagem de Fundo"
@@ -9594,17 +9764,23 @@ msgstr "Informação de Imagem de Fundo"
 msgid "Metadata "
 msgstr "Metadados "
 
-msgid "Auto Zoom"
+msgid "Load tile"
+msgstr "Carregr tile"
+
+msgid "Auto zoom"
 msgstr "Zoom automático"
 
 msgid "Auto load tiles"
 msgstr "Carregar quadros automaticamente"
 
-msgid "Load All Tiles"
-msgstr "Carregar todos os quadros"
+msgid "Show errors"
+msgstr "Mostrar erros"
 
-msgid "Load All Error Tiles"
-msgstr "Carregar todos os erros de quadros"
+msgid "Load all tiles"
+msgstr "Carregar todas as tiles"
+
+msgid "Load all error tiles"
+msgstr "Carregar todos os erros de tiles"
 
 msgid "Zoom to native resolution"
 msgstr "Zoom para a resolução nativa"
@@ -9612,26 +9788,17 @@ msgstr "Zoom para a resolução nativa"
 msgid "Change resolution"
 msgstr "Mudar resolução"
 
-msgid "Failed to create tile source"
-msgstr "Falha na criação da fonte de imagem de fundo"
-
-msgid "Show Errors"
-msgstr "Exibir Erros"
-
-msgid "Load Tile"
-msgstr "Carregar quadro"
-
 msgid "Increase zoom"
 msgstr "Aumentar zoom"
 
 msgid "Decrease zoom"
 msgstr "Diminuir zoom"
 
-msgid "Snap to tile size"
-msgstr "Ajustar para o tamanho do quadro"
+msgid "Flush tile cache"
+msgstr "Descaregar cache de tile"
 
-msgid "Flush Tile Cache"
-msgstr "Apagar cache de tiles"
+msgid "Failed to create tile source"
+msgstr "Falha na criação da fonte de imagem de fundo"
 
 msgid "zoom in to load any tiles"
 msgstr "zoom para carregar todos os quadros"
@@ -9658,7 +9825,7 @@ msgid "Best zoom: {0}"
 msgstr "Melhor zoom: {0}"
 
 msgid "Estimated cache size: {0}"
-msgstr ""
+msgstr "Tamanho estimado do cache: {0}"
 
 msgid "Cache stats: {0}"
 msgstr "Estatísticas do cache: {0}"
@@ -9679,6 +9846,8 @@ msgid ""
 "Aerial imagery \"{0}\" might be misaligned. Please check its offset using "
 "GPS tracks!"
 msgstr ""
+"Imagens aéreas do \"{0}\" podem estar desalinhadas. Cheque o deslocamento "
+"usando trilhas GPS!"
 
 msgid "http://wiki.openstreetmap.org/wiki/Using_Imagery"
 msgstr "http://wiki.openstreetmap.org/wiki/Using_Imagery"
@@ -9687,7 +9856,7 @@ msgid "Details..."
 msgstr "Detalhes..."
 
 msgid "Do not show this message again"
-msgstr ""
+msgstr "Não exibir esta mensagem novamente"
 
 msgid "Hide this message and never show it again"
 msgstr "Ocultar esta mensagem e não mostrá-la novamente"
@@ -9769,6 +9938,10 @@ msgid ""
 "http://forum.openstreetmap.org/viewtopic.php?id=25677).\n"
 "Currently you have {1,number,#}MB memory allocated for JOSM"
 msgstr ""
+"Para adicionar outra camada você precisa alocar pelo menos {0,number,#}MB de "
+"memória para o JOSM usando -Xmx{0,number,#}M opção (veja "
+"http://forum.openstreetmap.org/viewtopic.php?id=25677).\n"
+"Atualmente você tem {1,number,#}MB de memória alocada para o JOSM"
 
 msgid "All projections are supported"
 msgstr "Todas as projecções são suportadas"
@@ -9887,6 +10060,9 @@ msgid ""
 " Supported projections are: {2}\n"
 "Change the projection again or remove the layer."
 msgstr ""
+"A camada {0} não suporta a nova projeção {1}.\n"
+"Projeções suportados são: {2}\n"
+"Altere a projeção novamente ou remover a camada."
 
 msgid "Correlate to GPX"
 msgstr "Correlacionar com GPX"
@@ -10074,6 +10250,9 @@ msgstr ""
 "Erro ao analisar o deslocamento.\n"
 "Formato esperado: {0}"
 
+msgid "Geotagged Images"
+msgstr "Imagens Geotagueadas"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Extrair coordenadas GPS do EXIF"
 
@@ -10098,9 +10277,6 @@ msgstr "Erro ao obter os arquivos do diretório {0}\n"
 msgid "One of the selected files was null"
 msgstr "Um dos arquivos selecionados foi nulo"
 
-msgid "Geotagged Images"
-msgstr "Imagens Geotagueadas"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} imagem carregada."
@@ -10490,12 +10666,8 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Falha ao analisar estilos Mappaint de ''{0}''. Erro foi: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Detectado depreciação ''{0}'' em ''{1}'', que será removida em breve. Use "
-"''{2}'' em vez."
+msgid "Failed to locate image ''{0}''"
+msgstr "Falha ao localizar imagem ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Padrão de traço ilegal, os valores devem ser positivos"
@@ -10522,7 +10694,7 @@ msgid ""
 "to use the Access Token in this JOSM session only.</html>"
 msgstr ""
 "<html>Selecione para salvar o Token de Acesso nas preferências do "
-"JOSM.<br>Deselecione para usar o Token de Acesso apens nessa sessão do "
+"JOSM.<br>Deselecione para usar o Token de Acesso apenas nessa sessão do "
 "JOSM.</html>"
 
 msgid "Use default settings"
@@ -10543,6 +10715,12 @@ msgstr "URL do Token de Acesso:"
 msgid "Authorize URL:"
 msgstr "URL de autorização:"
 
+msgid "OSM login URL:"
+msgstr "OSM login URL:"
+
+msgid "OSM logout URL:"
+msgstr "OSM logout URL:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 "Clique para redefinir as configurações do OAuth para os valores padrão"
@@ -10617,13 +10795,6 @@ msgstr "Nome do Usuário: "
 msgid "Password: "
 msgstr "Senha: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Atenção: </strong> JOSM fez login <strong>uma vez</strong>usando uma "
-"conexão segura."
-
 msgid "Granted rights"
 msgstr "Direitos concedidos"
 
@@ -10767,6 +10938,15 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Por favor selecione um procedimento de autorização: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+"<strong>Atenção:</strong> Como você não está usando a API padrão do OSM, "
+"certifique-se de definir uma chave de consumidor OAuth e segredo nos "
+"<i>Parâmetros Avançados OAuth</i>."
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Obter um Token de Acesso para ''{0}''"
 
@@ -11177,6 +11357,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr "Barra de ferramentas: {0}"
 
+msgid "add entry"
+msgstr "Adiciona entrada"
+
+msgid "Remove the selected entry"
+msgstr "Remove a entrada selecionada"
+
+msgid "Key: {0}"
+msgstr "Key: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Preferências Avançadas"
 
@@ -11267,20 +11456,11 @@ msgid "Choose profile file"
 msgstr "Escolha o arquivo de perfil"
 
 msgid "Change list setting"
-msgstr "Atera a configuração da lista"
-
-msgid "Key: {0}"
-msgstr "Key: {0}"
+msgstr "Altera a configuração da lista"
 
 msgid "Change list of lists setting"
 msgstr "Altera a configuração da listagem de listas"
 
-msgid "add entry"
-msgstr "Adiciona entrada"
-
-msgid "Remove the selected entry"
-msgstr "Remove a entrada selecionada"
-
 msgid "Change list of maps setting"
 msgstr "Altera a configuração da lista de mapas"
 
@@ -11645,7 +11825,7 @@ msgid "Foot"
 msgstr "A Pé"
 
 msgid "Create markers when reading GPX"
-msgstr "Criar marcadores quando leiter GPX"
+msgstr "Criar marcadores quando lendo GPX"
 
 msgid "Fast drawing (looks uglier)"
 msgstr "Desenhar rápido (vai parecer feio)"
@@ -11710,7 +11890,7 @@ msgid "Minimum distance (pixels)"
 msgstr "Distância mínima (pixels)"
 
 msgid "Draw a circle from HDOP value."
-msgstr "Desenha um círculo apartir do valor HDOP."
+msgstr "Desenha um círculo a partir do valor HDOP."
 
 msgid "Draw larger dots for the GPS points."
 msgstr "Desenha pontos grandes para os pontos GPS."
@@ -11917,10 +12097,10 @@ msgid "2. Enter name for this layer"
 msgstr "2. Digite um nome para esta camada"
 
 msgid "{0} cache, total cache size: {1} bytes"
-msgstr ""
+msgstr "Cache {0}, tamanho total: {1} bytes"
 
 msgid "Cache name"
-msgstr ""
+msgstr "Nome do cache"
 
 msgid "Object Count"
 msgstr "Quantidade de Itens"
@@ -11950,7 +12130,7 @@ msgid "Maximum size of disk cache (per imagery) in MB: "
 msgstr "Tamanho máximo do cache de disco (por imagem) em MB: "
 
 msgid "Tiles zoom offset:"
-msgstr ""
+msgstr "Tiles zoom offset:"
 
 msgid "Imagery Preferences"
 msgstr "Preferências das imagens"
@@ -11997,9 +12177,6 @@ msgstr "copiar padrões selecionados"
 msgid "Please select at least one row to copy."
 msgstr "Por gentileza selecione ao menos uma linha para copiar."
 
-msgid "reload defaults"
-msgstr "Recarrega padrões"
-
 msgid "Menu Name"
 msgstr "Nome do Menu"
 
@@ -12217,7 +12394,7 @@ msgstr ""
 "deseja realmente usá-la?<br><br><table width=600>O erro é: {1}</table></html>"
 
 msgid "Sort presets menu alphabetically"
-msgstr ""
+msgstr "Exibir as predefinições em ordem alfabética"
 
 msgid "Tagging Presets"
 msgstr "Padrões de predefinições"
@@ -12307,6 +12484,9 @@ msgid_plural ""
 msgstr[0] "O download do seguinte plugin <strong>falhou</strong>:"
 msgstr[1] "Os downloads dos {0} plugins seguintes <strong>falharam</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br> Mensagem de erro(não traduzida): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Por favor reinicie o JOSM para ativar os plugine baixados."
 
@@ -12497,7 +12677,7 @@ msgid "LKS-92 (Latvia TM)"
 msgstr "LKS-92 (Latvia TM)"
 
 msgid "Rijksdriehoekscoördinaten (Netherlands)"
-msgstr ""
+msgstr "Rijksdriehoekscoördinaten (Netherlands)"
 
 msgid "SWEREF99 13 30 / EPSG:3008 (Sweden)"
 msgstr "SWEREF99 13 30 / EPSG:3008 (Suécia)"
@@ -12816,13 +12996,13 @@ msgid "Please enter the OSM API URL."
 msgstr "Por favor digite a URL da API do OSM."
 
 msgid "Use Overpass server for object downloads"
-msgstr ""
+msgstr "Use o servidor Overpass para o download de objetos"
 
 msgid "Overpass server: "
-msgstr ""
+msgstr "Servidor Overpass: "
 
 msgid "Overpass server"
-msgstr ""
+msgstr "Servidor Overpass"
 
 msgid "Proxy settings"
 msgstr "Configurações de Proxy"
@@ -12991,12 +13171,6 @@ msgstr "Valores númericos"
 msgid "Checks for wrong numeric values"
 msgstr "Verifica a existência de valores numéricos errados"
 
-msgid "Power"
-msgstr "Energia"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Verifica se há erros em infra-estruturas de energia"
-
 msgid "Religion"
 msgstr "Religião"
 
@@ -13086,6 +13260,9 @@ msgstr "Usar preferência ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Elementos do tipo {0} são suportados."
 
+msgid "This preset also sets: {0}"
+msgstr "Esta predefinição também define: {0}"
+
 msgid "Edit also …"
 msgstr "Edite também..."
 
@@ -13098,10 +13275,13 @@ msgstr "Nova relação"
 msgid ""
 "The preset <i>{0}</i> cannot be applied since nothing has been selected!"
 msgstr ""
+"A predefinição <i>{0}</i> não pode ser aplicada porque não há objetos "
+"selecionados!"
 
 msgid ""
 "The preset <i>{0}</i> cannot be applied since the selection is unsuitable!"
 msgstr ""
+"A predefinição <i>{0}</i> não pode ser aplicada porque a seleção é inválida!"
 
 msgid "Change {0} object"
 msgid_plural "Change {0} objects"
@@ -13156,6 +13336,9 @@ msgstr "Buscar predefinição"
 msgid "Presets"
 msgstr "Predefinições"
 
+msgid "Search for objects by preset..."
+msgstr "Procurar objetos por predefinição..."
+
 msgid "Search for objects by preset"
 msgstr "Procurar por predefinições"
 
@@ -13200,7 +13383,7 @@ msgstr ""
 "''display_values'' deve ser o mesmo que em ''values''"
 
 msgid "Detailed information: {0} <> {1}"
-msgstr ""
+msgstr "Informações detalhadas: {0} <> {1}"
 
 msgid ""
 "Broken tagging preset \"{0}-{1}\" - number of items in "
@@ -13209,6 +13392,9 @@ msgstr ""
 "Quebrada codificação da predefinição \"{0}-{1}\" - número de itens em "
 "''short_descriptions'' deve ser o mesmo que em ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "Isto corresponde à chave ''{0}''"
+
 msgid "More information about this feature"
 msgstr "Mais informações sobre esta característica"
 
@@ -13305,18 +13491,34 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "false: a propriedade é explicitamente desabilitada"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "falso: a propriedade ''{0}'' está explicitamente desligada"
+
 msgid "true: the property is explicitly switched on"
 msgstr "true: a propriedade é explicitamente habilitada"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "verdade: a propriedade ''{0}'' está explicitamente ligado"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "parcial: objetos diferentes selecionados possuem valores diferentes, não "
 "altere"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+"parciais: objetos diferentes selecionados têm valores diferentes para "
+"''{0}'', não mudar"
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "não-definido: não defina esta propriedade nos objetos selecionados"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr "unset: não define a propriedade ''{0}'' nos objetos selecionados"
+
 msgid "Cut"
 msgstr "Recortar"
 
@@ -13517,7 +13719,7 @@ msgid "GeoJSON Files"
 msgstr "Arquivos GeoJSON"
 
 msgid "Projected GeoJSON Files"
-msgstr ""
+msgstr "Projected GeoJSON Files"
 
 msgid "Layer ''{0}'' not supported"
 msgstr "Camada ''{0}'' não é suportada"
@@ -13768,7 +13970,7 @@ msgid "ID of current changeset > 0 required. Current ID is {0}."
 msgstr "ID do changeset atual > requerido 0. ID atual é {0}."
 
 msgid "Open changeset expected. Got closed changeset with id {0}."
-msgstr "Abrertura do changeset esperado. Fechando changeset com id {0}."
+msgstr "Changeset aberto esperado. Fechando changeset com id {0}."
 
 msgid "Note upload failed"
 msgstr "Upload de notas falhou"
@@ -13859,6 +14061,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Valor de preferência inesperado para ''{0}''. Recuperado ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "Arquivos do servidor OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Ocorreu um erro ao salvar. <br>O erro é:<br>{0}</html>"
 
@@ -13875,9 +14080,6 @@ msgstr "Arquivos do Servidor OSM compactados com gzip"
 msgid "Parsing OSM history data ..."
 msgstr "Analisando dados de histórico do OSM..."
 
-msgid "OSM Server Files"
-msgstr "Arquivos do servidor OSM"
-
 msgid "Invalid dataset"
 msgstr "Dataset inválido"
 
@@ -14086,9 +14288,6 @@ msgstr "Enviando dados..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "ID 0 inesperado para o primitivo osm encontrado"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Arquivos do Servidor OSM compactados com zip"
-
 msgid "Downloading data..."
 msgstr "Baixando dados..."
 
@@ -14186,6 +14385,8 @@ msgstr "RemoteControl::Servidor {0}:{1} parou."
 
 msgid "Cannot start IPv4 remotecontrol https server on port {0}: {1}"
 msgstr ""
+"Não é possível iniciar o servidor https de controle remoto IPv4 na porta "
+"{0}: {1}"
 
 msgid "Cannot start IPv6 remotecontrol https server on port {0}: {1}"
 msgstr ""
@@ -14270,27 +14471,32 @@ msgid ""
 "Remote Control has been asked to report its protocol version. This enables "
 "web sites to detect a running JOSM."
 msgstr ""
-"Controle Remoto foi solicitado arelatar sua versão do protocolo. Isso "
+"Controle Remoto foi solicitado a relatar sua versão do protocolo. Isso "
 "permite que os sites possam detectar um JOSM em execução."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Versão ''{0}'' de meta dados para a camada geoimage não é suportada . "
-"Esperado: 0.1"
+msgid "local file"
+msgstr "arquivo local"
+
+msgid "include"
+msgstr "incluir"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "A camada contém dados não salvos. Salve-a em um arquivo."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Todos os dados da camada estão salvos."
 
 msgid "Data:"
 msgstr "Data:"
 
-msgid "local file"
-msgstr "arquivo local"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Link para um arquivo de dados OSM em seu disco local."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Link para um arquivo GPX em seu disco local."
+msgid "Include OSM data in the .joz session file."
+msgstr "Incluidos dados OSM no arquivo da sessão .joz."
 
-msgid "include"
-msgstr "inclue"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Link para um arquivo de dados GPX em seu disco local."
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Incluidos dados GPX no arquivo da sessão .joz."
@@ -14301,6 +14507,16 @@ msgstr "Nenhuma associação de arquivo"
 msgid "GPX data will be included in the session file."
 msgstr "Dados GPX serão incluídos no arquivo da sessão."
 
+msgid "OSM data will be included in the session file."
+msgstr "Dados OSM serão incluídos no arquivo da sessão."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Versão ''{0}'' de meta dados para a camada geoimage não é suportada . "
+"Esperado: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14324,20 +14540,9 @@ msgstr ""
 "Versão ''{0}'' de meta dados para a camada marker não é suportada . "
 "Esperado: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "A camada contém dados não salvos. Salve-a em um arquivo."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Todos os dados da camada estão salvos."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Link para um arquivo de dados OSM em seu disco local."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Incluidos dados OSM no arquivo da sessão .joz."
-
-msgid "OSM data will be included in the session file."
-msgstr "Dados OSM serão incluídos no arquivo da sessão."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -14758,7 +14963,7 @@ msgid "Downloading plugin list from ''{0}''"
 msgstr "Baixando lista de plugins a partir de \"{0}\""
 
 msgid "Unsuccessful HTTP request"
-msgstr ""
+msgstr "Solicitação HTTP mal sucedida"
 
 msgid "Plugin list download error"
 msgstr "Erro no download da lista de plugin"
@@ -15197,9 +15402,6 @@ msgstr ""
 "demais.<br>Tente requisitar uma área menor, ou usar um arquivo de exportação "
 "provido pela comunidade."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br> Mensagem de erro(não traduzida): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15245,6 +15447,9 @@ msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 "Muitos redirecionamentos para a URL de download detectado. Abortando."
 
+msgid "Fetching content..."
+msgstr "Buscando conteúdo..."
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "Não foi possível encontrar tradução para localização {0}. Revertendo para "
@@ -15257,9 +15462,6 @@ msgstr ""
 "Fatal: não foi possível localizar imagem ''{0}''. Este é um problema grave "
 "de configuração. JOSM vai parar de trabalhar."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Falha ao localizar imagem ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Falha ao lidar com arquivos zip '' {0}''. A exceção foi: {1}"
 
@@ -15301,7 +15503,7 @@ msgid "reserved"
 msgstr "reservado"
 
 msgid "Unable to delete old preferences file {0}"
-msgstr ""
+msgstr "Não é possível excluir o arquivo de preferências antigo {0}"
 
 msgid "Outdated Java version"
 msgstr "Versão desatualizada do Java"
@@ -15418,7 +15620,10 @@ msgstr ""
 "qualquer objeto JOSM ou texto adequado. </ p></html>"
 
 msgid "Unable to delete file {0}"
-msgstr ""
+msgstr "Não é possível excluir o arquivo {0}"
+
+msgid "Unable to create directory {0}"
+msgstr "Impossível criar o diretório {0}"
 
 msgid "ms"
 msgstr "ms"
@@ -15750,9 +15955,6 @@ msgstr "Abrir arquivo selecionado"
 msgid "Open selected file."
 msgstr "Abre o arquivo selecionado."
 
-msgid "Refresh"
-msgstr "Atualizar"
-
 msgid "Rename File"
 msgstr "Renomear arquivo"
 
@@ -15826,7 +16028,7 @@ msgid "OpenStreetMap GPS Traces"
 msgstr "OpenStreetMap GPS Traces"
 
 msgid "OpenStreetMap (Standard layer)"
-msgstr ""
+msgstr "OpenStreetMap (Camada padrão)"
 
 msgid "skobbler"
 msgstr "skobbler"
@@ -15846,6 +16048,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Transportes Públicos (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (German Style)"
 
@@ -15865,34 +16070,34 @@ msgid "Strava running heatmap"
 msgstr "Strava running heatmap"
 
 msgid "Locator Overlay"
-msgstr ""
+msgstr "Locator Overlay"
 
 msgid "QA No Address"
-msgstr ""
+msgstr "QA No Address"
 
 msgid "Waymarked Trails: Hiking"
-msgstr ""
+msgstr "Waymarked Trails: Hiking"
 
 msgid "Waymarked Trails: Cycling"
-msgstr ""
+msgstr "Waymarked Trails: Cycling"
 
 msgid "Waymarked Trails: MTB"
-msgstr ""
+msgstr "Waymarked Trails: MTB"
 
 msgid "Waymarked Trails: Skating"
-msgstr ""
+msgstr "Waymarked Trails: Skating"
 
 msgid "Waymarked Trails: Horse Riding"
-msgstr ""
+msgstr "Waymarked Trails: Horse Riding"
 
 msgid "Waymarked Trails: Winter Sports"
-msgstr ""
+msgstr "Waymarked Trails: Winter Sports"
 
 msgid "OSM Inspector: Geometry"
 msgstr "OSM Inspector: Geometria"
 
 msgid "OSM Inspector: Tagging"
-msgstr ""
+msgstr "OSM Inspector: Tagging"
 
 msgid "OSM Inspector: Places"
 msgstr "OSM Inspector: Lugares"
@@ -15912,35 +16117,38 @@ msgstr "OSM Inspector: Endereços"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Fronteiras (UE)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr "SIG Instituto Geográfico Nacional (WMTS)"
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI black-and-white 2.5m"
 
 msgid "LPI NSW Base Map"
-msgstr ""
+msgstr "LPI NSW Base Map"
 
 msgid "LPI NSW Topographic Map"
-msgstr ""
+msgstr "LPI NSW Topographic Map"
 
 msgid "LPI NSW Imagery"
-msgstr ""
+msgstr "LPI NSW Imagery"
 
 msgid "LPI NSW Administrative Boundaries Suburb"
-msgstr ""
+msgstr "LPI NSW Administrative Boundaries Suburb"
 
 msgid "LPI NSW Administrative Boundaries LGA"
-msgstr ""
+msgstr "LPI NSW Administrative Boundaries LGA"
 
 msgid "LPI NSW Administrative Boundaries County"
-msgstr ""
+msgstr "LPI NSW Administrative Boundaries County"
 
 msgid "LPI NSW Administrative Boundaries Parish"
-msgstr ""
+msgstr "LPI NSW Administrative Boundaries Parish"
 
 msgid "LPI NSW Administrative Boundaries State Forest"
-msgstr ""
+msgstr "LPI NSW Administrative Boundaries State Forest"
 
 msgid "LPI NSW Administrative Boundaries NPWS Reserve"
-msgstr ""
+msgstr "LPI NSW Administrative Boundaries NPWS Reserve"
 
 msgid "Geoimage.at MaxRes"
 msgstr "Geoimage.at MaxRes"
@@ -15949,7 +16157,7 @@ msgid "basemap.at"
 msgstr "basemap.at"
 
 msgid "basemap.at Orthofoto"
-msgstr ""
+msgstr "basemap.at Orthofoto"
 
 msgid "Graz: Basiskarte (base map)"
 msgstr "Graz: Basiskarte (base map)"
@@ -15973,7 +16181,7 @@ msgid "VoGIS: Echtfarbenbild 2012 (12cm)"
 msgstr "VoGIS: Echtfarbenbild 2012 (12cm)"
 
 msgid "VoGIS: Echtfarbenbild Winter 2015 (20cm)"
-msgstr ""
+msgstr "VoGIS: Echtfarbenbild Winter 2015 (20cm)"
 
 msgid "VoGIS: Flächenwidmungsplan"
 msgstr "VoGIS: Flächenwidmungsplan"
@@ -15985,37 +16193,40 @@ msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (Surface model)"
 
 msgid "AGIV(laanderen) aerial imagery (covers Brussels region as well)"
-msgstr ""
+msgstr "AGIV (laanderen) imagens aéreas (cobre a região de Bruxelas também)"
 
 msgid "URBISfr numerical imagery (2013)"
-msgstr ""
+msgstr "URBISfr numerical imagery (2013)"
 
 msgid "URBISnl numerical imagery (2013)"
-msgstr ""
+msgstr "URBISnl numerical imagery (2013)"
 
 msgid "URBIS 2009 aerial imagery"
-msgstr ""
+msgstr "URBIS 2009 aerial imagery"
 
 msgid "URBIS 2012 aerial imagery"
-msgstr ""
+msgstr "URBIS 2012 aerial imagery"
 
 msgid "URBIS 2014 aerial imagery"
-msgstr ""
+msgstr "URBIS 2014 aerial imagery"
 
 msgid "URBIS 2015 aerial imagery"
-msgstr ""
+msgstr "URBIS 2015 aerial imagery"
 
 msgid "SPW(allonie) PICC numerical imagery"
-msgstr ""
+msgstr "SPW(allonie) PICC numerical imagery"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr ""
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW(allonie) 2015 aerial imagery"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr ""
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW(allonie) 2012-2013 aerial imagery"
 
-msgid "TEC bus lines"
-msgstr ""
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW(allonie) 2009-2010 aerial imagery"
+
+msgid "TEC bus lines (2014)"
+msgstr "TEC bus lines (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
@@ -16036,10 +16247,10 @@ msgid "British Columbia Mosaic"
 msgstr "Mosaico Columbia Britânica"
 
 msgid "Kelowna 2012"
-msgstr ""
+msgstr "Kelowna 2012"
 
 msgid "Kelowna Roads overlay"
-msgstr ""
+msgstr "Kelowna Roads overlay"
 
 msgid "Czech CUZK:KM"
 msgstr "Czech CUZK:KM"
@@ -16057,16 +16268,16 @@ msgid "Geodatastyrelsen (Denmark)"
 msgstr "Geodatastyrelsen (Denmark)"
 
 msgid "Geodatastyrelsen Cadastral Parcels INSPIRE View"
-msgstr ""
+msgstr "Geodatastyrelsen Cadastral Parcels INSPIRE View"
 
 msgid "Geodatastyrelsen DTK Kort25"
-msgstr ""
+msgstr "Geodatastyrelsen DTK Kort25"
 
 msgid "Geodatastyrelsen Skyggekort 1.6m"
-msgstr ""
+msgstr "Geodatastyrelsen Skyggekort 1.6m"
 
 msgid "Geodatastyrelsen Skærmkort"
-msgstr ""
+msgstr "Geodatastyrelsen Skærmkort"
 
 msgid "Stevns (Denmark)"
 msgstr "Stevns (Denmark)"
@@ -16090,10 +16301,10 @@ msgid "Estonia Forestry (Maaamet)"
 msgstr "Estônia Forestry (Maaamet)"
 
 msgid "BANO"
-msgstr ""
+msgstr "BANO"
 
 msgid "BD Carthage"
-msgstr ""
+msgstr "BD Carthage"
 
 msgid "Bordeaux - 2012"
 msgstr "Bordeaux - 2012"
@@ -16102,7 +16313,7 @@ msgid "Cadastre"
 msgstr "Cadastro"
 
 msgid "CRAIG - Auvergne 2013 - 25 cm"
-msgstr ""
+msgstr "CRAIG - Auvergne 2013 - 25 cm"
 
 msgid "CRIGE PACA Alpes-Maritimes 2009 - 40 cm"
 msgstr "CRIGE PACA Alpes Marítimos 2009-40 cm"
@@ -16120,7 +16331,7 @@ msgid "Géolittoral - Orthophotos 2000"
 msgstr "Géolittoral - Orthophotos 2000"
 
 msgid "Géolittoral V2 - Orthophotos 2011-2014"
-msgstr ""
+msgstr "Géolittoral V2 - Orthophotos 2011-2014"
 
 msgid "Géolittoral - Sentiers"
 msgstr "Géolittoral - Sentiers"
@@ -16132,10 +16343,13 @@ msgid "Loire-Atlantique - Orthophotos 2012 - 20 cm"
 msgstr "Loire-Atlantique - Orthophotos 2012 - 20 cm"
 
 msgid "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
-msgstr ""
+msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 
 msgid "Route 500™©®"
-msgstr ""
+msgstr "Route 500™©®"
+
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Toulouse - Orthophotoplan 2015"
 
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
@@ -16147,10 +16361,10 @@ msgid "Toulouse - Orthophotoplan 2007"
 msgstr "Toulouse - Orthophotoplan 2007"
 
 msgid "Tours - Orthophoto 2013"
-msgstr ""
+msgstr "Tours - Orthophoto 2013"
 
 msgid "Tours - Orthophoto 2008-2010"
-msgstr ""
+msgstr "Tours - Orthophoto 2008-2010"
 
 msgid ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
@@ -16159,9 +16373,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Sorbian Language)"
 
@@ -16169,25 +16380,25 @@ msgid "Hamburg (40 cm)"
 msgstr "Hamburg (40 cm)"
 
 msgid "Hamburg (20 cm)"
-msgstr ""
+msgstr "Hamburg (20 cm)"
 
 msgid "Hamburg (DK5)"
 msgstr "Hamburg (DK5)"
 
 msgid "Bavaria (80 cm)"
-msgstr ""
+msgstr "Baviera (80 cm)"
 
 msgid "Bavaria (2 m)"
 msgstr "Bavaria (2 m)"
 
 msgid "Stuttgart (aerial imagery)"
-msgstr ""
+msgstr "Stuttgart (aerial imagery)"
 
 msgid "Erlangen aerial imagery (2013 6.25 cm)"
-msgstr ""
+msgstr "Erlangen imagens aéreas (2013 6.25 cm)"
 
 msgid "Erlangen 2011 aerial imagery (5.0 cm)"
-msgstr ""
+msgstr "Erlangen 2011 imagens aéreas (5.0 cm)"
 
 msgid "Old map of Zwenkau - TK25 Messtischblatt (4739; 1906; PROJ.4-rect)"
 msgstr ""
@@ -16197,20 +16408,21 @@ msgid "Old map of Pegau - TK25 Messtischblatt (4839; 1909; PROJ.4-rect)"
 msgstr "Antigo mapa de Pegau - TK25 Messtischblatt (4839; 1909; PROJ.4-rect)"
 
 msgid "Physical DE - Physical map (natural regions)"
-msgstr ""
+msgstr "Physical DE - Physical map (natural regions)"
 
 msgid "Physical DE:Harz - Physical map (natural regions)"
-msgstr ""
+msgstr "Physical DE:Harz - Physical map (natural regions)"
 
 msgid ""
 "Physical DE:Harz - Overlay for Bing (e.g. use opacity between 20% and 50%)"
 msgstr ""
+"Physical DE:Harz - Overlay for Bing (e.g. use opacity between 20% and 50%)"
 
 msgid "Maps4BW (LGL-BW, www.lgl-bw.de)"
 msgstr "Maps4BW (LGL-BW, www.lgl-bw.de)"
 
 msgid "NRW-Atlas: ALKIS"
-msgstr ""
+msgstr "NRW-Atlas: ALKIS"
 
 msgid "NRW-Atlas: Digitale GrundKarte 1:5000"
 msgstr "NRW-Atlas: Digitale GrundKarte 1:5000"
@@ -16231,7 +16443,16 @@ msgid "Drone Imagery 2014 (Haiti)"
 msgstr "Drone Imagery 2014 (Haiti)"
 
 msgid "Drone Imagery Canaan(Haiti) November 2015"
-msgstr ""
+msgstr "Drone Imagery Canaan(Haiti) November 2015"
+
+msgid "FÖMI ortophoto 2000"
+msgstr "FÖMI ortophoto 2000"
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr "Interspect Budapest ortophoto 2014"
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr "Cinco distritos de Budapeste: III, IV, XIII, XIV, XV"
 
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
@@ -16243,34 +16464,37 @@ msgid "Ireland Bartholomew Quarter-Inch 1940"
 msgstr "Ireland Bartholomew Quarter-Inch 1940"
 
 msgid "Ireland Civil Parishes and Baronies - Memorial Atlas"
-msgstr ""
+msgstr "Ireland Civil Parishes and Baronies - Memorial Atlas"
 
 msgid "Memorial Atlas of Ireland (1901) L.J. Richards"
-msgstr ""
+msgstr "Memorial Atlas of Ireland (1901) L.J. Richards"
 
 msgid "OSMIE Townlands"
-msgstr ""
+msgstr "OSMIE Townlands"
 
 msgid "OSMIE EDs"
-msgstr ""
+msgstr "OSMIE EDs"
 
 msgid "OSMIE Civil Parishes"
-msgstr ""
+msgstr "OSMIE Civil Parishes"
 
 msgid "OSMIE Baronies"
-msgstr ""
+msgstr "OSMIE Baronies"
 
 msgid "OSMIE Local Election Areas"
-msgstr ""
+msgstr "OSMIE Local Election Areas"
 
 msgid "OSMIE Dail Election Areas"
-msgstr ""
+msgstr "OSMIE Dail Election Areas"
+
+msgid "OSMIE T.ie Land not in Counties"
+msgstr "OSMIE T.ie Land not in Counties"
 
 msgid "Lodi - Italy"
 msgstr "Lodi - Itália"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Lombardia - Italy (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Sicily - Itália"
@@ -16285,10 +16509,10 @@ msgid "PCN 2012 - Italy"
 msgstr "PCN 2012 - Itália"
 
 msgid "South Tyrol Orthofoto 2011"
-msgstr ""
+msgstr "South Tyrol Orthofoto 2011"
 
 msgid "South Tyrol Topomap"
-msgstr ""
+msgstr "South Tyrol Topomap"
 
 msgid "USSR - Latvia"
 msgstr "USSR - Latvia"
@@ -16300,7 +16524,7 @@ msgid "20cm ortho - Latvia - Coastline"
 msgstr "20 cm orto - Letónia - Litoral"
 
 msgid "1.cikla ortofotokarte - Latvia"
-msgstr ""
+msgstr "1.cikla ortofotokarte - Latvia"
 
 msgid "ORT10LT (Lithuania)"
 msgstr "ORT10LT (Lituânia)"
@@ -16318,13 +16542,13 @@ msgid "Luxembourg Inspire Roads"
 msgstr "Luxembourg Inspire Roads"
 
 msgid "Luxembourg Inspire Water"
-msgstr ""
+msgstr "Luxembourg Inspire Water"
 
 msgid "Niger Delta Oct 2012 Landsat"
 msgstr "Niger Delta Oct 2012 Landsat"
 
 msgid "Svalbard -Orthophoto 2009/2011 EPSG:25833"
-msgstr ""
+msgstr "Svalbard -Orthophoto 2009/2011 EPSG:25833"
 
 msgid "Gaza Strip - Pléiades - 2014/07/06"
 msgstr "Gaza Strip - Pléiades - 2014/07/06"
@@ -16339,13 +16563,13 @@ msgid "Geoportal 2: Ortofotomapa (aerial image)"
 msgstr "Geoportal 2: Ortofotomapa (aerial image)"
 
 msgid "Geoportal 2: Ortofotomapa (aerial image) WMTS"
-msgstr ""
+msgstr "Geoportal 2: Ortofotomapa (imagem aérea) WMTS"
 
 msgid "Geoportal 2: PRNG (geo names)"
 msgstr "Geoportal 2: PRNG (geo names)"
 
 msgid "Geoportal 2: ISOK hillshade"
-msgstr ""
+msgstr "Geoportal 2: ISOK hillshade"
 
 msgid "Będzin: Ortofotomapa 2013 (aerial image)"
 msgstr "Będzin: Ortofotomapa 2013 (imagem aérea)"
@@ -16357,7 +16581,7 @@ msgid "Bytom: Ortofotomapa 2012 (aerial image)"
 msgstr "Bytom: Ortofotomapa 2012 (imagem aérea)"
 
 msgid "Bytom: Fotoplan 2014 (aerial image)"
-msgstr ""
+msgstr "Bytom: Fotoplan 2014 (imagem aérea)"
 
 msgid "Bytom: Budynki (buildings)"
 msgstr "Bytom: Budynki (edifícios)"
@@ -16366,16 +16590,16 @@ msgid "Chorzów: Budynki (buildings)"
 msgstr "Chorzów: Budynki (prédios)"
 
 msgid "Częstochowa: Budynki (buildings)"
-msgstr ""
+msgstr "Częstochowa: Budynki (prédios)"
 
 msgid "Częstochowa: Ortofotomapa 2011 (aerial image)"
 msgstr "Częstochowa: Ortofotomapa 2011 (aerial image)"
 
 msgid "Częstochowa: Ortofotomapa 2013 (aerial image)"
-msgstr ""
+msgstr "Częstochowa: Ortofotomapa 2013 (imagem aérea)"
 
 msgid "Częstochowa: Ortofotomapa 2014 (aerial image)"
-msgstr ""
+msgstr "Częstochowa: Ortofotomapa 2014 (imagem aérea)"
 
 msgid "Gliwice: Ortofotomapa 2013 (aerial image)"
 msgstr "Gliwice: Ortofotomapa 2013 (imagem aérea)"
@@ -16387,43 +16611,43 @@ msgid "Katowice: Ortofotomapa (aerial image)"
 msgstr "Katowice: Ortofotomapa (aerial image)"
 
 msgid "Katowice: Budynki (buildings)"
-msgstr ""
+msgstr "Katowice: Budynki (prédios)"
 
 msgid "Łódź: Budynki (buildings)"
-msgstr ""
+msgstr "Łódź: Budynki (prédios)"
 
 msgid "Łódź: Ortofotomapa (aerial image)"
 msgstr "Łódź: Ortofotomapa (imagme aéria)"
 
 msgid "Powiat dębicki: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat dębicki: Budynki (buildings)"
 
 msgid "Powiat lubaczowski: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat lubaczowski: Budynki (buildings)"
 
 msgid "Powiat łańcucki: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat łańcucki: Budynki (buildings)"
 
 msgid "Powiat poznański: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat poznański: Budynki (buildings)"
 
 msgid "Powiat poznański: Ortofotomapa (Aerial image)"
-msgstr ""
+msgstr "Powiat poznański: Ortofotomapa (Aerial image)"
 
 msgid "Powiat rzeszowski: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat rzeszowski: Budynki (buildings)"
 
 msgid "Powiat rzeszowski: Ortofotomapa (Aerial image)"
-msgstr ""
+msgstr "Powiat rzeszowski: Ortofotomapa (Aerial image)"
 
 msgid "Powiat stalowowolski: Budynki (buildings)"
-msgstr ""
+msgstr "Powiat stalowowolski: Budynki (buildings)"
 
 msgid "Przemyśl: Budynki (buildings)"
-msgstr ""
+msgstr "Przemyśl: Budynki (buildings)"
 
 msgid "Przemyśl: Ortofotomapa (aerial image)"
-msgstr ""
+msgstr "Przemyśl: Ortofotomapa (aerial image)"
 
 msgid "Ruda Śląska: Ortofotomapa (aerial image)"
 msgstr "Ruda Śląska: Ortofotomapa (imagem aérea)"
@@ -16438,16 +16662,16 @@ msgid "Siemianowice Śląskie: Ortofotomapa (aerial image)"
 msgstr "Siemianowice Śląskie: Ortofotomapa (imagem aéria)"
 
 msgid "Siemianowice Śląskie: Budynki (buildings)"
-msgstr ""
+msgstr "Siemianowice Śląskie: Budynki (buildings)"
 
 msgid "Świętochłowice: Ortofotomapa 2008 (aerial image)"
-msgstr ""
+msgstr "Świętochłowice: Ortofotomapa 2008 (aerial image)"
 
 msgid "Świętochłowice: Ortofotomapa 2009 (aerial image)"
 msgstr "Świętochłowice: Ortofotomapa 2009 (imagens aéreas)"
 
 msgid "Świętochłowice: Ortofotomapa 2012 (aerial image)"
-msgstr ""
+msgstr "Świętochłowice: Ortofotomapa 2012 (aerial image)"
 
 msgid "Zabrze: Ortofotomapa 2011 (aerial image)"
 msgstr "Częstochowa: Ortofotomapa 2011 (imagem aérea)"
@@ -16456,7 +16680,7 @@ msgid "trail.pl: Szlaki (paths)"
 msgstr "trail.pl: Szlaki (paths)"
 
 msgid "Wrocław: Ortofotomapa 2015 (aerial image)"
-msgstr ""
+msgstr "Wrocław: Ortofotomapa 2015 (aerial image)"
 
 msgid "ScanEx IRS"
 msgstr "fator de escala"
@@ -16492,10 +16716,10 @@ msgid "Slovakia Historic Maps"
 msgstr "Slovakia Historic Maps"
 
 msgid "RABA-KGZ: Slovenia farmland use"
-msgstr ""
+msgstr "RABA-KGZ: Slovenia farmland use"
 
 msgid "RABA-KGZ: Slovenia built-up areas"
-msgstr ""
+msgstr "RABA-KGZ: Slovenia built-up areas"
 
 msgid "South Africa CD:NGI Aerial"
 msgstr "South Africa CD:NGI Aerial"
@@ -16525,7 +16749,7 @@ msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Kanton Aargau 25cm (AGIS 2011)"
 
 msgid "Kanton Aargau 25cm (AGIS 2014)"
-msgstr ""
+msgstr "Kanton Aargau 25cm (AGIS 2014)"
 
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Stadt Uster Orthophoto 2008 10cm"
@@ -16582,19 +16806,19 @@ msgid "Fiez Orthophoto 2013"
 msgstr "Fiez Orthophoto 2013"
 
 msgid "Taiwan e-Map Open Data"
-msgstr ""
+msgstr "Taiwan e-Map Open Data"
 
 msgid "Taiwan e-Map Open Data (with Contour Line)"
-msgstr ""
+msgstr "Taiwan e-Map Open Data (with Contour Line)"
 
 msgid "Taiwan Village Boundaries"
-msgstr ""
+msgstr "Taiwan Village Boundaries"
 
 msgid "Taiwan Land-Section Data"
-msgstr ""
+msgstr "Taiwan Land-Section Data"
 
 msgid "NLSC Open Data WMTS"
-msgstr ""
+msgstr "NLSC Open Data WMTS"
 
 msgid "MSR Maps Topo"
 msgstr "MSR Maps Topo"
@@ -16603,16 +16827,16 @@ msgid "MSR Maps Urban"
 msgstr "MSR Maps Urban"
 
 msgid "USGS Topographic Maps"
-msgstr ""
+msgstr "USGS Topographic Maps"
 
 msgid "USGS Large Scale Imagery"
 msgstr "USGS Large Scale Imagery"
 
 msgid "TIGER 2012 Roads Overlay"
-msgstr ""
+msgstr "TIGER 2012 Roads Overlay"
 
 msgid "New & Misaligned TIGER Roads (2015)"
-msgstr ""
+msgstr "New & Misaligned TIGER Roads (2015)"
 
 msgid "MassGIS L3 Parcels"
 msgstr "MassGIS L3 Parcels"
@@ -16621,7 +16845,7 @@ msgid "NC Latest Orthoimagery"
 msgstr "NC Últimas Ortoimagens"
 
 msgid "U.S. Forest Service roads"
-msgstr ""
+msgstr "U.S. Forest Service roads"
 
 msgid "Ukraine - Orthophotomaps 2012"
 msgstr "Ukraine - Orthophotomaps 2012"
@@ -16645,7 +16869,7 @@ msgid "NLS - OS 6-inch Scotland 1842-82"
 msgstr "NLS - OS 6-inch Scotland 1842-82"
 
 msgid "NLS - OS 6-inch County Series 1888-1913"
-msgstr ""
+msgstr "NLS - OS 6-inch County Series 1888-1913"
 
 msgid "NLS - OS 1:25k 1st Series 1937-61"
 msgstr "NLS - OS 1:25k 1st Series 1937-61"
@@ -16654,7 +16878,7 @@ msgid "NLS - OS 1-inch 7th Series 1955-61"
 msgstr "NLS - OS 1-inch 7th Series 1955-61"
 
 msgid "NLS - OS 25-inch (Scotland) 1892-1905"
-msgstr ""
+msgstr "NLS - OS 25-inch (Scotland) 1892-1905"
 
 msgid "OS 1:25k historic (OSM-Best)"
 msgstr "OS 1:25k historic (OSM-Best)"
@@ -16843,7 +17067,7 @@ msgid "OS Town Plans, Oban 1867-1868 (NLS)"
 msgstr "OS Town Plans, Oban 1867-1868 (NLS)"
 
 msgid "OS Town Plans, Paisley 1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Paisley 1858 (NLS)"
 
 msgid "OS Town Plans, Peebles 1856 (NLS)"
 msgstr "OS Town Plans, Peebles 1856 (NLS)"
@@ -16900,7 +17124,7 @@ msgid "OS Town Plans, Wigtown 1894 (NLS)"
 msgstr "OS Town Plans, Wigtown 1894 (NLS)"
 
 msgid "Landsat 233055"
-msgstr ""
+msgstr "Landsat 233055"
 
 msgid ""
 "Group common Address Interpolation inputs in a single dialog, as well as an "
@@ -16921,11 +17145,15 @@ msgid ""
 "Provides Apache Commons library components. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
+"Provê componentes da biblioteca Apache Commons. Não deve ser instalado "
+"diretamente por usuários, mas como uma dependência de outros plugins."
 
 msgid ""
 "Provides Apache HTTP library. Not meant to be installed directly by users, "
 "but rather as a dependency for other plugins."
 msgstr ""
+"Provê a biblioteca Apache HTTP. Não deve ser instalado diretamente por "
+"usuários, mas como uma dependência de outros plugins."
 
 msgid ""
 "Allows selection of areas in an layer and automatic creation of a way as "
@@ -16980,11 +17208,14 @@ msgid "(Warning: Experimental!) Tool for conflating (merging) data."
 msgstr "(Aviso: Experimental!) Ferramenta para misturar (fundir) dados."
 
 msgid "Downloads new data when you pan/zoom"
-msgstr ""
+msgstr "Faz download de novos dados ao movimentar o mapa"
 
 msgid "Create a grid of ways."
 msgstr "Cria uma grade de caminhos."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -17021,6 +17252,8 @@ msgid ""
 "Provides the EJML library for other JOSM plugins. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
+"Provê a biblioteca EJML para outros plugins do JOSM. Não deve ser instalado "
+"diretamente por usuários, mas como uma dependência de outros plugins."
 
 msgid "Shows the elevation profile and some statistical data of a GPX track."
 msgstr ""
@@ -17072,6 +17305,8 @@ msgid ""
 "Provides the GSON library for other JOSM plugins. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
+"Provê a biblioteca GSON para outros plugins do JOSM. Não deve ser instalado "
+"diretamente por usuários, mas como uma dependência de outros plugins."
 
 msgid "Simple tool to tag house numbers."
 msgstr "Ferramenta simples para etiquetar os números da casa."
@@ -17227,6 +17462,9 @@ msgid ""
 "Recommends categories/tags on newly created OSM entities by analysing "
 "spatial entities into training features and using SVM classification"
 msgstr ""
+"Categorias/tags ecomendadas em entidades OSM recém-criadas através da "
+"análise de entidades espaciais em recursos de treinamento e utilizando a "
+"classificação SVM"
 
 msgid "Import/export OSM data in PBF format"
 msgstr "Importar/exportar dados OSM no formato PBF"
@@ -17277,11 +17515,14 @@ msgstr ""
 
 msgid "Displays stops of selected public transport routes as graph"
 msgstr ""
+"Exibe rotas selecionadas de paradas de transporte público como gráfico"
 
 msgid ""
 "The RasterFiltersPlugin allows to choose and apply some images'' filters to "
 "some layers"
 msgstr ""
+"O RasterFiltersPlugin permite escolher e aplicar alguns filtros de imagens "
+"para algumas camadas"
 
 msgid "Relation and multipolygon creating and editing panel."
 msgstr "Painel de criação e edição de relação e multipolígono."
@@ -17295,6 +17536,10 @@ msgid ""
 "properties window. Available country presets: Belgium, Germany, Poland, "
 "Slovakia, Spain."
 msgstr ""
+"Plugin para marcação de objetos com base em uma seleção de sinais de "
+"trânsito. O diálogo pode ser aberto clicando um pequeno ícone no canto "
+"superior direito da janela de propriedades. Predefinições disponíveis nos "
+"países: Bélgica, Alemanha, Polónia, Eslováquia, Espanha."
 
 msgid ""
 "Renders routes (bus, hiking trails, bicycle routes, ..). Route types must be "
@@ -17311,10 +17556,10 @@ msgid "Loads data from SDS"
 msgstr "Carregar dados de SDS"
 
 msgid "Imagery Layer for Sea Charts"
-msgstr ""
+msgstr "Camada de imagens para Cartas Náuticas"
 
 msgid "Edit features for Sea Charts"
-msgstr ""
+msgstr "Editar recursos para cartas marítimas"
 
 msgid ""
 "Simplify area by removing nodes on very obtuse angles. This can be "
@@ -17327,7 +17572,7 @@ msgid "Edit features for OpenSeaMap"
 msgstr "Editar recursos para OpenSeaMap"
 
 msgid "Allows to draw splines"
-msgstr ""
+msgstr "Permite desenhar splines"
 
 msgid ""
 "Allows to edit traffic information and export it to the urban mobility "
@@ -17355,6 +17600,10 @@ msgid ""
 "of tagging presets (quick preview of the dialog that will popup). You can "
 "start the jar-file as standalone as well."
 msgstr ""
+"Adiciona um testador de predefinições de marcação no menu de janelas, que "
+"ajuda a desenvolver predefinições de marcação (pré-visualização rápida do "
+"diálogo que irá aparecer). Você pode iniciar o arquivo jar como autônomo "
+"também."
 
 msgid "Make terraced houses out of single blocks."
 msgstr "Torna casas com terraço em de blocos individuais."
@@ -17363,6 +17612,8 @@ msgid ""
 "Integrate to-fix http://osmlab.github.io/to-fix/ into JOSM to repair errors "
 "in OpenStreetMap"
 msgstr ""
+"Reparoe integrado http://osmlab.github.io/to-fix/ no JOSM para reparar erros "
+"no OpenStreetMap"
 
 msgid ""
 "Provides helper buttons to allow working with single button mouse (stylus). "
@@ -17462,22 +17713,22 @@ msgid "wood"
 msgstr "madeira"
 
 msgid "paving_stones"
-msgstr "Piso intertravado"
+msgstr "piso intertravado"
 
 msgid "cobblestone"
-msgstr "Piso de seixos"
+msgstr "piso de seixos"
 
 msgid "gravel"
-msgstr "pedras"
+msgstr "cascalho"
 
 msgid "pebblestone"
-msgstr "Cascalho"
+msgstr "seixo rolado"
 
 msgid "compacted"
 msgstr "compactado"
 
 msgid "grass_paver"
-msgstr "grass_paver"
+msgstr "pisograma"
 
 msgid "grass"
 msgstr "grama"
@@ -17489,7 +17740,7 @@ msgid "ground"
 msgstr "terra"
 
 msgid "sett"
-msgstr "pavimento"
+msgstr "paralelepípedo"
 
 msgid "Smoothness"
 msgstr "Usabilidade"
@@ -17498,49 +17749,49 @@ msgid "excellent"
 msgstr "excelente"
 
 msgid "Thin Rollers: rollerblade, skateboard"
-msgstr ""
+msgstr "Thin Rollers: rollerblade, skateboard"
 
 msgid "good"
 msgstr "boa"
 
 msgid "Thin Wheels: racing bike"
-msgstr ""
+msgstr "Thin Wheels: racing bike"
 
 msgid "intermediate"
 msgstr "intemediária"
 
 msgid "Wheels: city bike, wheelchair, scooter"
-msgstr ""
+msgstr "Wheels: city bike, wheelchair, scooter"
 
 msgid "bad"
 msgstr "ruim"
 
 msgid "Robust Wheels: trekking bike, car, rickshaw"
-msgstr ""
+msgstr "Robust Wheels: trekking bike, car, rickshaw"
 
 msgid "very_bad"
 msgstr "muito ruim"
 
 msgid "High Clearance: light duty off-road vehicle"
-msgstr ""
+msgstr "High Clearance: light duty off-road vehicle"
 
 msgid "horrible"
 msgstr "horrível"
 
 msgid "Off-Road: heavy duty off-road vehicle"
-msgstr ""
+msgstr "Off-Road: heavy duty off-road vehicle"
 
 msgid "very_horrible"
 msgstr "muito_horrível"
 
 msgid "Specialized off-road: tractor, ATV"
-msgstr ""
+msgstr "Specialized off-road: tractor, ATV"
 
 msgid "impassable"
 msgstr "intransponível"
 
 msgid "No wheeled vehicle"
-msgstr ""
+msgstr "Sem veículo de rodas"
 
 msgctxt "riding"
 msgid "pitch"
@@ -17598,7 +17849,7 @@ msgid "Cutting"
 msgstr "Corte"
 
 msgid "Embankment"
-msgstr "Barragem"
+msgstr "Aterro"
 
 msgid "Incline"
 msgstr "Aclive"
@@ -17647,7 +17898,7 @@ msgid "Service type"
 msgstr "Tipo de serviço"
 
 msgid "yard"
-msgstr "jarda"
+msgstr "manobras"
 
 msgid "siding"
 msgstr "desvio"
@@ -17656,13 +17907,13 @@ msgid "spur"
 msgstr "espora"
 
 msgid "crossover"
-msgstr ""
+msgstr "travessão"
 
 msgid "Electrified"
 msgstr "Eletrificado"
 
 msgid "contact_line"
-msgstr "contact_line"
+msgstr "catenária"
 
 msgid "no"
 msgstr "não"
@@ -17687,7 +17938,7 @@ msgstr "16.7"
 
 msgctxt "railway"
 msgid "Tracks"
-msgstr "Trilhas"
+msgstr "Linhas"
 
 msgid "Gauge (mm)"
 msgstr "Bitola (mm)"
@@ -17725,14 +17976,113 @@ msgstr "limitado"
 msgid "Brand"
 msgstr "Marca"
 
+msgid "Cuisine"
+msgstr "Cozinha"
+
+msgid "italian"
+msgstr "italiana"
+
+msgid "chinese"
+msgstr "chinessa"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hambúrguer"
+
+msgid "greek"
+msgstr "grega"
+
+msgid "german"
+msgstr "alemã"
+
+msgid "indian"
+msgstr "indiana"
+
+msgid "regional"
+msgstr "regional"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turca"
+
+msgid "asian"
+msgstr "asiática"
+
+msgid "thai"
+msgstr "tailandesa"
+
+msgid "mexican"
+msgstr "mexicana"
+
+msgid "japanese"
+msgstr "japonesa"
+
+msgid "french"
+msgstr "francesa"
+
+msgid "sandwich"
+msgstr "lanchonete"
+
+msgid "coffee_shop"
+msgstr "café"
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr "churrascaria"
+
+msgid "fish_and_chips"
+msgstr "fish_and_chips"
+
+msgid "chicken"
+msgstr "frango"
+
+msgid "american"
+msgstr "americano"
+
+msgid "ice_cream"
+msgstr "sorvete"
+
+msgid "international"
+msgstr "internacional"
+
+msgid "seafood"
+msgstr "seafood"
+
+msgid "spanish"
+msgstr "spanish"
+
+msgid "vietnamese"
+msgstr "vietnamita"
+
+msgid "fish"
+msgstr "peixe"
+
+msgid "noodle"
+msgstr "noodle"
+
+msgid "barbecue"
+msgstr "churrasco"
+
+msgid "vegetarian"
+msgstr "vegetariano"
+
+msgid "korean"
+msgstr "coreano"
+
 msgid "Internet access"
 msgstr "Acesso à Internet"
 
 msgid "wlan"
-msgstr "wlan"
+msgstr "sem fio"
 
 msgid "wired"
-msgstr "wired"
+msgstr "cabeado"
 
 msgid "terminal"
 msgstr "terminal"
@@ -17882,7 +18232,7 @@ msgstr "hóquei no gelo"
 
 msgctxt "sport"
 msgid "karting"
-msgstr ""
+msgstr "karting"
 
 msgctxt "sport"
 msgid "model_aerodrome"
@@ -17906,7 +18256,7 @@ msgstr "raquete"
 
 msgctxt "sport"
 msgid "rc_car"
-msgstr ""
+msgstr "rc_car"
 
 msgctxt "sport"
 msgid "rugby_league"
@@ -18017,7 +18367,7 @@ msgid "General Access"
 msgstr "Acesso Geral"
 
 msgid "destination"
-msgstr "Destino"
+msgstr "destino"
 
 msgid "delivery"
 msgstr "entrega"
@@ -18214,7 +18564,7 @@ msgid "110000;20000"
 msgstr "110000;20000"
 
 msgid "Branch operator"
-msgstr "Operado do ramo"
+msgstr "Operador do ramal"
 
 msgid "Amount of Cables"
 msgstr "Quantidade de Cabos"
@@ -18223,7 +18573,7 @@ msgid "Amount of circuits"
 msgstr "Quantidade de circuitos"
 
 msgid "Location"
-msgstr "Localidade"
+msgstr "Localização"
 
 msgctxt "power"
 msgid "outdoor"
@@ -18296,35 +18646,38 @@ msgstr "Peso máximo (toneladas)"
 msgid "Toll"
 msgstr "Pedágio"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "O corpo de água é intermitente (desaparece sazonalmente)?"
+msgid "Intermittent"
+msgstr "Intermitente"
+
+msgid "Seasonal"
+msgstr "Sazonal"
 
 msgid "In the tidal range"
-msgstr ""
+msgstr "Na zona entremarés"
 
 msgid "culvert"
-msgstr ""
+msgstr "bueiro"
 
 msgid "Water access rules:"
-msgstr ""
+msgstr "Regras de acesso a água"
 
 msgid "Ship"
-msgstr ""
+msgstr "Navio"
 
 msgid "designated"
 msgstr "designado"
 
 msgid "Boat"
-msgstr ""
+msgstr "Barco"
 
 msgid "Motorboat"
-msgstr ""
+msgstr "Barco a motor"
 
 msgid "Canoe"
-msgstr ""
+msgstr "Canoa"
 
 msgid "Substance"
-msgstr ""
+msgstr "Substância"
 
 msgid "water"
 msgstr "água"
@@ -18346,11 +18699,11 @@ msgstr "Suporte"
 
 msgctxt "mounting/support"
 msgid "pole"
-msgstr "pólo"
+msgstr "coluna"
 
 msgctxt "mounting/support"
 msgid "wall_mounted"
-msgstr "wall_mounted"
+msgstr "fixado à parede"
 
 msgctxt "mounting/support"
 msgid "billboard"
@@ -18358,7 +18711,7 @@ msgstr "letreiro"
 
 msgctxt "mounting/support"
 msgid "ground"
-msgstr "acampar"
+msgstr "no solo"
 
 msgid "IATA"
 msgstr "IATA"
@@ -18367,10 +18720,10 @@ msgid "ICAO"
 msgstr "ICAO"
 
 msgid "Car brand"
-msgstr ""
+msgstr "Fabricante"
 
 msgid "Motorcycle brand"
-msgstr ""
+msgstr "Fabricante"
 
 msgid "Streets"
 msgstr "Ruas"
@@ -18379,37 +18732,37 @@ msgid "Motorway"
 msgstr "Autoestrada"
 
 msgid "Placement"
-msgstr ""
+msgstr "Placement"
 
 msgid "left_of:1"
-msgstr ""
+msgstr "left_of:1"
 
 msgid "left_of:2"
-msgstr ""
+msgstr "left_of:2"
 
 msgid "left_of:3"
-msgstr ""
+msgstr "left_of:3"
 
 msgid "middle_of:1"
-msgstr ""
+msgstr "middle_of:1"
 
 msgid "middle_of:2"
-msgstr ""
+msgstr "middle_of:2"
 
 msgid "middle_of:3"
-msgstr ""
+msgstr "middle_of:3"
 
 msgid "right_of:1"
-msgstr ""
+msgstr "right_of:1"
 
 msgid "right_of:2"
-msgstr ""
+msgstr "right_of:2"
 
 msgid "right_of:3"
-msgstr ""
+msgstr "right_of:3"
 
 msgid "transition"
-msgstr ""
+msgstr "transition"
 
 msgid "Motorway Link"
 msgstr "Ligação de Autoestrada"
@@ -18418,7 +18771,7 @@ msgid "Trunk"
 msgstr "Via expressa"
 
 msgid "Motorroad"
-msgstr "Motorroad"
+msgstr "Apenas para Veículos Automotores"
 
 msgid "Trunk Link"
 msgstr "Ligação de Via Expressa"
@@ -18427,7 +18780,7 @@ msgid "Primary"
 msgstr "Primária"
 
 msgid "Overhead trolley wires"
-msgstr ""
+msgstr "Catenária de bonde sobre a via"
 
 msgid "Primary Link"
 msgstr "Ligação Primária"
@@ -18516,7 +18869,7 @@ msgid "drive-through"
 msgstr "drive-through"
 
 msgid "emergency_access"
-msgstr ""
+msgstr "acesso de emergência"
 
 msgid "Parking Aisle"
 msgstr "Vaga de Estacionamento"
@@ -18615,7 +18968,7 @@ msgid "roundabout"
 msgstr "rotatória"
 
 msgid "jughandle"
-msgstr "jughandle"
+msgstr "alça rodoviária"
 
 msgid "Road Restrictions"
 msgstr "Restrições da Via"
@@ -18643,7 +18996,7 @@ msgid "All vehicles"
 msgstr "Todos os veiculos"
 
 msgid "use_sidepath"
-msgstr "use_sidepath"
+msgstr "pela ciclovia"
 
 msgid "Motor vehicles"
 msgstr "Veículos a motor"
@@ -18673,7 +19026,7 @@ msgid "Tourist buses"
 msgstr "Ônibus de turistas"
 
 msgid "Max. speed Heavy Goods Vehicles (km/h)"
-msgstr ""
+msgstr "Max. speed Heavy Goods Vehicles (km/h)"
 
 msgid "Min. speed (km/h)"
 msgstr "Velocidade mínima (km/h)"
@@ -18755,7 +19108,8 @@ msgstr "T1 - pista de caminhada"
 
 msgid "Trail well cleared. Area flat or slightly sloped, no fall hazard"
 msgstr ""
-"Trilha bem apagada. Área plana ou ligeiramente inclinada, sem risco de queda"
+"Trilha bem demarcada. Área plana ou ligeiramente inclinada, sem risco de "
+"queda"
 
 msgid "T2 - mountain hiking trail"
 msgstr "T2 - trilha de caminhada na montanha"
@@ -18764,8 +19118,8 @@ msgid ""
 "Trail with continuous line and balanced ascent. Terrain partially steep, "
 "fall hazard possible"
 msgstr ""
-"Trilha com linha contínua e ascensão equilibrada. Terreno parcialmente "
-"íngreme, queda perigosa possível"
+"Trilha com linha contínua e ascensão equilibrada. O terreno é parcialmente "
+"íngreme com possível risco de queda"
 
 msgid "T3 - difficult, exposed hiking trail"
 msgstr "T3 - difícil, pista de caminhada exposta"
@@ -18775,9 +19129,9 @@ msgid ""
 "hands for balance. Partly exposed sites with fall hazard, scree, pathless "
 "jagged rocks"
 msgstr ""
-"locais expostos podem ser fixados com cordas ou correntes, eventual "
-"necessidade de usar as mãos para se equilibrar. Locais parcialmente expostas "
-"com risco de queda, cascalho, pedras irregulares intransitáveis"
+"Locais expostos podem ser fixados com cordas ou correntes, com eventual "
+"necessidade de usar as mãos para se equilibrar. Terreno parcialmente exposto "
+"com risco de quedas, cascalho e pedras irregulares intransitáveis"
 
 msgid "T4 - difficult, exposed, steep alpine trail"
 msgstr "T4 - difícil, exposta, trilha alpina íngreme"
@@ -18786,9 +19140,8 @@ msgid ""
 "sometimes need for hand use to get ahead. Terrain quite exposed, precarious "
 "grassy acclivities, jagged rocks, facile snow-free glaciers"
 msgstr ""
-"às vezes é preciso usar a mão para chegar à frente. Terreno bastante "
-"exposto, precários aclives gramados, pedras irregulares, geleiras sem neve "
-"fáceis"
+"Às vezes é preciso usar as mãos para avançar. Terreno bastante exposto, "
+"aclives precários com gramíneas, rochas irregulares, geleiras sem neve fáceis"
 
 msgid "T5 - difficult alpine trail with climbing"
 msgstr "T5 - trilha alpina difícil com escalada"
@@ -18797,8 +19150,8 @@ msgid ""
 "single plainly climbing up to second grade. Exposed, demanding terrain, "
 "jagged rocks, few dangerous glacier and snow"
 msgstr ""
-"único, claramente subindo para o segundo grau. Exposto, exigindo terreno, "
-"pedras irregulares, poucas geleira perigosas e neve"
+"Muitas vezes sem caminho definido, subindo para o segundo grau. Terreno "
+"exposto e exigente, pedras irregulares, poucas geleiras perigosas e neve"
 
 msgid "T6 - hazardous alpine trail with climbing"
 msgstr "T6 - trilha alpina perigosos com escalada"
@@ -18807,8 +19160,9 @@ msgid ""
 "climbing up to second grade. Often very exposed, precarious jagged rocks, "
 "glacier with danger to slip and fall"
 msgstr ""
-"subir até o segundo grau. Muitas vezes, muito expostas, pedras irregulares "
-"precárias, geleira com perigo de escorregar e cair"
+"Quase sempre sem um caminho definido subindo até o segundo grau. Terreno "
+"geralmente muito exposto, pedras irregulares e perigosas, geleiras com "
+"perigo de escorregamento e queda"
 
 msgid "Visibility"
 msgstr "Visibilidade"
@@ -18838,40 +19192,40 @@ msgid "no"
 msgstr "sem"
 
 msgid "Ski"
-msgstr "Ski"
+msgstr "Esqui"
 
 msgid "Snowmobile"
-msgstr "Snowmobile"
+msgstr "Moto de Neve"
 
 msgid "Dedicated Bridleway"
 msgstr "Caminho exclusivo para cavalos"
 
 msgid "Cycle Lane/Track"
-msgstr "Cycle Lane/Track"
+msgstr "Ciclofaixa/Ciclovia"
 
 msgid "Cycleway"
 msgstr "Ciclovia"
 
 msgid "lane"
-msgstr "pista"
+msgstr "ciclofaixa"
 
 msgid "track"
-msgstr "Ttrilha"
+msgstr "ciclovia"
 
 msgid "opposite_lane"
-msgstr "opposite_lane"
+msgstr "ciclofaixa no contrafluxo"
 
 msgid "opposite_track"
-msgstr "opposite_track"
+msgstr "ciclovia no contrafluxo"
 
 msgid "opposite"
-msgstr "oposição"
+msgstr "no contrafluxo"
 
 msgid "share_busway"
-msgstr "share_busway"
+msgstr "compartilha corredor de ônibus"
 
 msgid "shared_lane"
-msgstr "shared_lane"
+msgstr "faixa compartilhada"
 
 msgid "Cycleway left"
 msgstr "Ciclovia na esquerda"
@@ -18905,23 +19259,23 @@ msgstr "Via exclusiva para pedestres"
 
 msgctxt "footway"
 msgid "sidewalk"
-msgstr ""
+msgstr "calçada"
 
 msgctxt "footway"
 msgid "crossing"
-msgstr ""
+msgstr "travessia"
 
 msgid "Steps"
 msgstr "Escada"
 
 msgid "Amount of Steps"
-msgstr "Quantidade de passos"
+msgstr "Quantidade de Degraus"
 
 msgid "Ramp"
 msgstr "Rampa"
 
 msgid "Stroller ramp"
-msgstr ""
+msgstr "Rampa para carrinho"
 
 msgid "Bicycle ramp"
 msgstr "Rampa para bicicleta"
@@ -18951,16 +19305,16 @@ msgid "Right handrail"
 msgstr "Corrimão à direita"
 
 msgid "Escalator"
-msgstr ""
+msgstr "Escada rolante"
 
 msgid "forward"
-msgstr ""
+msgstr "para frente"
 
 msgid "backward"
-msgstr ""
+msgstr "para trás"
 
 msgid "reversible"
-msgstr ""
+msgstr "reversível"
 
 msgid "Waypoints"
 msgstr "Pontos da via"
@@ -19062,31 +19416,35 @@ msgid "Pedestrian Crossing"
 msgstr "Faixa de pedestres"
 
 msgid "In case of traffic signals:"
-msgstr ""
+msgstr "Em caso de sinais de trânsito"
 
 msgid "Traffic Calming"
 msgstr "Redutor de velocidade"
 
-msgid "bump"
-msgstr "lombada"
+msgid "Bump"
+msgstr "Lombada"
 
-msgid "chicane"
-msgstr "chicane"
+msgid "Chicane"
+msgstr "Chicane"
 
-msgid "choker"
-msgstr "gargantilha"
+msgid "Choker"
+msgstr "Estreitamento de pista"
 
-msgid "cushion"
-msgstr "almofada"
+msgid "Cushion"
+msgstr "Almofada"
 
-msgid "hump"
-msgstr "lombada rápida"
+msgid "Hump"
+msgstr "Lombada rápida"
+
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr "Ilha"
 
-msgid "rumble_strip"
-msgstr "sonorizador"
+msgid "Rumble strip"
+msgstr "Sonorizador"
 
-msgid "table"
-msgstr "faixa elevada para pedestres"
+msgid "Table"
+msgstr "Faixa elevada para travessia de pedestres"
 
 msgid "Passing Place"
 msgstr "Local de ultrapassagem"
@@ -19095,10 +19453,10 @@ msgid "Turning Circle"
 msgstr "Círculo de retorno"
 
 msgid "Turning Loop"
-msgstr "Turning Loop"
+msgstr "Praça de Retorno"
 
 msgid "City Limit Sign"
-msgstr ""
+msgstr "Placa de Limite Municipal"
 
 msgid "Second Name"
 msgstr "Segundo nome"
@@ -19110,7 +19468,7 @@ msgid "Speed Camera"
 msgstr "Radar de Velocidade"
 
 msgid "Traffic Mirror"
-msgstr ""
+msgstr "Espelho de Trânsito"
 
 msgid "Highway milestone"
 msgstr "Marco quilométrico"
@@ -19120,12 +19478,14 @@ msgstr "Distância (quilômetros)"
 
 msgctxt "junction=yes"
 msgid "Named Junction"
-msgstr ""
+msgstr "Cruzamento nomeado"
 
 msgid ""
 "Used in some countries for a named road junction who’s name serves for local "
 "orientation."
 msgstr ""
+"Usado em alguns países para indicar um cruzamento de ruas que é nomeado, "
+"servindo para orientação local."
 
 msgid "Elevator"
 msgstr "Elevador"
@@ -19170,13 +19530,13 @@ msgid "Cycle Barrier"
 msgstr "Barreira para bicicletas"
 
 msgid "Cattle Grid"
-msgstr "mata-burro"
+msgstr "Mata-Burro"
 
 msgid "Bus Trap"
 msgstr "Bus Trap"
 
 msgid "Spikes"
-msgstr "Spikes"
+msgstr "Tapete de Pregos"
 
 msgid "Toll Booth"
 msgstr "Cabine de pedágio"
@@ -19185,7 +19545,7 @@ msgid "Border Control"
 msgstr "Alfândega"
 
 msgid "Hedge"
-msgstr "Hedge"
+msgstr "Cerca viva"
 
 msgid "Genus"
 msgstr "Gênero"
@@ -19200,47 +19560,50 @@ msgid "Fence"
 msgstr "Cerca"
 
 msgid "barbed_wire"
-msgstr "arame_farpado"
+msgstr "arame farpado"
 
 msgid "chain_link"
 msgstr "tela de arame"
 
 msgid "electric"
-msgstr "elétrico"
+msgstr "elétrica"
 
 msgid "pole"
-msgstr "polo"
+msgstr "toras"
 
 msgid "split_rail"
-msgstr "split_rail"
+msgstr "zigue-zague"
 
 msgid "wire"
-msgstr "wire"
+msgstr "gradil"
 
 msgid "Guard Rail"
-msgstr "Guarda ferroviário"
+msgstr "Guard Rail"
 
 msgid "Wall"
-msgstr "Muralha"
+msgstr "Muro"
 
 msgid "dry_stone"
-msgstr ""
+msgstr "pedra seca"
 
 msgid "noise_barrier"
-msgstr "barreira_acústica"
+msgstr "barreira acústica"
 
 msgid "City Wall"
-msgstr "Muro da Cidade"
+msgstr "Muralha"
 
 msgid "Retaining Wall"
-msgstr "Muro"
+msgstr "Muro de Contenção"
+
+msgid "Jersey Barrier"
+msgstr "Barreira Jersey"
 
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Trincheira"
 
 msgid "Kerb"
-msgstr "Kerb"
+msgstr "Meio-fio"
 
 msgid "Entrance (Barrier Opening)"
 msgstr "Entrada (Barreira de Abertura)"
@@ -19252,27 +19615,27 @@ msgid "Lift Gate"
 msgstr "Cancela elevatória"
 
 msgid "Swing Gate"
-msgstr "Swing Gate"
+msgstr "Cancela Giratória"
 
 msgctxt "swing_gate"
 msgid "single"
-msgstr "único"
+msgstr "única"
 
 msgctxt "swing_gate"
 msgid "double"
-msgstr "double"
+msgstr "dupla"
 
 msgid "Hampshire Gate"
-msgstr "Hampshire Gate"
+msgstr "Tronqueira"
 
 msgid "Bump Gate"
-msgstr "Bump Gate"
+msgstr "Porteira de Impacto"
 
 msgid "Kissing Gate"
-msgstr "Kissing Gate"
+msgstr "Quebra-Corpo"
 
 msgid "Chain"
-msgstr "Cadeia"
+msgstr "Corrente"
 
 msgid "Stile"
 msgstr "Stile"
@@ -19281,31 +19644,31 @@ msgid "ladder"
 msgstr "escada"
 
 msgid "squeezer"
-msgstr "espremedor"
+msgstr "estreitamento"
 
 msgid "stepover"
 msgstr "aproximação lateral"
 
 msgid "Turnstile"
-msgstr "Tornquete"
+msgstr "Catraca"
 
 msgid "Sally Port"
-msgstr "Sally Port"
+msgstr "Portão de Clausura"
 
 msgid "Passageways"
 msgstr "Passagens"
 
 msgid "Building Passage"
-msgstr "Passegem de edifício"
+msgstr "Passagem sob Edifício"
 
 msgid "Arcade"
-msgstr "Arcade"
+msgstr "Arcada"
 
 msgid "Open on left side"
-msgstr "Abrir do lado esquerdo"
+msgstr "Aberta no lado esquerdo"
 
 msgid "Open on right side"
-msgstr "Abrir do lado direito"
+msgstr "Aberta no lado direito"
 
 msgid "Colonnade"
 msgstr "Colunata"
@@ -19343,8 +19706,8 @@ msgid ""
 "A point where groundwater naturally flows to the surface of the earth from "
 "underground."
 msgstr ""
-"Uma ponto em que as águas subterrâneas fluem naturalmente para a superfície "
-"da terra do subsolo."
+"Um ponto onde as águas subterrâneas fluem naturalmente para a superfície "
+"terrestre a partir do subsolo."
 
 msgid "Waterfall"
 msgstr "Queda d’água"
@@ -19356,7 +19719,7 @@ msgid "Dam"
 msgstr "Barragem"
 
 msgid "Groyne"
-msgstr "Quebra-mar"
+msgstr "Molhe"
 
 msgid "Breakwater"
 msgstr "Quebra-mar"
@@ -19378,7 +19741,7 @@ msgid "Water"
 msgstr "Água"
 
 msgid "A body of standing water, such as a lake or pond."
-msgstr "Um conjunto de água parada, como um lago ou lagoa."
+msgstr "Um corpo d''água com pouco fluxo, como um lago ou uma lagoa."
 
 msgid "Water Body"
 msgstr "Corpo de água"
@@ -19390,10 +19753,10 @@ msgid "lake"
 msgstr "lago"
 
 msgid "lagoon"
-msgstr "lagoa"
+msgstr "laguna"
 
 msgid "oxbow"
-msgstr "Junta de bois"
+msgstr "meandro abandonado"
 
 msgid "pond"
 msgstr "lagoa"
@@ -19407,6 +19770,9 @@ msgstr "rio"
 msgid "Salt Water"
 msgstr "Água salgada"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "O corpo de água é intermitente (desaparece sazonalmente)?"
+
 msgid "Coastline"
 msgstr "Linha Costeira"
 
@@ -19418,7 +19784,7 @@ msgid "Riverbank"
 msgstr "Margens de Rio"
 
 msgid "Wetland"
-msgstr "Pântano"
+msgstr "Zona Úmida"
 
 msgid "Waterlogged area, either permanently or seasonally with vegetation."
 msgstr "Área alagada, permanente ou sazonalmente com vegetação."
@@ -19430,16 +19796,16 @@ msgid "bog"
 msgstr "atoleiro"
 
 msgid "marsh"
-msgstr "pântano"
+msgstr "brejo"
 
 msgid "reedbed"
 msgstr "canavial"
 
 msgid "saltmarsh"
-msgstr "pântano costeiro"
+msgstr "marisma"
 
 msgid "tidalflat"
-msgstr "tidalflat"
+msgstr "planície de maré"
 
 msgid "mangrove"
 msgstr "mangue"
@@ -19460,7 +19826,7 @@ msgid "swimming"
 msgstr "natação"
 
 msgid "surfing"
-msgstr "surfing"
+msgstr "surfe"
 
 msgid "Bay"
 msgstr "Baía"
@@ -19471,18 +19837,8 @@ msgstr ""
 "Uma grande massa de água parcialmente cercada por terra, mas com uma "
 "embocadura larga."
 
-msgid "Cliff"
-msgstr "Penhasco"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Uma rocha íngreme exposta, com um significativo na vertical, ou quase "
-"verticalmente (deixar a face inferior para a direita da forma)"
-
 msgid "Shipping"
-msgstr "Remessa"
+msgstr "Navegação"
 
 msgid "Ferry Terminal"
 msgstr "Terminal de Barca"
@@ -19492,7 +19848,7 @@ msgstr "Carga"
 
 msgctxt "cargo"
 msgid "passengers"
-msgstr "Estagiário"
+msgstr "passageiros"
 
 msgctxt "cargo"
 msgid "vehicle"
@@ -19508,22 +19864,22 @@ msgstr "veículos pesados"
 
 msgctxt "cargo"
 msgid "passengers;vehicle"
-msgstr "passageiros;veículo"
+msgstr "passageiros e veículo"
 
 msgid "Ferry Route"
 msgstr "Rota de Barca"
 
 msgid "Marina"
-msgstr "marina"
+msgstr "Marina"
 
 msgid "Dump Station"
-msgstr ""
+msgstr "Coleta de Esgoto"
 
 msgid "public"
 msgstr "público"
 
 msgid "Marine Fuel"
-msgstr ""
+msgstr "Combustível"
 
 msgid "Agip"
 msgstr "Agip"
@@ -19544,7 +19900,7 @@ msgid "Citgo"
 msgstr "Citgo"
 
 msgid "Eni"
-msgstr ""
+msgstr "Eni"
 
 msgid "Esso"
 msgstr "Esso"
@@ -19577,7 +19933,7 @@ msgid "Shell"
 msgstr "Shell"
 
 msgid "Socar"
-msgstr ""
+msgstr "Socar"
 
 msgid "Statoil"
 msgstr "Statoil"
@@ -19640,16 +19996,16 @@ msgid "Pier"
 msgstr "Pier"
 
 msgid "Mooring"
-msgstr ""
+msgstr "Mooring"
 
 msgid "commercial"
-msgstr ""
+msgstr "comercial"
 
 msgid "Floating"
-msgstr ""
+msgstr "Flutuante"
 
 msgid "Lock Gate"
-msgstr "Portão de Dique"
+msgstr "Comporta"
 
 msgid "Turning Point"
 msgstr "Ponto de Virada"
@@ -19673,10 +20029,10 @@ msgid "Rail"
 msgstr "Trilhos"
 
 msgid "main"
-msgstr "main"
+msgstr "principal"
 
 msgid "branch"
-msgstr "ramo"
+msgstr "ramal"
 
 msgid "industrial"
 msgstr "industrial"
@@ -19700,7 +20056,7 @@ msgid "Preserved"
 msgstr "Preservado"
 
 msgid "Light Rail"
-msgstr "Veículo Leve Sobre Trilhos"
+msgstr "Metrô de Superfície"
 
 msgid "Subway"
 msgstr "Metrô"
@@ -19709,7 +20065,7 @@ msgid "Tram"
 msgstr "Bonde/VLT"
 
 msgid "Bus Guideway"
-msgstr "Bus Guideway"
+msgstr "Ônibus Guiado"
 
 msgid "Disused Rail"
 msgstr "Ferrovia em Desuso"
@@ -19736,42 +20092,42 @@ msgstr "não"
 
 msgctxt "crossing:barrier"
 msgid "half"
-msgstr "meio"
+msgstr "em meia pista"
 
 msgctxt "crossing:barrier"
 msgid "full"
-msgstr "repleto"
+msgstr "em toda a pista"
 
 msgctxt "crossing:barrier"
 msgid "double_half"
-msgstr "double_half"
+msgstr "nos dois sentidos"
 
 msgid "Crossing"
-msgstr "Cruzamento"
+msgstr "Travessia de Pedestres"
 
 msgid "Crossing type"
 msgstr "Tipo de cruzamento"
 
 msgid "Turntable"
-msgstr "Prato giratório"
+msgstr "Rotunda"
 
 msgid "Buffer Stop"
-msgstr "Parar buffer"
+msgstr "Para-choque de Via"
 
 msgid "Railway Switch"
-msgstr "Railway Switch"
+msgstr "Aparelho de Mudança de Via"
 
 msgid "Railway Signal"
-msgstr ""
+msgstr "Sinal Ferroviário"
 
 msgid "Railway milestone"
 msgstr "Marco quilométrico"
 
 msgid "Aerialway"
-msgstr "Aerialway"
+msgstr "Teleféricos"
 
 msgid "Cable Car"
-msgstr "Teleférico"
+msgstr "Bonde Aéreo"
 
 msgid "Number of people per hour"
 msgstr "Número de pessoas por hora"
@@ -19813,24 +20169,26 @@ msgid ""
 "drag_lift (general type - use only if exact type (see values below) is "
 "unknown)"
 msgstr ""
+"drag_lift (tipo geral - use somente se o tipo exato (ver valores abaixo) é "
+"desconhecido)"
 
 msgid "t-bar"
-msgstr ""
+msgstr "t-bar"
 
 msgid "j-bar"
-msgstr ""
+msgstr "j-bar"
 
 msgid "platter"
-msgstr ""
+msgstr "platter"
 
 msgid "rope_tow"
-msgstr ""
+msgstr "rope_tow"
 
 msgid "Magic Carpet"
 msgstr "Esteira rolante"
 
 msgid "Goods"
-msgstr "Produtos"
+msgstr "Cargas"
 
 msgctxt "aerialway"
 msgid "Station"
@@ -19843,7 +20201,7 @@ msgid "Parking"
 msgstr "Estacionamento"
 
 msgid "Park and Ride"
-msgstr "Park and Ride"
+msgstr "Conexão com Transporte Público"
 
 msgid "bus"
 msgstr "ônibus"
@@ -19873,10 +20231,10 @@ msgid "Spaces for Parents"
 msgstr "Vagas para Pais"
 
 msgid "See the Wiki for other capacity:[types]=*."
-msgstr "Veja a Wiki para outra função: [typos] = *."
+msgstr "Veja a Wiki para outros tipos de capacity:*"
 
 msgid "Parking Space"
-msgstr "Estacionamento"
+msgstr "Vaga de Estacionamento"
 
 msgid "Capacity"
 msgstr "Capacidade"
@@ -19912,16 +20270,16 @@ msgid "1/50 mix (mofa/moped)"
 msgstr "1/50 mix (mofa/moped)"
 
 msgid "Fuel cards:"
-msgstr ""
+msgstr "Fuel cards:"
 
 msgid "DKV"
-msgstr ""
+msgstr "DKV"
 
 msgid "Routex"
-msgstr ""
+msgstr "Routex"
 
 msgid "UTA"
-msgstr ""
+msgstr "UTA"
 
 msgid "Charging Station"
 msgstr "Estação de carregamento"
@@ -19948,10 +20306,10 @@ msgid "Repair"
 msgstr "Oficina"
 
 msgid "Parts"
-msgstr "Partes"
+msgstr "Autopeça"
 
 msgid "Tires"
-msgstr "Tires"
+msgstr "Pneus"
 
 msgid "Rental"
 msgstr "Aluguel"
@@ -19960,7 +20318,7 @@ msgid "Sharing"
 msgstr "Compartilhamento"
 
 msgid "Motorcycle Dealer"
-msgstr "Venda de Motos"
+msgstr "Concessionária de Motos"
 
 msgid "Services:"
 msgstr "Serviços:"
@@ -19996,7 +20354,7 @@ msgid "anchors"
 msgstr "âncoras"
 
 msgid "ground_slots"
-msgstr "ground_slots"
+msgstr "encaixe no chão"
 
 msgid "informal"
 msgstr "Informal"
@@ -20008,13 +20366,13 @@ msgid "rack"
 msgstr "rack"
 
 msgid "shed"
-msgstr "cabana"
+msgstr "abrigo"
 
 msgid "stands"
-msgstr "arquibancadas"
+msgstr "u-invertido"
 
 msgid "wall_loops"
-msgstr "wall_loops"
+msgstr "grelha"
 
 msgid "Covered"
 msgstr "Coberto"
@@ -20038,9 +20396,7 @@ msgid "Free bicycle pump"
 msgstr "Bomba para pneus de graça"
 
 msgid "Tools for do-it-yourself repair (may be a bike co-operative)"
-msgstr ""
-"Ferramentas para reparações faça você mesmo (pode ser uma cooperativa de "
-"moto)"
+msgstr "Ferramentas para autorreparo (pode ser uma cooperativa de bicicleta)"
 
 msgid "Bicycles are washed (for a fee)"
 msgstr "Bicicletas são lavadas (por um certo valor)"
@@ -20049,7 +20405,7 @@ msgid "Public Bicycle Repair Station"
 msgstr "Estação Pública para Reparo de Bicicletas"
 
 msgid "Chain tool"
-msgstr ""
+msgstr "Ferramentas para correntes"
 
 msgid "Public Transport"
 msgstr "Transporte Público"
@@ -20061,19 +20417,19 @@ msgid "Route type"
 msgstr "Tipo de rota"
 
 msgid "subway"
-msgstr "Metrô"
+msgstr "metrô"
 
 msgid "monorail"
 msgstr "monotrilho"
 
 msgid "light_rail"
-msgstr "light_rail"
+msgstr "metrô de superfície"
 
 msgid "trolleybus"
-msgstr "trolleybus"
+msgstr "trólebus"
 
 msgid "aerialway"
-msgstr "aerialway"
+msgstr "teleférico"
 
 msgid "From (initial stop)"
 msgstr "De (partida)"
@@ -20189,7 +20545,7 @@ msgid "Railway halt (legacy)"
 msgstr "Parada Ferroviária (legado)"
 
 msgid "Trolleybus"
-msgstr "Trolleybus"
+msgstr "Trólebus"
 
 msgid "Share taxi"
 msgstr "Táxi compartilhado"
@@ -20226,7 +20582,7 @@ msgid "Building"
 msgstr "Edificação"
 
 msgid "Ticket Machine"
-msgstr "Maquina de ingresso"
+msgstr "Venda de Bilhetes"
 
 msgid "Reference Number"
 msgstr "Número de Referência"
@@ -20274,7 +20630,7 @@ msgid "Bus Stop"
 msgstr "Ponto de Ônibus"
 
 msgid "Tactile Paving"
-msgstr "Piso táctil"
+msgstr "Piso Tátil"
 
 msgid "incorrect"
 msgstr "incorreto"
@@ -20304,7 +20660,7 @@ msgid "Apron"
 msgstr "Apron"
 
 msgid "Plane Parking Position"
-msgstr ""
+msgstr "Posição de Parada"
 
 msgid "Hangar"
 msgstr "Hangar"
@@ -20340,7 +20696,7 @@ msgid "Hotel"
 msgstr "Hotel"
 
 msgid "Stars"
-msgstr "Estrelhas"
+msgstr "Estrelas"
 
 msgid "Rooms"
 msgstr "Quartos"
@@ -20364,7 +20720,7 @@ msgid "Alpine Hut"
 msgstr "Cabana alpina"
 
 msgid "Wilderness Hut"
-msgstr ""
+msgstr "Abrigo Isolado"
 
 msgid "Access rights"
 msgstr "Direitos de acesso"
@@ -20376,22 +20732,22 @@ msgid "seasonal"
 msgstr "sazonal"
 
 msgid "Reservation"
-msgstr ""
+msgstr "Reservation"
 
 msgid "required"
-msgstr ""
+msgstr "obrigatória"
 
 msgid "recommended"
-msgstr ""
+msgstr "recomendada"
 
 msgid "members_only"
-msgstr ""
+msgstr "apenas membros"
 
 msgid "Closer Description"
 msgstr "Descrição mais próxima"
 
 msgid "Caravan Site/RV Park"
-msgstr "Área de camping/RV Park"
+msgstr "Camping para Motorhome"
 
 msgid "Number of places"
 msgstr "Número de lugares"
@@ -20411,66 +20767,6 @@ msgstr "Comida e Bebida"
 msgid "Restaurant"
 msgstr "Restaurante"
 
-msgid "Cuisine"
-msgstr "Cozinha"
-
-msgid "italian"
-msgstr "italiana"
-
-msgid "chinese"
-msgstr "chinessa"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hambúrguer"
-
-msgid "greek"
-msgstr "grega"
-
-msgid "german"
-msgstr "alemã"
-
-msgid "indian"
-msgstr "indiana"
-
-msgid "regional"
-msgstr "regional"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turca"
-
-msgid "asian"
-msgstr "asiática"
-
-msgid "thai"
-msgstr "tailandesa"
-
-msgid "mexican"
-msgstr "mexicana"
-
-msgid "japanese"
-msgstr "japonesa"
-
-msgid "french"
-msgstr "francesa"
-
-msgid "sandwich"
-msgstr "lanchonete"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr "churrascaria"
-
 msgid "Microbrewery"
 msgstr "Microcervejaria"
 
@@ -20478,25 +20774,19 @@ msgid "Outdoor seating"
 msgstr "Lugares ao ar livre"
 
 msgid "Takeaway"
-msgstr ""
+msgstr "Alimento para Viagem"
 
 msgid "Fast Food"
 msgstr "Lanchonete"
 
-msgid "fish_and_chips"
-msgstr "fish_and_chips"
-
-msgid "chicken"
-msgstr "frango"
-
 msgid "Food Court"
 msgstr "Praça de Alimentação"
 
 msgid "Cafe"
 msgstr "Café"
 
-msgid "ice_cream"
-msgstr "sorvete"
+msgid "Ice cream"
+msgstr "Sorvete"
 
 msgid "Pub"
 msgstr "Bar/Pub"
@@ -20533,16 +20823,16 @@ msgid "A board with a map."
 msgstr "Uma placa com um mapa."
 
 msgid "Detail Grade"
-msgstr "Grade da grade"
+msgstr "Tipo de Mapa"
 
 msgid "topo"
-msgstr "topo"
+msgstr "topográfico"
 
 msgid "street"
-msgstr "estrada"
+msgstr "viário"
 
 msgid "scheme"
-msgstr "esquema"
+msgstr "esquemático"
 
 msgid "toposcope"
 msgstr "toposcope"
@@ -20560,7 +20850,7 @@ msgid "region"
 msgstr "região"
 
 msgid "Routes shown for:"
-msgstr "Rotas mostrados para:"
+msgstr "Mostra rotas para:"
 
 msgid "Hiking"
 msgstr "Caminhadas"
@@ -20587,7 +20877,7 @@ msgid "A board with information."
 msgstr "Uma placa com informações."
 
 msgid "Board Content"
-msgstr "Diretoria de conteúdo"
+msgstr "Conteúdo"
 
 msgid "notice"
 msgstr "comunicado"
@@ -20626,13 +20916,13 @@ msgid "Closer description"
 msgstr "Descrição mais próxima"
 
 msgid "Audio Guide"
-msgstr "Guia de áudio"
+msgstr "Guia Sonoro"
 
 msgid "Information using headphones or a mobile phone."
 msgstr "Informações usando fones de ouvido ou um telefone celular."
 
 msgid "Audioguide via mobile phone?"
-msgstr "Audioguide via celular?"
+msgstr "Guia sonoro via celular?"
 
 msgid "Phone number"
 msgstr "Número de telefone"
@@ -20668,7 +20958,7 @@ msgid "fence"
 msgstr "cerca"
 
 msgid "wall"
-msgstr "muralha"
+msgstr "muro"
 
 msgid "Amusement/Theme Park"
 msgstr "Parques de diversões/Parque Temático"
@@ -20676,6 +20966,12 @@ msgstr "Parques de diversões/Parque Temático"
 msgid "Water Park"
 msgstr "Parque Aquático"
 
+msgid "Swimming Pool"
+msgstr "Piscina"
+
+msgid "Used for the water area only."
+msgstr "Usado apenas para a área de água."
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20699,7 +20995,7 @@ msgstr "Churrasqueira pública"
 
 msgctxt "grill"
 msgid "Fuel"
-msgstr "Abastecer"
+msgstr "Combustível"
 
 msgid "charcoal"
 msgstr "carvão"
@@ -20710,9 +21006,6 @@ msgstr "Fogueira"
 msgid "Fishing"
 msgstr "Pescaria"
 
-msgid "Private Swimming Pool"
-msgstr "Piscina Particular"
-
 msgid "Night Club"
 msgstr "Casa noturna"
 
@@ -20755,12 +21048,18 @@ msgstr "estátua"
 msgid "Artist Name"
 msgstr "Nome do artista"
 
-msgid "Recording Studio"
-msgstr "Estúdio de Gravação"
+msgid "Studio"
+msgstr "Estúdio"
 
 msgid "audio"
 msgstr "áudio"
 
+msgid "radio"
+msgstr "radio"
+
+msgid "television"
+msgstr "televisão"
+
 msgid "video"
 msgstr "vídeo"
 
@@ -20790,7 +21089,7 @@ msgstr "templo"
 
 msgctxt "christian"
 msgid "anglican"
-msgstr "anglicano"
+msgstr "anglicana"
 
 msgctxt "christian"
 msgid "baptist"
@@ -20802,39 +21101,39 @@ msgstr "católica"
 
 msgctxt "christian"
 msgid "evangelical"
-msgstr "evangélico"
+msgstr "evangélica"
 
 msgctxt "christian"
 msgid "greek_catholic"
-msgstr "greek_catholic"
+msgstr "greco-católica"
 
 msgctxt "christian"
 msgid "greek_orthodox"
-msgstr "greek_orthodox"
+msgstr "greco-ortodoxa"
 
 msgctxt "christian"
 msgid "jehovahs_witness"
-msgstr "jehovahs_witness"
+msgstr "testemunha de jeová"
 
 msgctxt "christian"
 msgid "lutheran"
-msgstr "Luterano"
+msgstr "luterana"
 
 msgctxt "christian"
 msgid "methodist"
-msgstr "Metodista"
+msgstr "metodista"
 
 msgctxt "christian"
 msgid "mormon"
-msgstr "mormon"
+msgstr "mórmon"
 
 msgctxt "christian"
 msgid "new_apostolic"
-msgstr "new_apostolic"
+msgstr "nova apostólica"
 
 msgctxt "christian"
 msgid "orthodox"
-msgstr "ortodoxo"
+msgstr "ortodoxa"
 
 msgctxt "christian"
 msgid "pentecostal"
@@ -20842,7 +21141,7 @@ msgstr "pentecostal"
 
 msgctxt "christian"
 msgid "presbyterian"
-msgstr "presbiteriano"
+msgstr "presbiteriana"
 
 msgctxt "christian"
 msgid "protestant"
@@ -20854,15 +21153,19 @@ msgstr "quaker"
 
 msgctxt "christian"
 msgid "roman_catholic"
-msgstr "roman_catholic"
+msgstr "católica romana"
 
 msgctxt "christian"
 msgid "russian_orthodox"
-msgstr "russian_orthodox"
+msgstr "russo-ortodoxa"
 
 msgctxt "christian"
 msgid "seventh_day_adventist"
-msgstr "adventista_do_sétimo_dia"
+msgstr "adventista do sétimo dia"
+
+msgctxt "christian"
+msgid "spiritist"
+msgstr "espírita"
 
 msgid "Mosque"
 msgstr "Mesquita"
@@ -20881,11 +21184,11 @@ msgstr "Sinagoga"
 
 msgctxt "jewish"
 msgid "orthodox"
-msgstr "ortodoxo"
+msgstr "ortodoxa"
 
 msgctxt "jewish"
 msgid "conservative"
-msgstr "conservador"
+msgstr "conservadora"
 
 msgctxt "jewish"
 msgid "reform"
@@ -20919,7 +21222,7 @@ msgid "smartism"
 msgstr "smartism"
 
 msgid "Shinto Shrine"
-msgstr "Santuário xintoísta"
+msgstr "Santuário Xintoísta"
 
 msgid "Other Place of Worship"
 msgstr "Outor lugar de adoração"
@@ -20946,7 +21249,7 @@ msgid "Police"
 msgstr "Polícia"
 
 msgid "Ranger Station"
-msgstr ""
+msgstr "Posto Florestal"
 
 msgid "Fire Station"
 msgstr "Bombeiros"
@@ -21003,7 +21306,7 @@ msgid "Dispensing"
 msgstr "Farmacêutico (medicamentos controlados)"
 
 msgid "Baby Hatch/Safe Haven"
-msgstr "Baby Hatch/Refúgio"
+msgstr "Roda dos Expostos/Refúgio"
 
 msgid "Emergency Access Point"
 msgstr "Entrada de Emergência"
@@ -21023,30 +21326,149 @@ msgstr "(Use código internacional, como +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinária"
 
+msgid "Emergency"
+msgstr "Emergência"
+
+msgid "Ambulance Station"
+msgstr "Pronto-socorro"
+
+msgid "Automated Defibrillator"
+msgstr "Desfibrilador automático"
+
+msgid "Located inside a building?"
+msgstr "Localizado dentro de um prédio?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Última data de verificação (YYYY-MM-DD)"
+
+msgid "Last check note"
+msgstr "Último nó verificado"
+
+msgid "Fire Extinguisher"
+msgstr "Extintor de incêndio"
+
+msgid "Indoor"
+msgstr "Interno"
+
+msgid "Fire Hose"
+msgstr "Mangueira de incêndio"
+
+msgid "Fire Hydrant"
+msgstr "Hidrante"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "hidrante de recalque"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "hidrante de coluna"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "muro"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "hidrante seco"
+
+msgid "Diameter (in mm)"
+msgstr "Diâmetro (em mm)"
+
+msgid "Hydrant Position"
+msgstr "Posição do hidrante"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "beco"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "estacionamento"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "calçada"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "verde"
+
+msgid "Pressure (in bar)"
+msgstr "Pressão (em bar)"
+
+msgid "suction"
+msgstr "sucção"
+
+msgid "Count"
+msgstr "Quantidade"
+
+msgid "Water Tank"
+msgstr "Tanque de água"
+
+msgid "Volume (in liters)"
+msgstr "Volume (em litros)"
+
+msgid "Assembly Point"
+msgstr "Ponto de montagem"
+
+msgid "Emergency Phone"
+msgstr "Telefone de Emergência"
+
+msgid "Siren"
+msgstr "Sirene"
+
+msgid "pneumatic"
+msgstr "pneumático"
+
+msgid "electronic"
+msgstr "eletrônico"
+
+msgid "mechanical"
+msgstr "mecânico"
+
+msgid "Purpose"
+msgstr "Purpose"
+
+msgid "tornado"
+msgstr "tornado"
+
+msgid "fire"
+msgstr "fogo"
+
+msgid "air_raid"
+msgstr "air_raid"
+
+msgid "civil_defense"
+msgstr "defesa civil"
+
+msgid "Range (in meters)"
+msgstr "Distância (em metros)"
+
 msgid "Social Facility"
-msgstr ""
+msgstr "Serviço Social"
 
 msgid "Nursing Home"
 msgstr "Lar de idosos"
 
 msgid "Group Home"
-msgstr ""
+msgstr "Centro de Cuidados"
 
 msgid "For"
-msgstr ""
+msgstr "Para"
 
 msgid "Assisted Living"
-msgstr ""
+msgstr "Centro de Vida Assistida"
 
 msgid "Outreach"
-msgstr ""
+msgstr "Centro de Vivência"
 
 msgctxt "social_facility"
 msgid "Shelter"
-msgstr ""
+msgstr "Abrigo"
 
 msgid "Food Bank"
-msgstr ""
+msgstr "Banco de Alimentos"
 
 msgid "Toilets/Restrooms"
 msgstr "Banheiros"
@@ -21061,13 +21483,13 @@ msgstr "Masculino"
 
 msgctxt "restroom"
 msgid "Unisex"
-msgstr ""
+msgstr "Unissex"
 
 msgid "flush"
-msgstr "nivelada"
+msgstr "descarga"
 
 msgid "pitlatrine"
-msgstr "pitlatrine"
+msgstr "latrina"
 
 msgid "chemical"
 msgstr "químico"
@@ -21092,10 +21514,10 @@ msgstr "mictório"
 
 msgctxt "toilets"
 msgid "Diaper"
-msgstr ""
+msgstr "Fraldário"
 
 msgid "room"
-msgstr ""
+msgstr "room"
 
 msgid "Post Box"
 msgstr "Caixa de Correio"
@@ -21105,22 +21527,22 @@ msgstr "Tempos de coleta"
 
 msgctxt "post_box"
 msgid "pillar"
-msgstr ""
+msgstr "pillar"
 
 msgctxt "post_box"
 msgid "lamp"
-msgstr ""
+msgstr "lâmpada"
 
 msgctxt "post_box"
 msgid "wall"
-msgstr ""
+msgstr "wall"
 
 msgctxt "post_box"
 msgid "meter"
-msgstr ""
+msgstr "meter"
 
 msgid "Drive through"
-msgstr "Dirija através de"
+msgstr "Drive-thru"
 
 msgid "Telephone"
 msgstr "Telefone público"
@@ -21135,29 +21557,14 @@ msgstr "Notas"
 msgid "Telephone cards"
 msgstr "Cartão Telefônico"
 
-msgid "Emergency Phone"
-msgstr "Telefone de Emergência"
-
 msgid "Internet Access"
 msgstr "Acesso a internet"
 
-msgid "Automated Defibrillator"
-msgstr "Desfibrilador automático"
-
-msgid "Located inside a building?"
-msgstr "Localizado dentro de um prédio?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Última data de verificação (YYYY-MM-DD)"
-
-msgid "Last check note"
-msgstr "Último nó verificado"
-
 msgid "Clock"
 msgstr "Relógio"
 
 msgid "Display"
-msgstr "Mostrar"
+msgstr "Mostrador"
 
 msgid "analog"
 msgstr "analógico"
@@ -21169,7 +21576,7 @@ msgid "sundial"
 msgstr "relógio de sol"
 
 msgid "unorthodox"
-msgstr "heterodoxo"
+msgstr "incomum"
 
 msgid "Visibility/readability"
 msgstr "Visibilidade/legibilidade"
@@ -21187,13 +21594,13 @@ msgid "Shows current date"
 msgstr "Mostra a data atual"
 
 msgid "Shows temperature"
-msgstr "Mostrar temperatura"
+msgstr "Mostra a temperatura"
 
 msgid "Shows barometric pressure"
 msgstr "Mostra a pressão barométrica"
 
 msgid "Shows humidity"
-msgstr "Mostra umidade"
+msgstr "Mostra a umidade"
 
 msgid "Recycling Container"
 msgstr "Container para Reciclagem"
@@ -21247,19 +21654,19 @@ msgid "Recycling Centre"
 msgstr "Centro de Reciclagem"
 
 msgid "Waste Disposal/Dumpster"
-msgstr "Descarte de resíduos/Lixeira"
+msgstr "Contentor de Lixo"
 
 msgid "Sanitary Dump Station"
-msgstr ""
+msgstr "Coleta de Esgoto"
 
 msgid "Suction pumpout"
-msgstr ""
+msgstr "Mangueira de succão"
 
 msgid "Gravity drain for hose"
-msgstr ""
+msgstr "Queda por gravidade"
 
 msgid "Casette or Elsan Disposal"
-msgstr ""
+msgstr "Casette or Elsan Disposal"
 
 msgid "Operation times"
 msgstr "Horário de funcionamento"
@@ -21275,15 +21682,15 @@ msgstr "Tipo de abrigo"
 
 msgctxt "shelter"
 msgid "basic_hut"
-msgstr "basic_hut"
+msgstr "cabana de bivaque"
 
 msgctxt "shelter"
 msgid "lean_to"
-msgstr "lean_to"
+msgstr "alpendre"
 
 msgctxt "shelter"
 msgid "picnic_shelter"
-msgstr "picnic_shelter"
+msgstr "Quiosque"
 
 msgctxt "shelter"
 msgid "public_transport"
@@ -21291,14 +21698,14 @@ msgstr "transporte público"
 
 msgctxt "shelter"
 msgid "weather_shelter"
-msgstr "weather_shelter"
+msgstr "proteção para chuva"
 
 msgctxt "shelter"
 msgid "wildlife_hide"
-msgstr "wildlife_hide"
+msgstr "observatório de vida selvagem"
 
 msgid "Hunting Stand"
-msgstr "Estande de caça"
+msgstr "Etande de Caça/Jirau"
 
 msgid "Height"
 msgstr "Altura"
@@ -21313,84 +21720,35 @@ msgstr "meio"
 
 msgctxt "height"
 msgid "full"
-msgstr "completo"
+msgstr "alto"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Ocultar"
+msgstr ""
 
 msgid "Lock"
-msgstr "Bloquear"
-
-msgid "Indoor"
-msgstr "Interno"
-
-msgid "Fire Hydrant"
-msgstr "Hidrante"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "subterrâneo"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "pilar"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "muro"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "lagoa"
-
-msgid "Diameter (in mm)"
-msgstr "Diâmetro (em mm)"
-
-msgid "Hydrant Position"
-msgstr "Posição do hidrante"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "beco"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "estacionamento"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "calçada"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "verde"
-
-msgid "Pressure (in bar)"
-msgstr "Pressão (em bar)"
-
-msgid "suction"
-msgstr "sucção"
+msgstr "Fechado"
 
-msgid "Count"
-msgstr "Quantidade"
+msgid "Water Point"
+msgstr "Ponto de água"
 
 msgid "Compressed Air"
 msgstr "Ar comprimido"
 
 msgid "Valves"
-msgstr ""
+msgstr "Válvulas"
 
 msgid "Dunlop (Woods)"
-msgstr ""
+msgstr "Dunlop (Woods)"
 
 msgid "Schrader"
-msgstr ""
+msgstr "Schrader"
 
 msgid "Sclaverand (Presta)"
-msgstr ""
+msgstr "Sclaverand (Presta)"
 
 msgid "Regina"
-msgstr ""
+msgstr "Regina"
 
 msgid "Advertising Column"
 msgstr "Coluna de publicidade"
@@ -21414,20 +21772,73 @@ msgid "Pitch"
 msgstr "Campo"
 
 msgid "artificial_turf"
-msgstr ""
+msgstr "grama sintética"
 
 msgid "decoturf"
-msgstr ""
+msgstr "decoturf"
 
 msgid "tartan"
-msgstr ""
+msgstr "tartan"
 
 msgid "Racetrack"
 msgstr "Pista de Corrida"
 
+msgid "Golf"
+msgstr "Golfe"
+
 msgid "Golf Course"
 msgstr "Campo de Golfe"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr "Tee"
+
+msgctxt "golf"
+msgid "Hole"
+msgstr "Buraco"
+
+msgid "Par"
+msgstr "Par"
+
+msgid "Handicap rating"
+msgstr "Handicap rating"
+
+msgctxt "golf"
+msgid "Pin"
+msgstr "Pin"
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr "Bunker"
+
+msgctxt "golf"
+msgid "Natural"
+msgstr "Natural"
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr "Frontal Water hazard"
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr "Lateral water hazard"
+
+msgctxt "golf"
+msgid "Green"
+msgstr "Green"
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr "Canal navegável"
+
+msgctxt "golf"
+msgid "Rough"
+msgstr "Rough"
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr "Área de treinamento"
+
 msgid "Miniature Golf"
 msgstr "Mini-Golfe"
 
@@ -21533,10 +21944,10 @@ msgid "skitour"
 msgstr "skitour"
 
 msgid "sled"
-msgstr ""
+msgstr "sled"
 
 msgid "sleigh"
-msgstr ""
+msgstr "sleigh"
 
 msgid "snow_park"
 msgstr "snow_park"
@@ -21652,9 +22063,6 @@ msgstr "Vôlei de praia"
 msgid "Billiards"
 msgstr "Bilhar"
 
-msgid "Golf"
-msgstr "Golfe"
-
 msgid "golf_course"
 msgstr "campo de golfe"
 
@@ -21740,31 +22148,31 @@ msgstr "escola"
 
 msgctxt "building"
 msgid "commercial"
-msgstr "Comercial"
+msgstr "comercial"
 
 msgctxt "building"
 msgid "service"
-msgstr ""
+msgstr "casa de máquinas"
 
 msgctxt "building"
 msgid "train_station"
-msgstr ""
+msgstr "estação ferroviária"
 
 msgctxt "building"
 msgid "barn"
-msgstr ""
+msgstr "celeiro"
 
 msgctxt "building"
 msgid "stable"
-msgstr ""
+msgstr "estábulo"
 
 msgctxt "building"
 msgid "cabin"
-msgstr ""
+msgstr "cabana de troncos"
 
 msgctxt "building"
 msgid "farm_auxiliary"
-msgstr ""
+msgstr "auxiliar fazenda"
 
 msgctxt "building"
 msgid "transportation"
@@ -21788,11 +22196,11 @@ msgstr "hospital"
 
 msgctxt "building"
 msgid "kindergarten"
-msgstr ""
+msgstr "creche"
 
 msgctxt "building"
 msgid "manufacture"
-msgstr ""
+msgstr "manufatura"
 
 msgctxt "building"
 msgid "warehouse"
@@ -21808,7 +22216,7 @@ msgstr "cabana"
 
 msgctxt "building"
 msgid "storage_tank"
-msgstr ""
+msgstr "tanque de armazenagem"
 
 msgctxt "building"
 msgid "supermarket"
@@ -21819,14 +22227,50 @@ msgid "gasometer"
 msgstr "gasômetro"
 
 msgctxt "building"
+msgid "silo"
+msgstr "silo"
+
+msgctxt "building"
 msgid "cowshed"
-msgstr "estábulo"
+msgstr "estábulo de gado"
 
 msgctxt "building"
 msgid "construction"
 msgstr "construção"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "basílica"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "catedral"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "capela"
+
+msgctxt "building"
+msgid "church"
+msgstr "iIgreja"
+
+msgctxt "building"
+msgid "temple"
+msgstr "temple"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "mosque"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "sinagoga"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr "transformer_tower"
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Andares"
 
@@ -21847,7 +22291,7 @@ msgstr "casa"
 
 msgctxt "building"
 msgid "hotel"
-msgstr ""
+msgstr "hotel"
 
 msgctxt "building"
 msgid "hut"
@@ -21874,10 +22318,10 @@ msgstr "Parte de edifício"
 
 msgctxt "building"
 msgid "Skipped Levels"
-msgstr ""
+msgstr "Andares no vão"
 
 msgid "Skipped height (meters)"
-msgstr ""
+msgstr "Altura do vão (metros)"
 
 msgid "Entrance"
 msgstr "Entrada"
@@ -21888,7 +22332,7 @@ msgstr "sim"
 
 msgctxt "entrance"
 msgid "main"
-msgstr "main"
+msgstr "principal"
 
 msgctxt "entrance"
 msgid "service"
@@ -21896,7 +22340,7 @@ msgstr "serviço"
 
 msgctxt "entrance"
 msgid "exit"
-msgstr "sair"
+msgstr "saída"
 
 msgctxt "entrance"
 msgid "emergency"
@@ -21904,13 +22348,13 @@ msgstr "emergência"
 
 msgctxt "entrance"
 msgid "staircase"
-msgstr ""
+msgstr "escada"
 
 msgid "Entrance number"
-msgstr "número de entrada"
+msgstr "Número da entrada"
 
 msgid "Flat numbers"
-msgstr "Números planos"
+msgstr "Número do apartamento"
 
 msgid "Tower"
 msgstr "Torre"
@@ -21939,6 +22383,9 @@ msgstr "Moinho de Vento"
 msgid "Gasometer"
 msgstr "Gasômetro"
 
+msgid "Silo"
+msgstr "Silo"
+
 msgid "Storage Tank"
 msgstr "Tanque de Armazenagem"
 
@@ -21975,7 +22422,7 @@ msgid "wine"
 msgstr "vinho"
 
 msgid "Bunker Silo"
-msgstr "Bunker Silo"
+msgstr "Silo de Trincheira"
 
 msgid "Crane"
 msgstr "Guindaste"
@@ -21987,19 +22434,19 @@ msgid "Function"
 msgstr "Função"
 
 msgid "winding"
-msgstr "enrolamento"
+msgstr "transporte"
 
 msgid "air"
-msgstr "ar"
+msgstr "ventilação"
 
 msgid "Depth in meters"
 msgstr "Profundidade em metros"
 
 msgid "Resource"
-msgstr "Recurso"
+msgstr "Extração"
 
 msgid "aggregate"
-msgstr "agregado"
+msgstr "agregados"
 
 msgid "bauxite"
 msgstr "bauxita"
@@ -22011,16 +22458,16 @@ msgid "copper"
 msgstr "cobre"
 
 msgid "dimension_stone"
-msgstr "dimension_stone"
+msgstr "rochas ornamentais"
 
 msgid "gold"
 msgstr "ouro"
 
 msgid "ilmenite"
-msgstr "ilmenite"
+msgstr "ilmenita"
 
 msgid "iron_ore"
-msgstr "iron_ore"
+msgstr "minério de ferro"
 
 msgid "lead"
 msgstr "chumbo"
@@ -22032,10 +22479,10 @@ msgid "nickel"
 msgstr "níquel"
 
 msgid "rutile"
-msgstr "rutile"
+msgstr "rutilo"
 
 msgid "salt"
-msgstr "Sal"
+msgstr "sal"
 
 msgid "silver"
 msgstr "prata"
@@ -22050,7 +22497,7 @@ msgid "zircon"
 msgstr "zircônio"
 
 msgid "Visible Headframe"
-msgstr "Visible Headframe"
+msgstr "Headframe visível"
 
 msgid "Disused"
 msgstr "Desuso"
@@ -22073,19 +22520,19 @@ msgid "overground"
 msgstr "sobre o solo"
 
 msgid "Pipeline Marker"
-msgstr ""
+msgstr "Marco de Sinalização do Duto"
 
 msgid "Pipeline Valve"
-msgstr ""
+msgstr "Válvula de Bloqueio do Duto"
 
 msgid "Water Tower"
 msgstr "Torre de Água"
 
 msgid "Water Works"
-msgstr "Estação de tratamento de água"
+msgstr "Estação de Tratamento de Água"
 
 msgid "Wastewater Treatment Plant"
-msgstr "Planta de tratamento de efluentes"
+msgstr "Estação de Tratamento de Esgoto"
 
 msgid "Watermill"
 msgstr "Moinho"
@@ -22112,7 +22559,7 @@ msgid "Water level"
 msgstr "Nível de água"
 
 msgid "Tide Level"
-msgstr "Nível da maré"
+msgstr "Nível do mar"
 
 msgid "Groundwater"
 msgstr "Águas subterrâneas"
@@ -22124,16 +22571,16 @@ msgid "Air Quality"
 msgstr "Qualidade do ar"
 
 msgid "Noise"
-msgstr "Barulho"
+msgstr "Ruído"
 
 msgid "GPS Signals"
 msgstr "Sinais de GPS"
 
 msgid "GLONASS Signals"
-msgstr "GLONASS Signals"
+msgstr "Sinais GLONASS"
 
 msgid "Galileo Signals"
-msgstr "Galileo Signals"
+msgstr "Sinais Galileo"
 
 msgid "Weather"
 msgstr "Tempo"
@@ -22148,16 +22595,16 @@ msgid "Recording:"
 msgstr "Gravação:"
 
 msgid "Automated"
-msgstr "automatizado"
+msgstr "Automatizada"
 
 msgid "Manually"
-msgstr "Manualmente"
+msgstr "Manual"
 
 msgid "Remote"
-msgstr "Remoto"
+msgstr "Remota"
 
 msgid "Display:"
-msgstr "Mostrar:"
+msgstr "Mostrador"
 
 msgid "Analog"
 msgstr "Analógico"
@@ -22169,7 +22616,7 @@ msgid "Survey Point"
 msgstr "Vértice Geodésico"
 
 msgid "Surveillance Camera"
-msgstr "Câmera de monitoramento"
+msgstr "Câmera de Videomonitoramento"
 
 msgid "indoor"
 msgstr "interno"
@@ -22190,7 +22637,7 @@ msgid "shop"
 msgstr "loja"
 
 msgid "bank"
-msgstr "Banco"
+msgstr "banco"
 
 msgid "Camera"
 msgstr "Câmera"
@@ -22212,15 +22659,15 @@ msgstr "Montado sobre"
 
 msgctxt "camera:mount"
 msgid "wall"
-msgstr "wall"
+msgstr "parede"
 
 msgctxt "camera:mount"
 msgid "pole"
-msgstr "pólo"
+msgstr "poste"
 
 msgctxt "camera:mount"
 msgid "ceiling"
-msgstr "ceiling"
+msgstr "teto"
 
 msgid "Direction in degrees"
 msgstr "Direção em graus"
@@ -22235,16 +22682,16 @@ msgid "aqueduct"
 msgstr "aqueduto"
 
 msgid "boardwalk"
-msgstr "calçadão"
+msgstr "passarela"
 
 msgid "cantilever"
 msgstr "cantilever"
 
 msgid "covered"
-msgstr "coberto"
+msgstr "coberta"
 
 msgid "low_water_crossing"
-msgstr "low_water_crossing"
+msgstr "inundável"
 
 msgid "trestle"
 msgstr "cavalete"
@@ -22259,7 +22706,7 @@ msgid "arch"
 msgstr "arco"
 
 msgid "beam"
-msgstr "beam"
+msgstr "vigas"
 
 msgid "truss"
 msgstr "treliça"
@@ -22271,19 +22718,19 @@ msgid "suspension"
 msgstr "suspensão"
 
 msgid "cable-stayed"
-msgstr "suspensa por cabos"
+msgstr "estaiada"
 
 msgid "simple-suspension"
-msgstr "simples suspensão"
+msgstr "suspensão simples"
 
 msgid "humpback"
-msgstr "humpback"
+msgstr "arqueada"
 
 msgid "Movable Bridge"
-msgstr "Ponte móvel"
+msgstr "Ponte Móvel"
 
 msgid "bascule"
-msgstr "báscula"
+msgstr "basculante"
 
 msgid "drawbridge"
 msgstr "ponte elevadiça"
@@ -22295,13 +22742,13 @@ msgid "submersible"
 msgstr "submersível"
 
 msgid "swing"
-msgstr "balanço"
+msgstr "giratória"
 
 msgid "transporter"
-msgstr "transporte"
+msgstr "transportadora"
 
 msgid "Bridge Support"
-msgstr "Suporte da ponte"
+msgstr "Suporte da Ponte"
 
 msgid "pier"
 msgstr "pier"
@@ -22313,41 +22760,52 @@ msgid "lift_pier"
 msgstr "lift_pier"
 
 msgid "pivot_pier"
-msgstr "pivot_pier"
+msgstr "pivô"
 
 msgid "Bridge outline"
-msgstr "Bridge outline"
+msgstr "Limite da Ponte"
 
 msgctxt "preset group"
 msgid "Military"
 msgstr "Militar"
 
 msgid "Airfield"
-msgstr ""
+msgstr "Pista de Pouso"
 
 msgid "Barracks"
-msgstr ""
+msgstr "Alojamentos"
 
 msgid "Bunker"
-msgstr ""
+msgstr "Bunker"
 
 msgid "pillbox"
-msgstr ""
+msgstr "pillbox"
 
 msgid "munitions"
-msgstr ""
+msgstr "armazém de munições"
 
 msgid "hardened_aircraft_shelter"
-msgstr ""
+msgstr "abrigo antiaéreo"
+
+msgctxt "bunker"
+msgid "underground"
+msgstr "subterrâneo"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "sobre o solo"
 
 msgid "Historic"
-msgstr ""
+msgstr "Histórico"
 
 msgid "Ruins"
 msgstr "Ruínas"
 
 msgid "Range"
-msgstr ""
+msgstr "Campo de Teste"
+
+msgid "Power"
+msgstr "Energia"
 
 msgid "Power Plant"
 msgstr "Usina"
@@ -22365,13 +22823,13 @@ msgid "Generator Type"
 msgstr "Tipo de gerador"
 
 msgid "gas_turbine"
-msgstr "gas_turbine"
+msgstr "turbina de gás"
 
 msgid "reciprocating_engine"
-msgstr "reciprocating_engine"
+msgstr "motor alternativo"
 
 msgid "steam_generator"
-msgstr "steam_generator"
+msgstr "caldeira"
 
 msgid "Biogas Power Generator"
 msgstr "Gerador de energia (biogás)"
@@ -22380,11 +22838,11 @@ msgid "Biomass Power Generator"
 msgstr "Gerador de Energia (biomassa)"
 
 msgid "Method"
-msgstr "Metodo"
+msgstr "Método"
 
 msgctxt "generator method"
 msgid "anaerobic_digestion"
-msgstr "digestão_anaeróbia"
+msgstr "digestão anaeróbia"
 
 msgctxt "generator method"
 msgid "combustion"
@@ -22398,7 +22856,7 @@ msgid "bioreactor"
 msgstr "biorreator"
 
 msgid "anaerobic_digestion / combustion"
-msgstr "digestão_anaeróbia / combustão"
+msgstr "digestão anaeróbia / combustão"
 
 msgid "pyrolysis"
 msgstr "pirólise"
@@ -22407,7 +22865,7 @@ msgid "combustion"
 msgstr "combustão"
 
 msgid "steam_turbine"
-msgstr "steam_turbine"
+msgstr "turbina a vapor"
 
 msgid "Coal Power Generator"
 msgstr "Gerador elétrico a carvão"
@@ -22416,7 +22874,7 @@ msgid "Gas Power Generator"
 msgstr "Gerador elétrico a gás"
 
 msgid "combined_cycle"
-msgstr "combined_cycle"
+msgstr "ciclo combinado"
 
 msgid "Oil Power Generator"
 msgstr "Gerador elétrico a óleo"
@@ -22439,25 +22897,25 @@ msgid "fusion"
 msgstr "fusão"
 
 msgid "Boiling Water Reactor 1 (BWR-1)"
-msgstr "Reator de água fervente 1(BWR-1)"
+msgstr "Reator de Água Fervente 1 (BWR-1)"
 
 msgid "fission"
 msgstr "fissão"
 
 msgid "Boiling Water Reactor 2 (BWR-2)"
-msgstr "Reator de água fervente 2(BWR-2)"
+msgstr "Reator de Água Fervente 2 (BWR-2)"
 
 msgid "Boiling Water Reactor 3 (BWR-3)"
-msgstr "Reator de água fervente 3(BWR-3)"
+msgstr "Reator de Água Fervente 3 (BWR-3)"
 
 msgid "Boiling Water Reactor 4 (BWR-4)"
-msgstr "Reator de água fervente 4(BWR-4)"
+msgstr "Reator de Água Fervente 4 (BWR-4)"
 
 msgid "Boiling Water Reactor 5 (BWR-5)"
-msgstr "Reator de água fervente 5(BWR-5)"
+msgstr "Reator de Água Fervente 5 (BWR-5)"
 
 msgid "Boiling Water Reactor 6 (BWR-6)"
-msgstr "Reator de água fervente 6(BWR-6)"
+msgstr "Reator de Água Fervente 6 (BWR-6)"
 
 msgid "CANada Deuterium Uranium reactor (CANDU)"
 msgstr "CANada Deuterium Uranium reactor (CANDU)"
@@ -22507,13 +22965,13 @@ msgid "thermal"
 msgstr "termal"
 
 msgid "solar_photovoltaic_panel"
-msgstr "solar_photovoltaic_panel"
+msgstr "painel solar fotovoltaico"
 
 msgid "photovoltaic"
 msgstr "fotovoltaica"
 
 msgid "solar_thermal_collector"
-msgstr "solar_thermal_collector"
+msgstr "coletor solar térmico"
 
 msgid "thermal"
 msgstr "térmico"
@@ -22533,39 +22991,39 @@ msgstr "Turbina de água"
 
 msgctxt "generator method"
 msgid "run-of-the-river"
-msgstr "run-of-the-river"
+msgstr "a fio d''água"
 
 msgctxt "generator method"
 msgid "water-pumped-storage"
-msgstr "water-pumped-storage"
+msgstr "reversível"
 
 msgctxt "generator method"
 msgid "water-storage"
-msgstr "armazenamento de água"
+msgstr "com reservatório"
 
 msgid "francis_turbine"
-msgstr "francis_turbine"
+msgstr "turbina francis"
 
 msgid "all methods"
-msgstr "Todos os metodos"
+msgstr "todos os métodos"
 
 msgid "hydrodynamic_screw"
-msgstr "hydrodynamic_screw"
+msgstr "parafuso de arquimedes"
 
 msgid "run-of-the-river"
-msgstr "run-of-the-river"
+msgstr "a fio d''água"
 
 msgid "kaplan_turbine"
-msgstr "kaplan_turbine"
+msgstr "turbina kaplan"
 
 msgid "run-of-the-river / water-storage"
-msgstr "run-of-the-river / water-storage"
+msgstr "a fio d''água / com reservatório"
 
 msgid "pelton_turbine"
-msgstr "pelton_turbine"
+msgstr "turbina pelton"
 
 msgid "Tidal Water Turbine"
-msgstr "Turbina das marés"
+msgstr "Turbina de Marés"
 
 msgctxt "generator method"
 msgid "barrage"
@@ -22576,16 +23034,16 @@ msgid "stream"
 msgstr "corrente"
 
 msgid "horizontal_axis"
-msgstr "horizontal_axis"
+msgstr "eixo horizontal"
 
 msgid "barrage"
 msgstr "barragem"
 
 msgid "vertical_axis"
-msgstr "vertical_axis"
+msgstr "eixo vertical"
 
 msgid "Wave Energy Converter"
-msgstr "Wave Energy Converter"
+msgstr "Conversão de Energia das Ondas"
 
 msgid "Osmotic Power Generator"
 msgstr "Gerador de energia osmótica"
@@ -22594,7 +23052,7 @@ msgid "Geothermal Power Generator"
 msgstr "Gerador de Energia Geotérmica"
 
 msgid "heat_pump"
-msgstr "heat_pump"
+msgstr "bomba de calor"
 
 msgid "Wind Turbine"
 msgstr "Turbina Eólica"
@@ -22615,7 +23073,7 @@ msgstr "distribuição"
 
 msgctxt "power"
 msgid "minor_distribution"
-msgstr "minor_distribution"
+msgstr "pequena distribuição"
 
 msgctxt "power"
 msgid "converter"
@@ -22670,11 +23128,11 @@ msgstr "gerador"
 
 msgctxt "power"
 msgid "auto"
-msgstr "audio"
+msgstr "auto"
 
 msgctxt "power"
 msgid "phase_angle_regulator"
-msgstr "phase_angle_regulator"
+msgstr "defasador"
 
 msgctxt "power"
 msgid "yes"
@@ -22782,11 +23240,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Gabinete de distribuição de cabos"
+msgid "Power Street Cabinet"
+msgstr "Power Street Cabinet"
 
-msgid "Power Tower"
-msgstr "Torre de Energia"
+msgid "Transformer Tower"
+msgstr "Torre de transformador"
+
+msgid "Power Portal"
+msgstr "Power Portal"
 
 msgid "Type of construction"
 msgstr "Tipo de construção"
@@ -22807,6 +23268,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "Vermelho/branco"
 
+msgid "Portal design"
+msgstr "Portal design"
+
+msgctxt "power"
+msgid "portal"
+msgstr "portal"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portal_two-level"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portal_three-level"
+
+msgid "Power Tower"
+msgstr "Torre de Energia"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Tipo da torre"
@@ -22817,7 +23296,7 @@ msgstr "suspensão"
 
 msgctxt "power"
 msgid "anchor"
-msgstr "âncora"
+msgstr "ancoragem"
 
 msgctxt "power"
 msgid "termination"
@@ -22829,7 +23308,7 @@ msgstr "ramo"
 
 msgctxt "power"
 msgid "transposing"
-msgstr "transpor"
+msgstr "transposição"
 
 msgctxt "power"
 msgid "crossing"
@@ -22930,18 +23409,6 @@ msgid "guyed_h-frame"
 msgstr "guyed_h-frame"
 
 msgctxt "power"
-msgid "portal"
-msgstr "portal"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "portal_two-level"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "portal_three-level"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "guyed_v-frame"
 
@@ -22960,10 +23427,10 @@ msgid "Incomplete tower"
 msgstr "torre incompleta"
 
 msgid "Location transition"
-msgstr ""
+msgstr "Localização transitória"
 
 msgid "Pole"
-msgstr "Pólo"
+msgstr "Poste"
 
 msgid "Pole with Transformer"
 msgstr "Poste com transformador"
@@ -22974,6 +23441,9 @@ msgstr "Atributos do poste:"
 msgid "Transformer Attributes:"
 msgstr "Atributos do transformador:"
 
+msgid "Insulator"
+msgstr "Isolado"
+
 msgid "Power Line"
 msgstr "Linha de transmissão"
 
@@ -22984,7 +23454,7 @@ msgid "line"
 msgstr "linha"
 
 msgid "minor_line"
-msgstr "minor_line"
+msgstr "linha menor"
 
 msgid "Number of conductors/wires per cable"
 msgstr "Número de condutores/fios por cabo"
@@ -23070,7 +23540,7 @@ msgstr "placa"
 
 msgctxt "memorial"
 msgid "stele"
-msgstr "estrela"
+msgstr "estela"
 
 msgctxt "memorial"
 msgid "stone"
@@ -23078,7 +23548,7 @@ msgstr "pedra"
 
 msgctxt "memorial"
 msgid "war_memorial"
-msgstr "war_memorial"
+msgstr "memorial de guerra"
 
 msgid "Inscription"
 msgstr "Inscrição"
@@ -23087,7 +23557,7 @@ msgid "Wayside Cross"
 msgstr "Cruz de beira de estrada"
 
 msgid "Wayside Shrine"
-msgstr "Wayside Shrine"
+msgstr "Santuário de beira de estrada"
 
 msgid "Place of worship"
 msgstr "Lugar de prática religiosa"
@@ -23229,7 +23699,10 @@ msgid "Furniture"
 msgstr "Móveis"
 
 msgid "Kitchen"
-msgstr "Kitchen"
+msgstr "Móveis de cozinha"
+
+msgid "Houseware"
+msgstr "Utilidades domésticas"
 
 msgid "Curtain"
 msgstr "Cortina"
@@ -23238,7 +23711,7 @@ msgid "Art"
 msgstr "Arte"
 
 msgid "Frame"
-msgstr "Frame"
+msgstr "Molduras"
 
 msgid "Bed"
 msgstr "Cama"
@@ -23247,7 +23720,7 @@ msgid "Interior Decoration"
 msgstr "Decoração de interiores"
 
 msgid "Antiques"
-msgstr "Atiguidades"
+msgstr "Antiguidades"
 
 msgid "Printed Material"
 msgstr "Material impresso"
@@ -23256,7 +23729,7 @@ msgid "Stationery"
 msgstr "Papelaria"
 
 msgid "Copy Shop"
-msgstr "Loja de cópias"
+msgstr "Copiadora"
 
 msgid "Book Store"
 msgstr "Livraria"
@@ -23268,17 +23741,26 @@ msgid "Ticket"
 msgstr "Ingresso"
 
 msgid "For the body"
-msgstr ""
+msgstr "Para o corpo"
 
 msgid "Chemist"
 msgstr "Químico"
 
-msgid "Hairdresser/Barber"
-msgstr "Cabeleireiro/Barbeiro"
+msgid "Cosmetics"
+msgstr "Cosméticos"
+
+msgid "Perfumery"
+msgstr "Perfumaria"
 
 msgid "Beauty"
 msgstr "Beleza"
 
+msgid "Tobacco"
+msgstr "Tabacaria"
+
+msgid "Hairdresser/Barber"
+msgstr "Cabeleireiro/Barbeiro"
+
 msgid "Tattoo"
 msgstr "Tatuagem"
 
@@ -23322,7 +23804,7 @@ msgid "Travel Agency"
 msgstr "Agência de Viagem"
 
 msgid "Musical Instrument"
-msgstr "Instrumento musical"
+msgstr "Instrumentos Musicais"
 
 msgid "Toys"
 msgstr "Brinquedos"
@@ -23346,10 +23828,10 @@ msgid "Pet"
 msgstr "Animal de estimação"
 
 msgid "Photo"
-msgstr ""
+msgstr "Fotografia"
 
 msgid "Funeral Directors"
-msgstr "Diretores Funerários"
+msgstr "Funerária"
 
 msgid "Vending Machine"
 msgstr "Máquina de vendas"
@@ -23358,10 +23840,10 @@ msgid "Vending products"
 msgstr "Produtos à venda"
 
 msgid "animal_food"
-msgstr "ração_animal"
+msgstr "ração animal"
 
 msgid "bicycle_tube"
-msgstr "bicycle_tube"
+msgstr "câmaras de ar (bicicletas)"
 
 msgid "cigarettes"
 msgstr "cigarros"
@@ -23406,7 +23888,7 @@ msgid "tampons"
 msgstr "absorventes"
 
 msgid "telephone_vouchers"
-msgstr "telephone_vouchers"
+msgstr "cartões telefônicos"
 
 msgid "toys"
 msgstr "brinquedos"
@@ -23421,22 +23903,22 @@ msgid "Debit cards"
 msgstr "Cartões de Débito"
 
 msgid "BankAxess"
-msgstr ""
+msgstr "BankAxess"
 
 msgid "Bancomat"
-msgstr ""
+msgstr "Bancomat"
 
 msgid "Girocard"
-msgstr ""
+msgstr "Girocard"
 
 msgid "Laser"
-msgstr ""
+msgstr "Laser"
 
 msgid "Maestro"
 msgstr "Maestro"
 
 msgid "Visa Debit"
-msgstr ""
+msgstr "Visa Debit"
 
 msgid "Visa Electron"
 msgstr "Visa Electron"
@@ -23451,10 +23933,10 @@ msgid "Diners Club"
 msgstr "Diners Club"
 
 msgid "Discover Card"
-msgstr ""
+msgstr "Discover Card"
 
 msgid "JCB"
-msgstr ""
+msgstr "JCB"
 
 msgid "Mastercard"
 msgstr "Mastercard"
@@ -23466,43 +23948,43 @@ msgid "Electronic purses and Charge cards"
 msgstr "Carteiras Eletrônicas e Cartões pré-pagos"
 
 msgid "Avant (fi)"
-msgstr ""
+msgstr "Avant (fi)"
 
 msgid "Cash (ch)"
-msgstr ""
+msgstr "Cash (ch)"
 
 msgid "Chipknip (nl)"
-msgstr ""
+msgstr "Chipknip (nl)"
 
 msgid "Geldkarte (de)"
-msgstr ""
+msgstr "Geldkarte (de)"
 
 msgid "Mep (pt)"
-msgstr ""
+msgstr "Mep (pt)"
 
 msgid "Minicash (lu)"
-msgstr ""
+msgstr "Minicash (lu)"
 
 msgid "Minipay (it)"
-msgstr ""
+msgstr "Minipay (it)"
 
 msgid "Mondero (ar)"
-msgstr ""
+msgstr "Mondero (ar)"
 
 msgid "Mondero 4b (es)"
-msgstr ""
+msgstr "Mondero 4b (es)"
 
 msgid "Moneo (fr)"
-msgstr ""
+msgstr "Moneo (fr)"
 
 msgid "Proton (be)"
-msgstr ""
+msgstr "Proton (be)"
 
 msgid "Quick (au)"
-msgstr ""
+msgstr "Quick (au)"
 
 msgid "Cryptocurrencies"
-msgstr ""
+msgstr "Criptomoeda"
 
 msgid "Bitcoin"
 msgstr "Bitcoin"
@@ -23522,7 +24004,7 @@ msgstr "Contabilidade"
 
 msgctxt "office"
 msgid "Administrative"
-msgstr ""
+msgstr "Autoridades Regionais"
 
 msgctxt "office"
 msgid "Advertising agency"
@@ -23534,7 +24016,7 @@ msgstr "Arquitetura"
 
 msgctxt "office"
 msgid "Association"
-msgstr ""
+msgstr "Associação sem fins lucrativos"
 
 msgctxt "office"
 msgid "Private company"
@@ -23550,7 +24032,7 @@ msgstr "Agência de emprego"
 
 msgctxt "office"
 msgid "Estate agent"
-msgstr ""
+msgstr "Imobiliária"
 
 msgctxt "office"
 msgid "Foundation"
@@ -23566,7 +24048,7 @@ msgstr "Seguradora"
 
 msgctxt "office"
 msgid "It specialist"
-msgstr ""
+msgstr "Tecnologia da Informação (TI)"
 
 msgctxt "office"
 msgid "Lawyer"
@@ -23582,7 +24064,7 @@ msgstr "Organização Não Governamental (ONG)"
 
 msgctxt "office"
 msgid "Notary"
-msgstr ""
+msgstr "Tabelionato"
 
 msgctxt "office"
 msgid "Political party"
@@ -23604,6 +24086,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Telecomunicação"
 
+msgid "Craft"
+msgstr "Artesanato"
+
+msgid "Carpenter"
+msgstr "Carpinteiro"
+
+msgid "Shoemaker"
+msgstr "Sapateiro"
+
+msgid "Photographer"
+msgstr "Fotografo"
+
+msgid "Metal construction"
+msgstr "Construção metálica"
+
+msgid "Electrician"
+msgstr "Eletricista"
+
+msgid "Brewery"
+msgstr "Cervejaria"
+
+msgid "Plumber"
+msgstr "Encanador"
+
+msgid "Sawmill"
+msgstr "Serraria"
+
+msgid "Gardener"
+msgstr "Jardineiro"
+
+msgid "Winery"
+msgstr "Vinícola"
+
+msgid "Hvac"
+msgstr "Hvac"
+
+msgid "Painter"
+msgstr "Pintor"
+
+msgid "Stonemason"
+msgstr "Stonemason"
+
+msgid "Handicraft"
+msgstr "Trabalho manual"
+
+msgid "Pottery"
+msgstr "Cerâmica"
+
+msgid "Key cutter"
+msgstr "Key cutter"
+
+msgid "Caterer"
+msgstr "Fornecedor"
+
+msgid "Roofer"
+msgstr "Roofer"
+
+msgid "Beekeeper"
+msgstr "Apicultor"
+
+msgid "Blacksmith"
+msgstr "Ferreiro"
+
+msgid "Locksmith"
+msgstr "Chaveiro"
+
+msgid "Window construction"
+msgstr "Construção de janela"
+
+msgid "Upholsterer"
+msgstr "Estofador"
+
+msgid "Tiler"
+msgstr "Colocador de azulejos"
+
 msgid "Geography"
 msgstr "Geografia"
 
@@ -23617,7 +24174,7 @@ msgid "Administrative level"
 msgstr "Nível administrativo"
 
 msgid "Maritime"
-msgstr ""
+msgstr "Marítima"
 
 msgid "Political"
 msgstr "Político"
@@ -23629,7 +24186,7 @@ msgid "canton"
 msgstr "canton"
 
 msgid "linguistic_community"
-msgstr "linguistic_community"
+msgstr "comunidade linguística"
 
 msgid "ward"
 msgstr "ward"
@@ -23644,25 +24201,25 @@ msgid "Protected Area"
 msgstr "Área protegida"
 
 msgid "Protect Class"
-msgstr ""
+msgstr "Tipo da Unidade de Conservação"
 
 msgid "Title or type of protection"
 msgstr "Título ou tipo de proteção"
 
 msgid "Border type"
-msgstr ""
+msgstr "Tipo de borda"
 
 msgid "baseline"
-msgstr ""
+msgstr "linha de base"
 
 msgid "territorial"
-msgstr ""
+msgstr "territorial"
 
 msgid "contiguous"
-msgstr ""
+msgstr "contígua"
 
 msgid "eez"
-msgstr ""
+msgstr "zee (zona econômica exclusiva)"
 
 msgid "Places"
 msgstr "Lugares"
@@ -23687,7 +24244,7 @@ msgid "City"
 msgstr "Cidade"
 
 msgid "Town"
-msgstr "Cidade"
+msgstr "Cidade Menor"
 
 msgid "Village"
 msgstr "Vilarejo"
@@ -23726,7 +24283,7 @@ msgid "Saddle"
 msgstr "Passo de montanha"
 
 msgid "A saddle point between mountains or hills."
-msgstr "Um ponto entre montanhas ou colinas."
+msgstr "O ponto mais baixo entre duas montanhas ou colinas."
 
 msgid "Glacier"
 msgstr "Geleira"
@@ -23742,7 +24299,7 @@ msgid "Volcano"
 msgstr "Vulcão"
 
 msgid "A volcano, either dormant, extinct or active."
-msgstr "Um vulcão, tanto dormente, extinto ou ativo."
+msgstr "Um vulcão, esteja ele dormente, extinto ou ativo."
 
 msgid "Current Status"
 msgstr "Status atual"
@@ -23754,19 +24311,19 @@ msgid "extinct"
 msgstr "extinto"
 
 msgid "stratovolcano"
-msgstr "stratovolcano"
+msgstr "estratovulcão"
 
 msgid "shield"
-msgstr "blindagem"
+msgstr "vulcão-escudo"
 
 msgid "scoria"
-msgstr "escória"
+msgstr "cone de escórias"
 
 msgid "Ridge"
 msgstr "Cume"
 
 msgid "A mountain or hill ridge."
-msgstr "Uma montanha ou o cume do monte."
+msgstr "Uma montanha ou o cume de um monte."
 
 msgid "Valley"
 msgstr "Vale"
@@ -23774,6 +24331,16 @@ msgstr "Vale"
 msgid "A low area between hills."
 msgstr "Uma área baixa entre colinas."
 
+msgid "Cliff"
+msgstr "Penhasco"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Uma rocha íngreme exposta, quase ou completamente vertical (ao desenhar, "
+"mantenha a face exposta à direita da linha)."
+
 msgid "Cave Entrance"
 msgstr "Entrada de Caverna"
 
@@ -23811,38 +24378,38 @@ msgid "Woodland where timber production does not dominate use."
 msgstr "Floresta onde a produção de madeira não é o uso dominante."
 
 msgid "Forest"
-msgstr "Floresta"
+msgstr "Floresta manejada"
 
 msgid "Cutline"
-msgstr ""
+msgstr "Linha de corte"
 
 msgctxt "cutline"
 msgid "border"
-msgstr ""
+msgstr "borda"
 
 msgctxt "cutline"
 msgid "firebreak"
-msgstr ""
+msgstr "barreira anti-incêndios"
 
 msgctxt "cutline"
 msgid "hunting"
-msgstr ""
+msgstr "caça"
 
 msgctxt "cutline"
 msgid "loggingmachine"
-msgstr ""
+msgstr "exploração madeireira"
 
 msgctxt "cutline"
 msgid "pipeline"
-msgstr ""
+msgstr "duto"
 
 msgctxt "cutline"
 msgid "piste"
-msgstr ""
+msgstr "pista de esqui"
 
 msgctxt "cutline"
 msgid "section"
-msgstr ""
+msgstr "seção"
 
 msgid "Grassland"
 msgstr "Pradaria"
@@ -23852,10 +24419,10 @@ msgid ""
 "woody) plants. Excludes cultivated areas and wetlands."
 msgstr ""
 "Onde a vegetação é dominada por gramíneas (Poaceae) e outras plantas "
-"herbáceas (não lenhosas) . Exclui as áreas cultivadas e áreas úmidas."
+"herbáceas (não lenhosas). Exclui as áreas cultivadas e áreas úmidas."
 
 msgid "pampas"
-msgstr "planícies"
+msgstr "pampa"
 
 msgid "prairie"
 msgstr "pradaria"
@@ -23870,7 +24437,7 @@ msgid "steppe"
 msgstr "estepe"
 
 msgid "veld"
-msgstr "savana"
+msgstr "veld"
 
 msgid "Nature Reserve"
 msgstr "Reserva Natural"
@@ -23910,7 +24477,7 @@ msgid ""
 msgstr ""
 "Terras baixas, sem folhagem, não cultivadas, com um habitat arbustivo "
 "encontrado principalmente em solos ácidos, inférteis e livres de drenagem, "
-"caracterizada por vegetação lenhosa de baixo crescimentoaberto abeta."
+"caracterizada por ser uma vegetação lenhosa, aberta e de baixo crescimento."
 
 msgid "Sand"
 msgstr "Areia"
@@ -23960,7 +24527,7 @@ msgid "Farmland"
 msgstr "Terra agrícola"
 
 msgid "Crop"
-msgstr ""
+msgstr "Cultura"
 
 msgctxt "crop"
 msgid "corn"
@@ -23980,7 +24547,7 @@ msgstr "trigo"
 
 msgctxt "crop"
 msgid "hop"
-msgstr ""
+msgstr "lúpulo"
 
 msgid "Meadow"
 msgstr "Prados"
@@ -23988,6 +24555,51 @@ msgstr "Prados"
 msgid "Orchard"
 msgstr "Pomar"
 
+msgid "Trees"
+msgstr "Árvores"
+
+msgid "olive_trees"
+msgstr "oliveiras"
+
+msgid "apple_trees"
+msgstr "macieiras"
+
+msgid "oil_palms"
+msgstr "palmeiras"
+
+msgid "orange_trees"
+msgstr "laranjeiras"
+
+msgid "almond_trees"
+msgstr "amendoeiras"
+
+msgid "banana_plants"
+msgstr "bananeiras"
+
+msgid "coconut_palms"
+msgstr "coqueiros"
+
+msgid "hazel_plants"
+msgstr "avelãzeira"
+
+msgid "cherry_trees"
+msgstr "cerejeira"
+
+msgid "persimmon_trees"
+msgstr "caquizeiro"
+
+msgid "walnut_trees"
+msgstr "nogueira"
+
+msgid "plum_trees"
+msgstr "ameixeira"
+
+msgid "peach_trees"
+msgstr "pessegueiro"
+
+msgid "tea_plants"
+msgstr "planta de chá"
+
 msgid "Vineyard"
 msgstr "Vinhedo"
 
@@ -24043,13 +24655,13 @@ msgid "Garages"
 msgstr "Garagens"
 
 msgid "Railway Land"
-msgstr "Railway Land"
+msgstr "Pátio Ferroviário"
 
 msgid "Military"
 msgstr "Militar"
 
 msgid "Construction Area"
-msgstr "Área de construção"
+msgstr "Área em Construção"
 
 msgid "Brownfield"
 msgstr "Área contaminada"
@@ -24058,7 +24670,7 @@ msgid "Greenfield"
 msgstr "Campo"
 
 msgid "Landfill"
-msgstr "Aterro"
+msgstr "Aterro Sanitário"
 
 msgid "Quarry"
 msgstr "Pedreira"
@@ -24374,10 +24986,10 @@ msgid "Boundary type"
 msgstr "Tipo de fronteira"
 
 msgid "administrative"
-msgstr "administrativo"
+msgstr "administrativa"
 
 msgid "maritime"
-msgstr ""
+msgstr "marítima"
 
 msgid "national_park"
 msgstr "parque nacional"
@@ -24395,16 +25007,16 @@ msgid "Sub area"
 msgstr "Sub área"
 
 msgid "Administration centre"
-msgstr "Centro de administração"
+msgstr "Centro administrativo"
 
 msgid "Label point"
 msgstr "Ponto da etiqueta"
 
 msgid "Site"
-msgstr "Site"
+msgstr "Local"
 
 msgid "Site name"
-msgstr "Nome do site"
+msgstr "Nome do local"
 
 msgid "where to place the label"
 msgstr "onde colocar a etiqueta"
@@ -24416,7 +25028,7 @@ msgid "entrances to the site, on the perimeter"
 msgstr "entradas para o local, no perímetro"
 
 msgid "members of site"
-msgstr "membros do site"
+msgstr "membros do conjunto"
 
 msgid "Turn Restriction"
 msgstr "Restrição de sentido"
@@ -24470,10 +25082,10 @@ msgid "maxspeed"
 msgstr "velocidade máxima"
 
 msgid "mindistance"
-msgstr "mindistance"
+msgstr "distância mínima"
 
 msgid "check"
-msgstr ""
+msgstr "verificação"
 
 msgid "Max. height (meters, only if enforcement=maxheight)"
 msgstr "Altura máxima (em metros, se enforcement=maxheight)"
@@ -24749,7 +25361,7 @@ msgid "{0} together with addr:*"
 msgstr "{0} junto com addr:*"
 
 msgid "{0} together with {1} and conflicting values"
-msgstr ""
+msgstr "{0} junto com {1} e valores conflitantes"
 
 msgid "{0} on suspicious object"
 msgstr "{0} em objeto suspeito"
@@ -24773,7 +25385,7 @@ msgid "alternative name without {0}"
 msgstr "nome alternativo sem {0}"
 
 msgid "incomplete usage of {0} on a way without {1}"
-msgstr ""
+msgstr "uso incompleto de {0} em uma maneira sem {1}"
 
 msgid "Same value of {0} and {1}"
 msgstr "Mesmo valor de {0} e {1}"
@@ -24785,10 +25397,7 @@ msgid "{0} and {1} together with {2} and conflicting values"
 msgstr "{0} e {1} junta com {2} e valores conflitantes"
 
 msgid "Suspicious tag combination: {0} and {1}"
-msgstr ""
-
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} está obsoleto"
+msgstr "Combinação suspeita de etiquetas: {0} e {1}"
 
 msgid "{0} is deprecated"
 msgstr "{0} está obsoleta"
@@ -24814,9 +25423,11 @@ msgid ""
 "Wrong usage of {0} tag. Remove {1}, because it is clear that the name is "
 "missing even without an additional tag."
 msgstr ""
+"Uso errado de {0} tag. Remover {1}, porque é evidente que o nome está "
+"ausente, mesmo sem uma tag adicional."
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} está obsoleto. Por favor, utilize ao invés um multipolígono."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr "{0} é depreciado. Por favor, use um multipolígono."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -24847,10 +25458,10 @@ msgstr ""
 "ou ''both''."
 
 msgid "Unspecific tag {0}"
-msgstr ""
+msgstr "Etiqueta inespecífica {0}"
 
 msgid "Definition of {0} is unclear"
-msgstr ""
+msgstr "Definição de {0} está incerta"
 
 msgid ""
 "{0} is not recommended. Use the Reverse Ways function from the Tools menu."
@@ -24858,12 +25469,21 @@ msgstr ""
 "{0} não é recomendado. Use a função Reverter Caminhos no menu Ferramentas."
 
 msgid "key with uncommon character"
-msgstr ""
+msgstr "chave com caráter incomum"
 
 msgid "uncommon short key"
-msgstr ""
+msgstr "tecla de atalho incomum"
 
 msgid "{0} is inaccurate"
+msgstr "{0} é impreciso"
+
+msgid "{0} is deprecated for {1}"
+msgstr "{0} é depreciado para {1}"
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr "{0} é depreciado. Use o prefixo-chave: {1} em vez disso."
+
+msgid "questionable key (ending with a number): {0}"
 msgstr ""
 
 msgid "{0} on a node. Should be used on a way."
@@ -24881,6 +25501,9 @@ msgstr "{0} em uma linha. Deveria ser usado em um ponto."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} em uma via. Deveria ser utilizado em uma relação"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} em um nó"
 
@@ -24908,6 +25531,9 @@ msgstr "{0} precisa estar conectado à uma via"
 msgid "node connects waterway and bridge"
 msgstr "pontos conectam via aquática e ponte"
 
+msgid "suspicious roundabout direction"
+msgstr "direção da rotatória suspeita"
+
 msgid "abbreviated street name"
 msgstr "nome da rua abreviado"
 
@@ -24939,7 +25565,7 @@ msgid "{0} with multiple values"
 msgstr "{0} com múltiplos valores"
 
 msgid "empty value in semicolon-separated ''{0}''"
-msgstr ""
+msgstr "valor vazio no separados por ponto e vírgula ''{0}''"
 
 msgid "numerical key"
 msgstr "chave númerica"
@@ -24950,8 +25576,8 @@ msgstr "tag da camada com sinal +"
 msgid "layer should be between -5 and 5"
 msgstr "camada deve estar entre -5 e 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "nível deve ser números com incrementos opcionais de .5"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr ""
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -24994,7 +25620,7 @@ msgid "{0} must be a positive integer number"
 msgstr "{0} deve ser um número inteiro positivo"
 
 msgid "unusual value of {0}"
-msgstr ""
+msgstr "valor não usual de {0}"
 
 msgid "relation without type"
 msgstr "relações sem tipo"
@@ -25042,7 +25668,7 @@ msgid "''wikipedia''=''language:page title''"
 msgstr "''wikipedia''=''idioma:título da página''"
 
 msgid "Hide icons at low zoom"
-msgstr "Ocultar ícones ao apróximar zoom"
+msgstr "Ocultar ícones ao aproximar zoom"
 
 msgid "Less obtrusive node symbols at low zoom"
 msgstr "Símbolos de nós menos intrusivos em zoom baixo"
@@ -25051,13 +25677,13 @@ msgid "Display street labels (at high zoom)"
 msgstr "Exibir rótulos de rua (com zoom alto)"
 
 msgid "Use alternative turn restriction icon set"
-msgstr ""
+msgstr "Usa conjunto alternativo de icones para restrição de sentido"
 
 msgid "Display fill colour of areas with place=*"
-msgstr ""
+msgstr "Mostrar cor de preenchimento de áreas com lugar=*"
 
 msgid "Areas are drawn with fill only around their inner edges"
-msgstr ""
+msgstr "Áreas são preenchidas somente ao redor das bordas internas."
 
 msgid "Columbus V-900 CSV Files"
 msgstr "Arquivos CSV Columbus V-900"
@@ -25367,7 +25993,7 @@ msgid "Add fixed points on spacebar"
 msgstr "Adicionar pontos fixos na barra de espaços"
 
 msgid "Allow edit existing ways"
-msgstr ""
+msgstr "Permitir editar caminhos existente"
 
 msgid "Draw closed polygons only"
 msgstr "Desenhar apenas polígonos fechados"
@@ -25669,31 +26295,31 @@ msgid "Could not read NanoLog file:"
 msgstr "Não foi possível ler o arquivo NanoLog:"
 
 msgid "OSM Recommendation"
-msgstr ""
+msgstr "OSM Recomendações"
 
 msgid "Recommend categories to your newly created instances."
-msgstr ""
+msgstr "Categorias recomendadas para as instâncias recém-criadas."
 
 msgid "Training process configuration"
-msgstr ""
+msgstr "Configuração processo de formação"
 
 msgid "Model Settings"
-msgstr ""
+msgstr "Configurações de modelo"
 
 msgid "Select objects or create new objects and get recommendation."
-msgstr ""
+msgstr "Selecionar objetos ou criar novos objetos e obter recomendação."
 
 msgid "Add Recommendation"
-msgstr ""
+msgstr "Adicionar Recomendação"
 
 msgid "Add a recommended key/value pair to your object"
-msgstr ""
+msgstr "Adiciona uma par chave/valor recomendado ao seu objeto"
 
 msgid "Train a Model"
-msgstr ""
+msgstr "Treinar um Modelo"
 
 msgid "Start the training engine!"
-msgstr ""
+msgstr "Ligue o motor treinamento!"
 
 msgid "Edit opening hours"
 msgstr "Editar hora de funcionamento"
@@ -26291,21 +26917,23 @@ msgstr ""
 "no relatório de bug, para que possamos encontrar a fonte do problema."
 
 msgid "Area Selector - Preferences"
-msgstr ""
+msgstr "Seletor de área - Preferências"
 
 msgid "Settings for the area detection algorithm."
-msgstr ""
+msgstr "Definições para o algoritmo de detecção de área."
 
 msgid "Boofcv - high resolution images"
-msgstr ""
+msgstr "Boofcv - imagens de alta resolução"
 
 msgid "Custom - low resolution images"
-msgstr ""
+msgstr "Personalizado - imagens de baixa resolução"
 
 msgid ""
 "Choose wich algorithm should be used. \"Auto\" tries to find an area with "
 "Boofcv and uses the custom algorithm as a fallback."
 msgstr ""
+"Escolha qual algoritmo deve ser usado. \"Auto\" tenta encontrar uma área com "
+"Boofcv e utiliza o algoritmo personalizado como um fallback."
 
 msgid "Algorithm"
 msgstr "Algoritmo"
@@ -26314,39 +26942,48 @@ msgid ""
 "Maximum pixels a point can be away from a line and still be considered as a "
 "member of this line (Default: {0})."
 msgstr ""
+"Máximo de pixels que um ponto pode estar afastado de uma linha e ainda ser "
+"considerado um membro desta linha (padrão: {0})."
 
 msgid "Distance Tolerance"
-msgstr ""
+msgstr "Distância de Tolerância"
 
 msgid ""
 "Lines with a smaller angle (degrees) than this will be combined to one line "
 "(Default {0})."
 msgstr ""
+"Linhas com um ângulo menor (graus) do que esse vão ser combinadas em uma "
+"única linha (padrão {0})."
 
 msgid "Angle Tolerance"
-msgstr ""
+msgstr "Tolerância do Ângulo"
 
 msgid ""
 "The color threshold defines how much a color may differ from the selected "
 "color. The red, green and blue values must be in the range of (selected - "
 "threshold) to (selected + threshold). (Default: {0})."
 msgstr ""
+"O limite de cor define o quanto a cor pode ser diferente da cor selecionada. "
+"Os valores de vermelho, verde e azul devem estar na gama de (selecionado - "
+"limiar) para (+ limiar seleccionado). (Padrão: {0})."
 
 msgid "Color Threshold"
 msgstr "Limiar de cor"
 
 msgid "Use HSV based algorithm"
-msgstr ""
+msgstr "Usa algoritmo baseado em HSV"
 
 msgid ""
 "Use hue and saturation instead of RGB distinction to select matching colors."
 msgstr ""
+"Usa matiz e saturação em vez de distinção RGB para selecionar cores "
+"correspondentes."
 
 msgid "How often thinning operation should be applied (Default {0})."
-msgstr ""
+msgstr "Quantas vezes a operação de desbaste deve ser aplicado (padrão {0})."
 
 msgid "Thinning Iterations"
-msgstr ""
+msgstr "Thinning Iterations"
 
 msgid "show address dialog"
 msgstr "Mostrar o diálogo endereço"
@@ -26358,13 +26995,14 @@ msgid "merge nodes"
 msgstr "unir nós"
 
 msgid "Merge nodes with existing nodes"
-msgstr ""
+msgstr "Mesclar nós com nós existentes"
 
 msgid "Debug"
-msgstr ""
+msgstr "Debug"
 
 msgid "Debugging mode will write images for each processing step."
 msgstr ""
+"Modo de depuração vai escrever imagens para cada etapa de processamento."
 
 msgid "Street Name:"
 msgstr "Nome da Rua:"
@@ -26421,32 +27059,34 @@ msgid "Set width of the building"
 msgstr "Definir a largura do prédio"
 
 msgid "Merge address points"
-msgstr ""
+msgstr "Mesclar pontos de endereços"
 
 msgid "Move tags from address nodes inside buildings to building ways"
 msgstr ""
+"Move etiquetas dos nós de endereços no interior de edifícios para caminhos "
+"de construção"
 
 msgid "Select both address nodes and building ways to merge"
-msgstr ""
+msgstr "Selecione ambos os nós de endereços e crie maneiras de fundir"
 
 msgid "No address nodes found in the selection"
-msgstr ""
+msgstr "Nenhum nó endereço encontrado na seleção"
 
 msgid "No building ways found in the selection"
-msgstr ""
+msgstr "Nenhuma via de edifício encontradas na seleção"
 
 msgid "There is {0} building with multiple address nodes inside"
 msgid_plural "There are {0} buildings with multiple address nodes inside"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Há {0} edifício com vários nós de endereço dentro"
+msgstr[1] "Há {0} edifícios com vários nós de endereço dentro"
 
 msgid "There is {0} building with address conflicts"
 msgid_plural "There are {0} buildings with address conflicts"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Há {0} edifício com conflitos de endereços"
+msgstr[1] "Há {0} edifícios com conflitos de endereços"
 
 msgid "No address nodes inside buildings found"
-msgstr ""
+msgstr "Nenhum nó de endereços encontrados no interior de edifícios"
 
 msgid "on polygon"
 msgstr "no polígono"
@@ -27182,10 +27822,10 @@ msgid "Generate matches"
 msgstr "Gerar correspondências"
 
 msgid "Layer:"
-msgstr ""
+msgstr "Camada:"
 
 msgid "{0}: 0 / {1}: 0 / {2}: 0"
-msgstr ""
+msgstr "{0}: 0 / {1}: 0 / {2}: 0"
 
 msgid "Subject"
 msgstr "Assunto"
@@ -27218,92 +27858,107 @@ msgid "Empty selection"
 msgstr "Seleção vazia"
 
 msgid "Freeze reference selection"
-msgstr ""
+msgstr "Congelar referência de seleção"
 
 msgid "{0}: {1} / {2}: {3} / {4}: {5}"
-msgstr ""
+msgstr "{0}: {1} / {2}: {3} / {4}: {5}"
 
 msgid "Invalid reference or subject"
 msgstr "Referência inválida ou sujeito"
 
 msgid "Download OSM data continuously"
-msgstr ""
+msgstr "Baixar dados do OSM continuamente"
 
 msgid "Download map data continuously when paning and zooming."
-msgstr ""
+msgstr "Baixar dados do mapa continuamente quando deslocandar e ampliar."
 
 msgid "Toggle the continuous download on/off"
-msgstr ""
+msgstr "Alterne entre o download contínuo on/off"
 
 msgid "Download Settings"
-msgstr ""
+msgstr "Configurações de download"
 
 msgid "Settings for the continuous download."
-msgstr ""
+msgstr "Definições para a transferência contínua."
 
 msgid "Activate continuous downloads at startup."
-msgstr ""
+msgstr "Ativar transferências contínuas na inicialização."
 
 msgid "Supress the default modal progress monitor when downloading."
-msgstr ""
+msgstr "Suprimir o monitor de progresso modal padrão quando está baixando."
 
 msgid ""
 "If this plugin is active at startup. This default state will not change when "
 "you are toggeling the plugin with the menu option."
 msgstr ""
+"Se este plugin estiver ativo na inicialização. Este estado padrão não mudará "
+"quando você está alternando o plugin com a opção do menu."
 
 msgid ""
 "Maximum number of threads used for downloading, increasing this will cause "
 "the client to send more concurrent queries to the server."
 msgstr ""
+"Número máximo de segmentos utilizados para fazer o download, aumentar fará "
+"com que o cliente envie mais consultas para o servidor."
 
 msgid "Requires restart"
-msgstr ""
+msgstr "Requer reinicialização"
 
 msgid "Max threads"
-msgstr ""
+msgstr "Max download boxes"
 
 msgid "Maximum number of boxes to download for each pan/zoom."
-msgstr ""
+msgstr "O número máximo de boxes para download para cada pan/zoom."
 
 msgid "Max download boxes"
-msgstr ""
+msgstr "Max download boxes"
 
 msgid ""
 "Time in milliseconds after a pan/zoom before it starts downloading. "
 "Additional changes in the viewport in the waiting time will reset the timer."
 msgstr ""
+"Tempo, em milissegundos, depois de um pan/zoom antes de começar a baixar. "
+"Mudanças adicionais na janela de exibição no tempo de espera vai reiniciar o "
+"cronômetro."
 
 msgid "Wait time (milliseconds)"
-msgstr ""
+msgstr "Tempo de espera (milissegundos)"
 
 msgid ""
 "How much extra area around the viewport is it going to download. Setting "
 "this to 0 will not download any extra data."
 msgstr ""
+"Quanta área extra em torno da janela de exibição será baixado. Configurando "
+"para 0 não vai baixar dados extra."
 
 msgid "Extra download area"
-msgstr ""
+msgstr "Área de download extra"
 
 msgid ""
 "Max area to download in degrees^2. Increasing this number will cause the "
 "plugin to download areas when you are zoomed far out."
 msgstr ""
+"Área máxima de download em graus^2. Aumentar este número fará com que o "
+"plugin baixe áreas quando você se afastar."
 
 msgid "Max download area"
-msgstr ""
+msgstr "Área máxima de download"
 
 msgid "The strategy for finding what areas to request from the server."
 msgstr ""
+"A estratégia para encontrar que áreas devem ser solicitada ao servidor."
 
 msgid "Download strategy"
-msgstr ""
+msgstr "Estratégia de download"
 
 msgid ""
 "Suppress the progress monitor that is shown when downloading. If this option "
 "is selected there is no indication that something is being done, and no way "
 "to cancel the download."
 msgstr ""
+"Suprimir o monitor de progresso que é mostrado quando está baixando. Se essa "
+"opção for selecionada não há nenhuma indicação de que algo está sendo feito, "
+"e não há maneira de cancelar o download."
 
 msgid "Address"
 msgstr "Endereço"
@@ -28667,10 +29322,10 @@ msgid "Missing input data"
 msgstr "Faltando dados de entrada"
 
 msgid "Mapillary Images"
-msgstr ""
+msgstr "Mapillary Imagens"
 
 msgid "Mapillary layer"
-msgstr ""
+msgstr "Mapillary camada"
 
 msgid "Total images:"
 msgstr "Total de imagens:"
@@ -28679,9 +29334,9 @@ msgid "images"
 msgstr "imagens"
 
 msgid "Traffic sign font at ''{0}'' has wrong format."
-msgstr ""
+msgstr "Sinal de tráfego na fonte ''{0}'' tem um formato errado."
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -28721,70 +29376,70 @@ msgid "Import pictures into sequence"
 msgstr "Importar imagens na sequência"
 
 msgid "Import pictures into Mapillary layer in a sequence"
-msgstr ""
+msgstr "Importar imagens na camada Mapillary em uma sequência"
 
 msgid "Join mode"
-msgstr ""
+msgstr "Join mode"
 
 msgid "Join/unjoin pictures"
-msgstr ""
+msgstr "Juntar/Desunir imagens"
 
 msgid "Join Mapillary pictures"
-msgstr ""
+msgstr "Junte-se ao Mapillary pictures"
 
 msgid "Upload pictures"
 msgstr "Enviar imagens"
 
 msgid "Upload Mapillary pictures"
-msgstr ""
+msgstr "Atualizar imagens do Mapillary"
 
 msgid "Upload pictures."
-msgstr ""
+msgstr "Enviar imagens."
 
 msgid "Walk mode"
-msgstr ""
+msgstr "Modo caminhada"
 
 msgid "Start walk mode"
-msgstr ""
+msgstr "Iniciar o modo de caminhada"
 
 msgid "Zoom to selected image"
-msgstr ""
+msgstr "Zoom para a imagem selecionada"
 
 msgid "Zoom to the currently selected Mapillary image"
-msgstr ""
+msgstr "Zoom para a imagem selecionada no Mapillary no momento"
 
 msgid "Uploaded {0} images"
-msgstr ""
+msgstr "Enviadas {0} imagens"
 
 msgid "Approve upload on the website"
-msgstr ""
+msgstr "Aprovar upload no site"
 
 msgid "View in website"
-msgstr ""
+msgstr "Ver no site"
 
 msgid "Copy key"
-msgstr ""
+msgstr "Copiar chave"
 
 msgid "Copy key tag"
-msgstr ""
+msgstr "Copiar chave da tag"
 
 msgid "Edit on website"
-msgstr ""
+msgstr "Editar no site"
 
 msgid "Export all images"
-msgstr ""
+msgstr "Exportar todas as imagens"
 
 msgid "Export selected sequence"
-msgstr ""
+msgstr "Exportar sequência selecionada"
 
 msgid "Export selected images"
-msgstr ""
+msgstr "Exportação imagens selecionadas"
 
 msgid "Rewrite imported images"
-msgstr ""
+msgstr "Reescreve imagens importadas"
 
 msgid "Select a folder"
-msgstr ""
+msgstr "Selecione uma pasta"
 
 msgid "Explore"
 msgstr "Explorar"
@@ -28799,7 +29454,7 @@ msgid "Give way"
 msgstr "Dê a preferência"
 
 msgid "No entry"
-msgstr ""
+msgstr "Entrada proibida"
 
 msgid "Intersection danger"
 msgstr "Cruzamento perigoso"
@@ -28832,16 +29487,16 @@ msgid "Days"
 msgstr "Dias"
 
 msgid "Imported images"
-msgstr ""
+msgstr "Imagens importadas"
 
 msgid "Mapillary filter"
-msgstr ""
+msgstr "Mapillary filtro"
 
 msgid "Open Mapillary filter dialog"
-msgstr ""
+msgstr "Abrir filtro Mapillary"
 
 msgid "Not older than: "
-msgstr ""
+msgstr "Não mais velho do que: "
 
 msgid "Downloaded images"
 msgstr "Imagens baixadas"
@@ -28853,22 +29508,22 @@ msgid "Choose signs"
 msgstr "Escolha placas"
 
 msgid "Mapillary history"
-msgstr ""
+msgstr "Mapillary história"
 
 msgid "Open Mapillary history dialog"
-msgstr ""
+msgstr "Abrir histórico Mapillary"
 
 msgid "Mapillary picture"
-msgstr ""
+msgstr "Mapillary foto"
 
 msgid "Open Mapillary window"
-msgstr ""
+msgstr "Abrir janela Mapillary"
 
 msgid "Mapillary dialog"
-msgstr ""
+msgstr "Mapillary diálogo"
 
 msgid "Open Mapillary main dialog"
-msgstr ""
+msgstr "Abrir Mapillary"
 
 msgid "Next picture"
 msgstr "Próxima foto"
@@ -28883,13 +29538,13 @@ msgid "Shows the previous picture in the sequence"
 msgstr "Mostra a foto anterior na sequência"
 
 msgid "Jump to red"
-msgstr ""
+msgstr "Ir para vermelho"
 
 msgid "Jumps to the picture at the other side of the red line"
 msgstr "Pula para a foto no outro lado da linha vermelha"
 
 msgid "Jump to blue"
-msgstr ""
+msgstr "Ir para azul"
 
 msgid "Jumps to the picture at the other side of the blue line"
 msgstr "Pula para a foto no outro lado da linha azul"
@@ -28910,7 +29565,7 @@ msgid "Pauses the walk."
 msgstr "Pausa a caminhada."
 
 msgid "Reverse buttons position when displaying images."
-msgstr ""
+msgstr "Inverta a posição botões quando exibir imagens."
 
 msgid "Display hour when the picture was taken"
 msgstr "Mostra hora quando a foto foi tirada"
@@ -28919,37 +29574,38 @@ msgid "Use 24 hour format"
 msgstr "Usar formuto de 24 horas"
 
 msgid "Move to picture''s location with next/previous buttons"
-msgstr ""
+msgstr "Move para a localização de fotos com os botões próximo/anterior"
 
 msgid "Download mode"
-msgstr ""
+msgstr "Modo de download"
 
 msgid "You are logged in as ''{0}''."
-msgstr ""
+msgstr "Você está logado como ''{0}''."
 
 msgid "Re-Login"
-msgstr ""
+msgstr "Re-Login"
 
 msgid "You are currently not logged in."
-msgstr ""
+msgstr "No momento você não está logado."
 
 msgid "Go to setting and log in to Mapillary before uploading."
 msgstr ""
+"Vá para configuração e faça login no Mapillary antes de fazer o upload."
 
 msgid "Upload selected sequence"
-msgstr ""
+msgstr "Enviar sequência selecionada"
 
 msgid "Delete after upload"
-msgstr ""
+msgstr "Excluir após o upload"
 
 msgid "Wait for full quality pictures"
-msgstr ""
+msgstr "Espere por imagens de qualidade total"
 
 msgid "Follow selected image"
-msgstr ""
+msgstr "Sigir imagem selecionada"
 
 msgid "Go forward"
-msgstr ""
+msgstr "Ir para a frente"
 
 msgid "Deleted {0} image"
 msgid_plural "Deleted {0} images"
@@ -28962,20 +29618,20 @@ msgstr[0] "Importar {0} imagem"
 msgstr[1] "Importar {0} imagens"
 
 msgid "2 images joined"
-msgstr ""
+msgstr "2 imagens se juntaram"
 
 msgid "Moved {0} image"
 msgid_plural "Moved {0} images"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Movida {0} imagem"
+msgstr[1] "Movidas {0} imagens"
 
 msgid "Turned {0} image"
 msgid_plural "Turned {0} images"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Virada {0} imagem"
+msgstr[1] "Viradas {0} imagens"
 
 msgid "2 images unjoined"
-msgstr ""
+msgstr "2 imagens se separaram"
 
 msgid ""
 "The downloaded OSM area is too big. Download mode has been changed to "
@@ -28991,24 +29647,39 @@ msgid "Select mode"
 msgstr "Modo de seleção"
 
 msgid "Mapillary login"
-msgstr ""
+msgstr "Mapillary login"
 
 msgid "Login successful, return to JOSM."
-msgstr ""
+msgstr "Login bem sucedido, retornar ao JOSM."
+
+msgid "Supported image formats (JPG and PNG)"
+msgstr "Formatos de imagens suportado (JPG e PNG)"
 
 msgid "Downloading Mapillary images"
-msgstr ""
+msgstr "Baixar imagens do Mapillary"
 
 msgid "Total Mapillary images: {0}"
-msgstr ""
+msgstr "Total de imagens Mapillary: {0}"
 
 msgid "No images found"
 msgstr "Nenhuma imagem encontrada"
 
 msgid "Finished upload"
-msgstr ""
+msgstr "Upload terminado"
 
 msgid "Uploading: {0}"
+msgstr "Enviando: {0}"
+
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
 msgstr ""
 
 msgid "Measured values"
@@ -29031,7 +29702,7 @@ msgid "Selection Area"
 msgstr "Área de seleção"
 
 msgid "Selection Radius"
-msgstr ""
+msgstr "Seleção Radius"
 
 msgid "Angle"
 msgstr "Ângulo"
@@ -30059,72 +30730,74 @@ msgid ""
 "Click+drag photo, shift+click to position photo, control+click to set "
 "direction."
 msgstr ""
+"Clique+arrastar foto, shift+clique para posicionar fotografia, "
+"control+clique para definir a direção."
 
 msgid "Please load some photos."
-msgstr "Por favor, carrega algumas fotos."
+msgstr "Por favor, carregue algumas fotos."
 
 msgid "Edit photo GPS data"
-msgstr ""
+msgstr "Editar dados GPS da foto"
 
 msgid "Edit GPS data of selected photo."
-msgstr ""
+msgstr "Editar dados de GPS da foto selecionada."
 
 msgid "Edit Photo GPS Data"
-msgstr ""
+msgstr "Editar dados GPS foto"
 
 msgid "Please select an image first."
-msgstr ""
+msgstr "Por favor, selecione uma imagem em primeiro lugar."
 
 msgid "No image selected"
-msgstr ""
+msgstr "Nenhuma imagem selecionada"
 
 msgid "(Empty values delete the according fields.)"
-msgstr ""
+msgstr "(Valores vazios excluem os campos de acordo)."
 
 msgid "coordinates"
 msgstr "coordenadas"
 
 msgid "Latitude and longitude"
-msgstr ""
+msgstr "Latitude e longitude"
 
 msgid "Edit Image Coordinates"
-msgstr ""
+msgstr "Editar coordenadas da imagem"
 
 msgid "Edit coordinates in separate editor"
-msgstr ""
+msgstr "Editar coordenadas no editor separado"
 
 msgid "altitude"
-msgstr ""
+msgstr "altitude"
 
 msgid "Altitude:"
-msgstr ""
+msgstr "Altitude:"
 
 msgid "speed"
-msgstr ""
+msgstr "velocidade"
 
 msgid "positive number or empty"
-msgstr ""
+msgstr "número positivo ou vazio"
 
 msgid "Speed:"
-msgstr ""
+msgstr "Velocidade:"
 
 msgid "direction"
-msgstr ""
+msgstr "direção"
 
 msgid "range -360.0 .. 360.0, or empty"
-msgstr ""
+msgstr "range -360.0 .. 360.0, or empty"
 
 msgid "Direction:"
-msgstr ""
+msgstr "Direção:"
 
 msgid "°"
-msgstr ""
+msgstr "°"
 
 msgid "Undo changes made in this dialog"
-msgstr ""
+msgstr "Desfazer as alterações efetuadas nesta janela"
 
 msgid "Reload GPS data from image file"
-msgstr ""
+msgstr "Carregar dados de GPS a partir do arquivo de imagem"
 
 msgid "New layer for untagged images"
 msgstr "Nova camada para imagens sem tags"
@@ -30136,7 +30809,7 @@ msgid "Do you want to save current calibration of layer {0}?"
 msgstr "Você quer salvar a calibração atual da camada {0}"
 
 msgid "Select an option"
-msgstr ""
+msgstr "Selecione uma opção"
 
 msgid "Load Picture Calibration..."
 msgstr "Carregar Calibração de Cor..."
@@ -30148,7 +30821,7 @@ msgid "Loading file failed: {0}"
 msgstr "Carregamento do arquivo falhou: {0}"
 
 msgid "Problem occurred"
-msgstr ""
+msgstr "Problema ocorrido"
 
 msgid "Load World File Calibration..."
 msgstr "Carregar Arquivo de Calibragem do Mundo..."
@@ -30194,7 +30867,7 @@ msgstr ""
 "incorreta."
 
 msgid "Notification"
-msgstr ""
+msgstr "Notificação"
 
 msgid "PicLayer move"
 msgstr "Mover PicLayer"
@@ -30313,7 +30986,7 @@ msgid "Do you want to apply it ?"
 msgstr "Você deseja aplicar?"
 
 msgid "Load calibration file?"
-msgstr ""
+msgstr "Carregar Arquivo de calibração?"
 
 msgid "It will be applied automatically."
 msgstr "Irá ser aplicado automaticamente."
@@ -30442,6 +31115,12 @@ msgstr "Proj4J Plugin"
 msgid "Code"
 msgstr "Código"
 
+msgid "Can''t parse a time from this string."
+msgstr "Não é possível interpretar um tempo desta string."
+
+msgid "Invalid value"
+msgstr "Valor inválido"
+
 msgid "added"
 msgstr "adicionado"
 
@@ -30530,15 +31209,6 @@ msgstr "Pegar"
 msgid "Join"
 msgstr "Entrar"
 
-msgid "Enable"
-msgstr "Ativado"
-
-msgid "Can''t parse a time from this string."
-msgstr "Não é possível interpretar um tempo desta string."
-
-msgid "Invalid value"
-msgstr "Valor inválido"
-
 msgid "moved"
 msgstr "movido"
 
@@ -30706,10 +31376,10 @@ msgid "Public transport routes"
 msgstr "Rotas de transporte público"
 
 msgid "Toggle direction arrows"
-msgstr ""
+msgstr "Alterar setas de direção"
 
 msgid "Toggle reference labels"
-msgstr ""
+msgstr "Alterar rótulos de referência"
 
 msgid "Visualize public transport routes"
 msgstr "Visualizar rotas de transporte público"
@@ -30722,6 +31392,7 @@ msgstr "Escolher Filtro"
 
 msgid "JSlider initialization error. Make sure your meta-inf is correct."
 msgstr ""
+"Erro de inicialização JSlider. Verifique se o seu meta-inf está correto."
 
 msgid "Relation Toolbox"
 msgstr "Caixa de ferramentas de relação"
@@ -30910,7 +31581,7 @@ msgid "History reverter"
 msgstr "Reverter histórico"
 
 msgid "Tool: Display objects history dialog"
-msgstr ""
+msgstr "Ferramenta: Exibir caixa de diálogo história dos objetos"
 
 msgid "Preparing history data..."
 msgstr "Preparando dados de histórico..."
@@ -31222,16 +31893,16 @@ msgid "No object selected"
 msgstr "Nenhum objeto selecionado"
 
 msgid "SeaChart Editor"
-msgstr ""
+msgstr "SeaChart Editor"
 
 msgid "Seamark Inspector"
-msgstr ""
+msgstr "Seamark Inspector"
 
 msgid "Select only one object"
 msgstr "Selecione apenas um objeto"
 
 msgid "Select a map object"
-msgstr ""
+msgstr "Selecione um objeto de mapa"
 
 msgid "Simplify Area"
 msgstr "Área simplificada"
@@ -31309,37 +31980,37 @@ msgid "SeaMap Editor"
 msgstr "Editor SeaMap"
 
 msgid "Spline drawing"
-msgstr ""
+msgstr "Desenhar Spline"
 
 msgid "Draw a spline curve"
-msgstr ""
+msgstr "Desenhar uma curva spline"
 
 msgid "Spline goes outside of the world."
-msgstr ""
+msgstr "Spline vai para fora do mundo."
 
 msgid "Add an existing node to spline: {0}"
-msgstr ""
+msgstr "Adiciona um nó existente a spline: {0}"
 
 msgid "Add a new node to spline: {0}"
-msgstr ""
+msgstr "Adiciona um novo nó a spline: {0}"
 
 msgid "Delete spline node {0}"
-msgstr ""
+msgstr "Excluir nó spline {0}"
 
 msgid "Finish spline"
-msgstr ""
+msgstr "Concluir spline"
 
 msgid "Splines"
-msgstr ""
+msgstr "Splines"
 
 msgid "Spline drawing preferences"
-msgstr ""
+msgstr "Preferências de desenho spline"
 
 msgid "Curve steps"
-msgstr ""
+msgstr "Degraus curvos"
 
 msgid "Undelete node {0}"
-msgstr ""
+msgstr "Restaurar nó {0}"
 
 msgid "OSM Export"
 msgstr "Exportar OSM"
@@ -31479,7 +32150,7 @@ msgid "create an associatedStreet relation"
 msgstr "criar uma relação associatedStreet"
 
 msgid "keep outline way"
-msgstr ""
+msgstr "manter esboço de rua"
 
 msgid "Street name: "
 msgstr "Nome da rua: "
@@ -31547,60 +32218,62 @@ msgid "Terrace"
 msgstr "Terraço"
 
 msgid "To-fix"
-msgstr ""
+msgstr "To-fix"
 
 msgid "Open to-fix window."
-msgstr ""
+msgstr "Abrir janela to-fix"
 
 msgid "Tool:To-fix"
-msgstr ""
+msgstr "Ferramenta:To-fix"
 
 msgid "Skip"
-msgstr ""
+msgstr "Pular"
 
 msgid "Skip Error"
-msgstr ""
+msgstr "Pular Erro"
 
 msgid "Fixed"
-msgstr ""
+msgstr "Corrigido"
 
 msgid "Fixed Error"
-msgstr ""
+msgstr "Erro Corrigido"
 
 msgid "Not an error"
-msgstr ""
+msgstr "Não é um erro"
 
 msgid "Set download area (m²)"
-msgstr ""
+msgstr "Definir área download (m²)"
 
 msgid "~.02"
-msgstr ""
+msgstr "~.02"
 
 msgid "tofix:Skip item"
-msgstr ""
+msgstr "tofix:Pular este"
 
 msgid "tofix:Fixed item"
-msgstr ""
+msgstr "tofix:Item corrigido"
 
 msgid "tofix:Not a Error item"
-msgstr ""
+msgstr "tofix:Não é um item de Erro"
 
 msgid "Maintenance server"
-msgstr ""
+msgstr "Servidor de manutenção"
 
 msgid ""
 "<html>Something went wrong, please update the plugin or report an issue at "
 "<a href=\"\">josm-tofix-plugin/issues</a></html>"
 msgstr ""
+"<html>Algo deu errado, por favor, atualizar o plugin ou relate um problema "
+"à<a href=\"\">josm-tofix-plugin/issues</a></html>"
 
 msgid "Something went wrong, try again"
-msgstr ""
+msgstr "Algo deu errado, tente novamente"
 
 msgid "Cannot place a node outside of the world."
 msgstr "Não é possível colocar um nó fora do mundo."
 
 msgid "Layer to draw OSM error"
-msgstr ""
+msgstr "Erro na camada para desenhar OSM"
 
 msgid "Browse"
 msgstr "Procurar"
@@ -32711,6 +33384,9 @@ msgstr "A via com nós selecionados não pode ser endireitada."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Erro interno: o número dos nós é {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr "Copia todas as tags de objetos selecionados para colar no buffer."
+
 msgid "Extract node"
 msgstr "Extrair nó"
 
@@ -32799,7 +33475,7 @@ msgid "Add remembered source tag"
 msgstr "Adicionar tag fonte salva"
 
 msgid "UnGlue Relation"
-msgstr "Relação Desgrudar"
+msgstr "Desgrudar Relação"
 
 msgid ""
 "Duplicate nodes, ways and relations that are used by multiple relations."
@@ -32872,10 +33548,11 @@ msgid "Custom URL configuration"
 msgstr "Configuração da URL personalizada"
 
 msgid "Lat Lon tool"
-msgstr "Lat Lon tool"
+msgstr "Ferramenta Latitude-Longitude"
 
 msgid "Create geometry by entering lat lon coordinates for it."
-msgstr "Criar geometria inserindo coordenadas de lat e lon para ela."
+msgstr ""
+"Cria uma geometria ao inserir suas coordenadas de latitude e longitude."
 
 msgid ""
 "Enter the coordinates for the new nodes, one for each line.<br/>If you enter "
@@ -32906,14 +33583,14 @@ msgstr ""
 "vírgula ou ponto e vírgula.<br/>Use números positivos ou os caracteres N, E "
 "para indicar Norte ou Leste .<br/>Para Sul e Oeste, você pode usar números "
 "negativos ou S, W.<br/>As coordenadas podem estar em um dos três formatos "
-"seguintes:<ul><li><i>degrees</i><tt>°</tt></li><li><i>degrees</i><tt>&deg"
-";</tt> <i>minutes</i><tt>'</tt></li><li><i>degrees</i><tt>°</tt> "
-"<i>minutes</i><tt>'</tt> <i>seconds</i><tt>&quot</tt></li></ul>Symbols "
-"<tt>°</tt>, <tt>'</tt>, <tt>′</tt>, <tt>"</tt>, "
-"<tt>″</tt> are optional.<br/><br/>Some examples:<ul><li>49.29918° "
-"19.24788°</li><li>N 49.29918 E 19.24788</li><li>W 49°29.918' S "
-"19°24.788'</li><li>N 49°29'04" E "
-"19°24'43"</li><li>49.29918 N, 19.24788 "
+"seguintes:<ul><li><i>graus</i><tt>°</tt></li><li><i>graus</i><tt>°</t"
+"t> <i>minutos</i><tt>'</tt></li><li><i>graus</i><tt>°</tt> "
+"<i>minutos</i><tt>'</tt> <i>segundos</i><tt>&quot</tt></li></ul>Os "
+"símbolos <tt>°</tt>, <tt>'</tt>, <tt>′</tt>, <tt>"</tt>, "
+"<tt>″</tt> são opcionais.<br/><br/>Alguns "
+"exemplos:<ul><li>49.29918° 19.24788°</li><li>N 49.29918 E "
+"19.24788</li><li>W 49°29.918' S 19°24.788'</li><li>N "
+"49°29'04" E 19°24'43"</li><li>49.29918 N, 19.24788 "
 "E</li><li>49°29'21" N 19°24'38" E</li><li>49 29 "
 "51, 19 24 18</li><li>49 29, 19 24</li><li>E 49 29, N 19 24</li><li>49° "
 "29; 19° 24</li><li>N 49° 29, W 19° 24</li><li>49° 29.5 S, "
@@ -32922,25 +33599,25 @@ msgstr ""
 "deg 11' 47.60\" E</li></ul>"
 
 msgid "Tag multiple objects [alpha]"
-msgstr "Tag vários objetos [alpha]"
+msgstr "Etiquetar vários objetos [alpha]"
 
 msgid "Edit tags of object list in table"
-msgstr "Editar tags de objetos listados na tabela"
+msgstr "Editar etiquetas de objetos listados na tabela"
 
 msgid "Tag multiple objects"
-msgstr "Tag vários objetos"
+msgstr "Etiqueta vários objetos"
 
 msgid "Sync with JOSM selection"
 msgstr "Sincronizar com a seleção JOSM"
 
 msgid "Zoom to objects"
-msgstr "Zooom até os objetos"
+msgstr "Aproximar até os objetos"
 
 msgid "Remove tag"
-msgstr "Remover tag"
+msgstr "Remover etiqueta"
 
 msgid "Delete tags from multiple objects"
-msgstr "Excluí tags de múltiplos objetos"
+msgstr "Exclui etiquetas de múltiplos objetos"
 
 msgid "Duplicate tags from the first"
 msgstr "Duplicar tags da primeira"
@@ -33353,27 +34030,32 @@ msgstr ""
 "Pesquisar após waypoint. Clique e mova a vista do mapa para o waypoint."
 
 msgid "Fetch Wikidata IDs"
-msgstr ""
+msgstr "Fetch Wikidata IDs"
 
 msgid "Fetch Wikidata IDs using the ''wikipedia'' tag"
-msgstr ""
+msgstr "Buscar IDs de dados Wiki utilizando o \"wikipedia\" tag"
 
 msgid "Fetching Wikidata IDs"
-msgstr ""
+msgstr "Buscando Wikidata IDs"
 
 msgid "Add Wikidata"
-msgstr ""
+msgstr "Adicionar Wikidata"
 
 msgid "No Wikidata ID found for: {0}"
-msgstr ""
+msgstr "Nenhuma wikidata ID encontrada para: {0}"
 
 msgid "Fetching {0} Wikidata ID for language ''{1}''"
 msgid_plural "Fetching {0} Wikidata IDs for language ''{1}''"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Buscando {0} Wikidata ID para o idioma ''{1}''"
+msgstr[1] "Buscando {0} Wikidata IDs para o idioma ''{1}''"
 
 msgid "Add Wikidata for language ''{0}''"
-msgstr ""
+msgstr "Adicionar Wikidata para a língua ''{0}''"
+
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
 
 msgid "Add names from Wikipedia"
 msgstr "Adicionar nomes da Wikipédia"
@@ -33466,3 +34148,6 @@ msgstr "Dirigir"
 
 msgid "Drive a race car on this layer"
 msgstr "Dirija um carro de corrida nesta camada"
+
+#~ msgid "Could not read font-file from ''{{0}}''."
+#~ msgstr "Não foi possível ler arquivo-fonte de ''{{0}}''."
diff --git a/i18n/po/rm.po b/i18n/po/rm.po
index 05c0128..15093a3 100644
--- a/i18n/po/rm.po
+++ b/i18n/po/rm.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:58+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:57+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/ro.po b/i18n/po/ro.po
index 6bd3b28..042d63d 100644
--- a/i18n/po/ro.po
+++ b/i18n/po/ro.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: JOSM\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-02-24 11:34+0000\n"
 "Last-Translator: Ciprian <c1pr1an_43v3r at yahoo.com>\n"
 "Language-Team: Romanian <gnomero-list at lists.sourceforge.net>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
 "== 0) && (n != 0))) ? 2: 1));\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:58+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:57+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "X-Poedit-Country: ROMANIA\n"
 "Language: ro\n"
 "X-Poedit-Language: Romanian\n"
@@ -416,6 +416,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -473,6 +476,12 @@ msgstr "Șterge"
 msgid "Delete selected objects."
 msgstr "Șterge obiectele selectate."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1226,9 +1235,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1561,6 +1567,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2279,6 +2295,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2320,6 +2341,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2674,7 +2704,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3239,9 +3272,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3300,6 +3330,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3529,6 +3562,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3606,12 +3642,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3621,6 +3669,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4187,6 +4253,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4881,9 +4950,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4942,12 +5008,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4974,6 +5034,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5795,6 +5867,18 @@ msgstr ""
 "Deschide un dialog de îmbinare a tuturor elementelor selectate din lista de "
 "mai sus."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5911,6 +5995,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6336,6 +6423,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6683,19 +6773,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6797,6 +6881,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7124,7 +7220,7 @@ msgstr "Editează valoarea cheii selectata pentru toate obiectele"
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7160,6 +7256,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7227,6 +7326,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7339,9 +7459,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7372,108 +7489,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
-msgstr ""
+msgid "Reload"
+msgstr "Reîncarcă"
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7492,6 +7584,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7500,48 +7595,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7549,61 +7633,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
-msgstr "Reîncarcă"
+msgid "Remove the currently selected members from this relation"
+msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7991,6 +8139,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8094,10 +8247,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8277,9 +8434,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8792,7 +8946,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8801,31 +8955,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8834,10 +8985,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9259,6 +9410,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr "Imagini geoetichetate"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9283,9 +9437,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr "Imagini geoetichetate"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9636,9 +9787,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9683,6 +9832,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9739,11 +9894,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9859,6 +10009,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10219,6 +10375,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10300,18 +10465,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10967,9 +11123,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11241,6 +11394,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11870,12 +12026,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11965,6 +12115,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12036,6 +12189,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12079,6 +12235,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12167,16 +12326,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12656,6 +12829,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12670,9 +12846,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12865,9 +13038,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13036,21 +13206,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13062,6 +13239,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13079,19 +13264,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13774,9 +13948,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13808,6 +13979,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13816,9 +13990,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13952,6 +14123,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14260,9 +14434,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14356,6 +14527,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14422,6 +14596,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14518,13 +14695,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14647,6 +14827,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14667,9 +14850,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14740,6 +14920,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14773,10 +14962,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15472,6 +15664,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16127,19 +16322,118 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
+msgstr ""
+
+msgid "greek"
+msgstr ""
+
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
 msgstr ""
 
 msgid "Smoking"
@@ -16694,7 +16988,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17448,25 +17745,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17616,6 +17917,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17786,6 +18090,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17848,14 +18155,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18784,66 +19083,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18856,19 +19095,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19046,6 +19279,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19080,9 +19319,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19125,12 +19361,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19234,6 +19476,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19393,6 +19639,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19505,24 +19870,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19685,63 +20035,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19795,9 +20096,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -20022,9 +20376,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20189,6 +20540,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20197,6 +20552,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20309,6 +20696,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20710,6 +21100,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20719,6 +21117,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21150,10 +21551,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21175,6 +21579,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21298,18 +21720,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21342,6 +21752,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21599,6 +22012,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21641,12 +22057,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21972,6 +22397,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22140,6 +22640,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22340,6 +22848,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23134,9 +23687,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23158,7 +23708,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23202,6 +23752,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23217,6 +23776,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23244,6 +23806,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23285,7 +23850,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26709,7 +27274,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27022,6 +27587,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27037,6 +27605,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28378,6 +28958,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28464,15 +29050,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30459,6 +31036,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31047,6 +31627,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/ru.po b/i18n/po/ru.po
index fb3efde..7a3887e 100644
--- a/i18n/po/ru.po
+++ b/i18n/po/ru.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-05 10:28+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-10 07:07+0000\n"
 "Last-Translator: Aleksey Kabanov <Unknown>\n"
 "Language-Team: Koptev Oleg <koptev.oleg at gmail.com>\n"
 "MIME-Version: 1.0\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:59+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:58+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: ru_RU\n"
 
 msgid "Note"
@@ -422,6 +422,9 @@ msgid ""
 msgstr ""
 "Невозможно объединить линии<br>(Их нельзя соединить в один ряд точек)"
 
+msgid "Reverse Ways"
+msgstr "Изменить направление линии"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Объединить {0} линию"
@@ -479,6 +482,12 @@ msgstr "Удалить"
 msgid "Delete selected objects."
 msgstr "Удалить выделенные объекты."
 
+msgid "Delete Layer"
+msgstr "Удалить слой"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Удалить активный слой. Не удаляет связанный с ним файл."
+
 msgid "Toggle dialogs panel"
 msgstr "Показать/скрыть панели"
 
@@ -1302,9 +1311,6 @@ msgstr "Щёлкните, чтобы перезапустить позже."
 msgid "Reverse way"
 msgstr "Развернуть линию"
 
-msgid "Reverse Ways"
-msgstr "Изменить направление линии"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Изменить направление всех выделенных линий."
 
@@ -1676,6 +1682,18 @@ msgstr ""
 "поскольку вы видите не весь объект.<br>Вы действительно хотите разъединить "
 "их?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Разъединение затронуло {0} отношение: {1}"
+msgstr[1] "Разъединение затронуло {0} отношения: {1}"
+msgstr[2] "Разъединение затронуло {0} отношений: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Убедитесь, что отношение не нарушено!"
+msgstr[1] "Убедитесь, что отношения не нарушены!"
+msgstr[2] "Убедитесь, что отношения не нарушены!"
+
 msgid "Disconnect Node from Way"
 msgstr "Отсоединить точку от линии"
 
@@ -2471,6 +2489,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Добавить выделение к отношению"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Добавить выделение к отношению</strong>: проверьте каждое "
+"отдельное отношение, чтобы избежать повреждений!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Добавить выделенное к {0} отношению"
@@ -2520,6 +2545,15 @@ msgstr[2] ""
 msgid "Confirmation"
 msgstr "Подтверждение"
 
+msgid "List of recent relations"
+msgstr "Список последних отношений"
+
+msgid "Open recent relation"
+msgstr "Открыть последнее отношение"
+
+msgid "Relation Editor: {0}"
+msgstr "Редактор отношений: {0}"
+
 msgid "Select in relation list"
 msgstr "Выбрать в списке отношений"
 
@@ -2893,8 +2927,11 @@ msgstr ""
 "Ошибка синтаксического разбора регулярного выражения \"{0}\":\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Ожидается <i>min</i>/<i>max</i> после ''штампа времени''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr "Не удалось выполнить разбор метки времени ''{0}''"
+
+msgid "Expecting {0} after {1}"
+msgstr "Ожидалось {0} после {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Ожидается диапазон ID объектов"
@@ -3290,21 +3327,21 @@ msgstr "Уладить конфликты в списке участников 
 
 msgid "Resolve {0} tag conflict in node {1}"
 msgid_plural "Resolve {0} tag conflicts in node {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 {0} tag conflict in way {1}"
 msgid_plural "Resolve {0} tag conflicts in way {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 {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}"
@@ -3547,9 +3584,6 @@ msgstr ""
 "Пытаться использовать сеть IPv6, предпочитая IPv6 вместо IPv4 (работает "
 "только в начале запуска)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (в строке {0}, столбец {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Настройка {0}  была удалена, так как она больше не используется."
 
@@ -3609,6 +3643,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "В"
 
+msgid "Update default entries"
+msgstr "Обновить доступные по умолчанию подложки"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "Проекция ''{0}'' не найдена, закладка ''{1}'' непригодна к использованию"
@@ -3861,6 +3898,9 @@ msgstr "текст"
 msgid "areatext"
 msgstr "для_текста"
 
+msgid " (at line {0}, column {1})"
+msgstr " (в строке {0}, столбец {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "Проекции UTM (''+proj=utm'') требуется параметр ''+zone=...''."
 
@@ -3943,12 +3983,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr "Двойная стереографическая"
+msgid "Albers Equal Area"
+msgstr "Равновеликая проекция Альберса"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Требуется параметр «{0}»."
 
+msgid "standard parallels are opposite"
+msgstr "стандартные параллели напротив друг друга"
+
+msgid "Cassini-Soldner"
+msgstr "Проекция Кассини-Зольднера"
+
+msgid "Double Stereographic"
+msgstr "Двойная стереографическая"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Равновеликая азимутальная проекция Ламберта"
+
 msgid "Lambert Conformal Conic"
 msgstr "Равноугольная коническая проекция Ламберта"
 
@@ -3958,6 +4010,25 @@ msgstr "Шир./долг. (геодезические)"
 msgid "Mercator"
 msgstr "Проекция Меркатора"
 
+msgid "Oblique Mercator"
+msgstr "Косая проекция Меркатора"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr "Неподходящие параметры ''{0}'' и ''{1}'' для метода двух точек."
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr "недопустимое значение для параметра ''{0}'': {1}"
+
+msgid "error in initialization"
+msgstr "ошибка при инициализации"
+
+msgid "Polar Stereographic"
+msgstr "Полярная стереографическая"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+"Полярная стереографическая: параметр ''{0}'' должен быть равен 90 или -90."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Швейцарская Проекция Меркатора"
 
@@ -4559,6 +4630,9 @@ msgstr "Неправильный пробел в написании ключа"
 msgid "Property values start or end with white space"
 msgstr "Значение начинается или заканчивается пробелом"
 
+msgid "Property values contain multiple white spaces"
+msgstr "Значения содержат несколько пробелов подряд"
+
 msgid "Property values contain HTML entity"
 msgstr "Значения содержат HTML разметку"
 
@@ -5299,9 +5373,6 @@ msgstr "Настройки снимков"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Щёлкните, чтобы открыть вкладку снимков в настройках"
 
-msgid "Search menu items"
-msgstr "Поиск пунктов меню"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Аудио"
@@ -5360,12 +5431,6 @@ msgstr "Передний план строки состояния: активн
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Географическая широта положения курсора"
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Географическая долгота положения курсора"
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Путевой угол создаваемого сегмента"
 
@@ -5394,6 +5459,18 @@ msgstr "Пользователь:"
 msgid "Do not hide status bar"
 msgstr "Не скрывать строку состояния"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Географическая широта положения курсора"
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Географическая долгота положения курсора"
+
 msgid "System of measurement changed to {0}"
 msgstr "Система измерений изменена на {0}"
 
@@ -6315,6 +6392,18 @@ msgstr ""
 "Открыть диалоговое окно для объединения выбранных в вышеуказанном списке "
 "объектов."
 
+msgid "Resolve to my versions"
+msgstr "Уладить до моих версий"
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr "Выбрать для всех неулаженных конфликтов \"мою\" версию"
+
+msgid "Resolve to their versions"
+msgstr "Уладить до их версий"
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr "Выбрать для всех неулаженных конфликтов \"их\" версию"
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Обнаружен {0} конфликт."
@@ -6441,6 +6530,9 @@ msgstr "Переместить фильтр вниз."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Фильтром спрятано:{0}, отключено:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Ошибка в фильтре <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Ошибка в фильтре"
 
@@ -6896,6 +6988,9 @@ msgstr "Настройки стиля"
 msgid "Customize the style"
 msgstr "Настроить стиль"
 
+msgid "Search menu items"
+msgstr "Поиск пунктов меню"
+
 msgid "Mini map"
 msgstr "Мини-карта"
 
@@ -7264,21 +7359,15 @@ msgstr[2] ""
 "<html>Ни один из выделенных объектов не доступен в текущем<br> редактируемом "
 "слое ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Скачать содержимое"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Скачать содержимое пакета правок с сервера OSM"
-
-msgid "Update content"
-msgstr "Обновить содержимое"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Обновить содержимое пакета правок с сервера OSM"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Загрузить и показать историю выбранных объектов"
 
+msgid "Download objects"
+msgstr "Загрузить объекты"
+
+msgid "Download the current version of the selected objects"
+msgstr "Скачать текущую версию выделенных объектов"
+
 msgid "Select in layer"
 msgstr "Выделить в слое"
 
@@ -7384,6 +7473,18 @@ msgstr "открыт"
 msgid "closed"
 msgstr "закрыт"
 
+msgid "Download content"
+msgstr "Скачать содержимое"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Скачать содержимое пакета правок с сервера OSM"
+
+msgid "Update content"
+msgstr "Обновить содержимое"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Обновить содержимое пакета правок с сервера OSM"
+
 msgid "Changeset ID: "
 msgstr "ID пакета правок: "
 
@@ -7755,8 +7856,8 @@ msgstr "Изменить значение выбранного ключа для
 msgid "Edit Tags"
 msgstr "Редактировать теги"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Открыть описание тега в OSM wiki (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "Посмотреть справку для тега в OSM wiki"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Открыть браузер с описанием wiki для выбранного объекта"
@@ -7791,6 +7892,9 @@ msgstr "Копировать все ключи и значения"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Скопировать ключи и значения всех тегов в буфер обмена"
 
+msgid "Copy Tags"
+msgstr "Копировать теги"
+
 msgid "Search Key/Value/Type"
 msgstr "Искать ключ/значение/тип"
 
@@ -7864,6 +7968,27 @@ msgstr "Задать количество недавно добавленных
 msgid "Remember last used tags after a restart"
 msgstr "Помнить недавно добавленные теги после перезапуска"
 
+msgid "Recent tags with existing key"
+msgstr "Последние теги с существующим ключом"
+
+msgid "Enable"
+msgstr "Включить"
+
+msgid "Hide"
+msgstr "Скрытая"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr "Обновить список последних тегов после применения тега"
+
+msgid "No refresh"
+msgstr "Не обновлять"
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr "Обновить только статус тегов (включен/отключен)"
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr "Обновить статус тегов и список последних добавленных тегов"
+
 msgid "to apply first suggestion"
 msgstr "для применения первого предложения"
 
@@ -7989,9 +8114,6 @@ msgstr "Новое отношение"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Фокус редактора отношений  с отношением ''{0}'' в слое ''{1}''"
 
-msgid "Relation Editor: {0}"
-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 "
@@ -8032,126 +8154,91 @@ msgstr ""
 "себя.<br><br>Это приводит к циклическим ссылкам и поэтому не "
 "поддерживается.<br>Отношение ''{0}'' будет пропущено.</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr ""
-"Добавить все объекты, выделенные в текущем наборе, перед первым участником"
+msgid "Select previous Gap"
+msgstr "Выбрать предыдущий разрыв"
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
-"Добавить все объекты, выделенные в текущем наборе, перед первым выбранным "
-"участником"
+"Выбрать предыдущего участника отношения - виновника разрыва "
+"последовательности"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Добавить все объекты, выделенные в текущем наборе, после последнего "
-"выбранного участника"
+msgid "Select next Gap"
+msgstr "Выбрать следующий разрыв"
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
-"Удалить всех участников, ссылающихся на какой-нибудь из выделенных объектов"
+"Выбрать следующего участника отношения - виновника разрыва последовательности"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr "Выбрать участников, которые ссылаются на объекты в текущем выделении"
+msgid "Zoom to Gap"
+msgstr "Масштабировать к разрыву"
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr ""
-"Выбрать участников, которые ссылаются на объекты ({0}) в текущем выделении"
+msgid "Zoom to the gap in the way sequence"
+msgstr "Масштабировать к разрыву в последовательности линии"
 
-msgid "Select objects for selected relation members"
-msgstr "Выделить объекты для выбранных участников отношения"
+msgid "Refers to"
+msgstr "Ссылается на"
 
-msgid "Sort the relation members"
-msgstr "Сортировать участников отношений"
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr "Не удалось добавить {0}, так как это не часть набора данных"
 
-msgid "Relation Editor: Sort"
-msgstr "Редактор отношений: сортировать"
+msgid "Download referring relations"
+msgstr "Скачать ссылающиеся отношения"
 
-msgid "Sort below"
-msgstr "Сортировать расположенных ниже"
+msgid "There were {0} conflicts during import."
+msgstr "За время импорта произошло {0} конфликт(ов)"
 
-msgid "Sort the selected relation members and all members below"
-msgstr ""
-"Сортировать выделенных участников отношений и всех расположенных ниже"
+msgid "including immediate children of parent relations"
+msgstr "включая непосредственные дочерние элементы отношений"
 
-msgid "Reverse the order of the relation members"
-msgstr "Поменять порядок участников отношения на обратный"
+msgid "Load parent relations"
+msgstr "Скачать родителей отношения"
 
-msgid "Reverse"
-msgstr "В обратном порядке"
+msgid "Reload"
+msgstr "Обновить"
 
-msgid "Move the currently selected members up"
-msgstr "Переместить выделенных участников отношения вверх"
+msgid "Loading parent relations"
+msgstr "Скачивание родителей отношения"
 
-msgid "Relation Editor: Move Up"
-msgstr "Редактор отношений: поднять"
+msgid "Edit the currently selected relation"
+msgstr "Изменить выбранное отношение"
 
-msgid "Move the currently selected members down"
-msgstr "Переместить выделенных участников отношения вниз"
+msgid "Apply Changes"
+msgstr "Применить изменения"
 
-msgid "Relation Editor: Move Down"
-msgstr "Редактор отношений: опустить"
+msgid "Create new relation in layer ''{0}''"
+msgstr "Изменить новое отношение в слое ''{0}''"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Удалить отмеченных участников из отношения"
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Изменить новое отношение в слое ''{0}''"
 
-msgid "Relation Editor: Remove"
-msgstr "Редактор отношений: удалить"
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Изменить отношение #{0} в слое ''{1}''"
 
-msgid "Delete the currently edited relation"
-msgstr "Удалить редактируемое отношение"
+msgid "Load relation"
+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 "Да, создать конфликт и закрыть"
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr "Щёлкните, чтобы создать конфликт и закрыть этот редактор отношений"
-
-msgid "No, continue editing"
-msgstr "Нет, продолжить правку"
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 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>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
-"<html>В слое ''{0}'' уже есть конфликт для объекта "
-"<br>''{1}''.<br>Пожалуйста, сначала уладьте этот конфликт, затем попытайтесь "
-"снова.</html>"
+"Добавить все объекты, выделенные в текущем наборе, перед первым выбранным "
+"участником"
 
 msgid "Apply the current updates"
 msgstr "Записать внесённые изменения"
 
-msgid "Apply the updates and close the dialog"
-msgstr "Применить обновления и закрыть диалог"
-
 msgid "Cancel the updates and close the dialog"
 msgstr "Отменить обновления и закрыть диалог"
 
@@ -8170,6 +8257,10 @@ msgstr "Нажмите, чтобы отменить изменения и зак
 msgid "Cancel, continue editing"
 msgstr "Отменить, продолжить редактирование"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+"Нажмите, чтобы вернуться к редактору отношений и продолжить правку отношения"
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -8179,8 +8270,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr "Несохранённые изменения"
 
-msgid "Add an empty tag"
-msgstr "Добавить пустой тег"
+msgid "Delete the currently edited relation"
+msgstr "Удалить редактируемое отношение"
+
+msgid "Relation Editor: Download Members"
+msgstr "Редактор отношений: скачать участников"
 
 msgid "Download all incomplete members"
 msgstr "Скачать всех неполных участников"
@@ -8188,41 +8282,26 @@ msgstr "Скачать всех неполных участников"
 msgid "Download Members"
 msgstr "Скачать участников"
 
-msgid "Relation Editor: Download Members"
-msgstr "Редактор отношений: скачать участников"
-
 msgid "Download selected incomplete members"
 msgstr "Скачать с сервера выделенных неполных участников"
 
-msgid "Sets a role for the selected members"
-msgstr "Задать роль для выделенных участников"
-
-msgid "Apply Role"
-msgstr "Применить роль"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "Вы задаёте пустую роль для {0} объекта"
-msgstr[1] "Вы задаёте пустую роль для {0} объектов"
-msgstr[2] "Вы задаёте пустую роль для {0} объектов"
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "Это эквивалентно удалению ролей из них."
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Выделенный, при редактировании отношения, участник относится к"
 
-msgid "Do you really want to apply the new role?"
-msgstr "Вы действительно хотите назначить новую роль?"
+msgid "Relation Editor: Move Down"
+msgstr "Редактор отношений: опустить"
 
-msgid "Yes, apply it"
-msgstr "Да, записать"
+msgid "Move the currently selected members down"
+msgstr "Переместить выделенных участников отношения вниз"
 
-msgid "No, do not apply"
-msgstr "Нет, не записывать"
+msgid "Relation Editor: Move Up"
+msgstr "Редактор отношений: поднять"
 
-msgid "Confirm empty role"
-msgstr "Подтвердить пустую роль"
+msgid "Move the currently selected members up"
+msgstr "Переместить выделенных участников отношения вверх"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Выделенный, при редактировании отношения, участник относится к"
+msgid "Apply the updates and close the dialog"
+msgstr "Применить обновления и закрыть диалог"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
@@ -8231,65 +8310,142 @@ msgstr ""
 "Элементы из буфера обмена не могут быть добавлены потому, что они не "
 "относятся к текущему слою"
 
-msgid "Select previous Gap"
-msgstr "Выбрать предыдущий разрыв"
+msgid "Relation Editor: Refresh"
+msgstr "Редактор отношений: Обновить"
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
+msgstr "Обновить отношение из слоя данных"
+
+msgid "Refresh"
+msgstr "Обновить"
+
+msgid "Yes, discard changes and reload"
+msgstr "Да, отменить изменения и перезагрузить данные"
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr "Нажмите, чтобы отменить изменения и перезагрузить данные из слоя"
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
-"Выбрать предыдущего участника отношения - виновника разрыва "
-"последовательности"
+"<html>В этом окне редактора есть не сохранённые изменения.<br><br>Отменить "
+"эти изменения и перезагрузить данные из слоя?</html>"
 
-msgid "Select next Gap"
-msgstr "Выбрать следующий разрыв"
+msgid "Click to close window"
+msgstr "Нажмите, чтобы закрыть окно"
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "No, continue editing"
+msgstr "Нет, продолжить правку"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
-"Выбрать следующего участника отношения - виновника разрыва последовательности"
+"<html>Отношение было удалено вне редактора.<br><br>Закрыть это окно?</html>"
 
-msgid "Zoom to Gap"
-msgstr "Масштабировать к разрыву"
+msgid "Deleted relation"
+msgstr "Удалённое отношение"
 
-msgid "Zoom to the gap in the way sequence"
-msgstr "Масштабировать к разрыву в последовательности линии"
+msgid "Relation Editor: Remove"
+msgstr "Редактор отношений: удалить"
 
-msgid "Refers to"
-msgstr "Ссылается на"
+msgid "Remove the currently selected members from this relation"
+msgstr "Удалить отмеченных участников из отношения"
 
-msgid "Download referring relations"
-msgstr "Скачать ссылающиеся отношения"
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
+"Удалить всех участников, ссылающихся на какой-нибудь из выделенных объектов"
 
-msgid "There were {0} conflicts during import."
-msgstr "За время импорта произошло {0} конфликт(ов)"
+msgid "Reverse the order of the relation members"
+msgstr "Поменять порядок участников отношения на обратный"
 
-msgid "including immediate children of parent relations"
-msgstr "включая непосредственные дочерние элементы отношений"
+msgid "Reverse"
+msgstr "В обратном порядке"
 
-msgid "Load parent relations"
-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 "Reload"
-msgstr "Обновить"
+msgid "Yes, create a conflict and close"
+msgstr "Да, создать конфликт и закрыть"
 
-msgid "Loading parent relations"
-msgstr "Скачивание родителей отношения"
+msgid "Click to create a conflict and close this relation editor"
+msgstr "Щёлкните, чтобы создать конфликт и закрыть этот редактор отношений"
 
-msgid "Edit the currently selected relation"
-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 "Apply Changes"
-msgstr "Применить изменения"
+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 "Create new relation in layer ''{0}''"
-msgstr "Изменить новое отношение в слое ''{0}''"
+msgid "Select objects for selected relation members"
+msgstr "Выделить объекты для выбранных участников отношения"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Изменить новое отношение в слое ''{0}''"
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr "Выбрать участников, которые ссылаются на объекты в текущем выделении"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Изменить отношение #{0} в слое ''{1}''"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Выбрать участников, которые ссылаются на объекты ({0}) в текущем выделении"
 
-msgid "Load relation"
-msgstr "Скачать отношение"
+msgid "Sets a role for the selected members"
+msgstr "Задать роль для выделенных участников"
+
+msgid "Apply Role"
+msgstr "Применить роль"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "Вы задаёте пустую роль для {0} объекта"
+msgstr[1] "Вы задаёте пустую роль для {0} объектов"
+msgstr[2] "Вы задаёте пустую роль для {0} объектов"
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "Это эквивалентно удалению ролей из них."
+
+msgid "Do you really want to apply the new role?"
+msgstr "Вы действительно хотите назначить новую роль?"
+
+msgid "Yes, apply it"
+msgstr "Да, записать"
+
+msgid "No, do not apply"
+msgstr "Нет, не записывать"
+
+msgid "Confirm empty role"
+msgstr "Подтвердить пустую роль"
+
+msgid "Relation Editor: Sort"
+msgstr "Редактор отношений: сортировать"
+
+msgid "Sort the relation members"
+msgstr "Сортировать участников отношений"
+
+msgid "Sort below"
+msgstr "Сортировать расположенных ниже"
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
+"Сортировать выделенных участников отношений и всех расположенных ниже"
 
 msgid "way is connected"
 msgstr "линия соединена"
@@ -8726,6 +8882,12 @@ msgid ""
 msgstr ""
 "<html>Версия <strong>{0}</strong> Создано на <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "У этого пакета изменений {0} комментарий"
+msgstr[1] "У этого пакета изменений {0} комментария"
+msgstr[2] "У этого пакета изменений {0} комментариев"
+
 msgid "Changeset"
 msgstr "Пакет правок"
 
@@ -8853,15 +9015,18 @@ msgid "Upload"
 msgstr "Передать на сервер"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+"Выберите, какое действие выполнить для этого слоя по нажатию самой левой "
+"кнопки."
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
 msgstr ""
-"<html>Выберите, какие действия произвести с текущим слоем, если вы нажмете "
-"самую левую кнопку.<br/>Отметьте \"Передать...\" чтобы передать изменения на "
-"сервер OSM.<br/>Отметьте \"Сохранить\" чтобы сохранить слой в файл, "
-"указанный слева.</html>"
+"Включите \"Передать на сервер\" для отправки изменений на сервер OSM."
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
+msgstr "Включите \"Сохранить\" для сохранения слоя в указанный слева файл."
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Прокомментируйте данные, передаваемые на сервер:"
@@ -9064,9 +9229,6 @@ msgid ""
 msgstr ""
 "Не удалось получить информацию о текущем пользователе JOSM. Ошибка: {0}"
 
-msgid "Download objects"
-msgstr "Загрузить объекты"
-
 msgid "Initializing nodes to download ..."
 msgstr "Инициализация точек для загрузки..."
 
@@ -9715,8 +9877,8 @@ msgstr[0] "Удалить {0} объект:"
 msgstr[1] "Удалить {0} объекта:"
 msgstr[2] "Удалить {0} объектов:"
 
-msgid "Show Tile Info"
-msgstr "Показать данные квадрата"
+msgid "Show tile info"
+msgstr "Показать информацию о квадрате"
 
 msgid "Tile Info"
 msgstr "Информация о квадрате"
@@ -9724,17 +9886,23 @@ msgstr "Информация о квадрате"
 msgid "Metadata "
 msgstr "Метаданные "
 
-msgid "Auto Zoom"
+msgid "Load tile"
+msgstr "Скачать квадрат"
+
+msgid "Auto zoom"
 msgstr "Автомасштабирование"
 
 msgid "Auto load tiles"
 msgstr "Автозагрузка квадратов"
 
-msgid "Load All Tiles"
-msgstr "Загрузить все квадраты карты"
+msgid "Show errors"
+msgstr "Показывать ошибки"
+
+msgid "Load all tiles"
+msgstr "Скачать все квадраты"
 
-msgid "Load All Error Tiles"
-msgstr "Загрузить все квадраты с ошибками"
+msgid "Load all error tiles"
+msgstr "Скачать все квадраты с ошибками"
 
 msgid "Zoom to native resolution"
 msgstr "Увеличить до исходного разрешения"
@@ -9742,26 +9910,17 @@ msgstr "Увеличить до исходного разрешения"
 msgid "Change resolution"
 msgstr "Изменить разрешение"
 
-msgid "Failed to create tile source"
-msgstr "Не удалось создать источник тайлов"
-
-msgid "Show Errors"
-msgstr "Показать ошибки"
-
-msgid "Load Tile"
-msgstr "Загрузить квадрат карты"
-
 msgid "Increase zoom"
 msgstr "Увеличить масштаб"
 
 msgid "Decrease zoom"
 msgstr "Уменьшить масштаб"
 
-msgid "Snap to tile size"
-msgstr "Привязаться к размеру квадрата"
+msgid "Flush tile cache"
+msgstr "Сбросить кэш квадратов"
 
-msgid "Flush Tile Cache"
-msgstr "Очистить кэш квадратов карты"
+msgid "Failed to create tile source"
+msgstr "Не удалось создать источник тайлов"
 
 msgid "zoom in to load any tiles"
 msgstr "приблизьте для загрузки квадратов"
@@ -10217,6 +10376,9 @@ msgstr ""
 "Ошибка при разборе смещения.\n"
 "Ожидаемый формат: {0}"
 
+msgid "Geotagged Images"
+msgstr "Изображения с данными о местоположении"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Извлечение GPS координат из EXIF"
 
@@ -10241,9 +10403,6 @@ msgstr "Ошибка чтения файлов в каталоге {0}\n"
 msgid "One of the selected files was null"
 msgstr "Один из выделенных файлов пуст"
 
-msgid "Geotagged Images"
-msgstr "Изображения с данными о местоположении"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "Загружено {0} изображение."
@@ -10644,12 +10803,8 @@ msgstr[2] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Не удалось выполнить разбор стилей Mappaint из ''{0}''. Ошибка: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Обнаружен не рекомендуемый ''{0}'' в ''{1}'', который вскоре будет удалён. "
-"Используйте взамен ''{2}''."
+msgid "Failed to locate image ''{0}''"
+msgstr "Не удалось найти изображение «{0}»"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr ""
@@ -10699,6 +10854,12 @@ msgstr "URL маркера доступа"
 msgid "Authorize URL:"
 msgstr "URL авторизации:"
 
+msgid "OSM login URL:"
+msgstr "URL входа в OSM:"
+
+msgid "OSM logout URL:"
+msgstr "URL выхода из OSM:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Нажмите, чтобы сбросить настройки OAuth к значениям по умолчанию"
 
@@ -10772,13 +10933,6 @@ msgstr "Пользователь: "
 msgid "Password: "
 msgstr "Пароль: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Внимание:</strong> JOSM осуществляет вход <strong>один раз</strong>, "
-"используя защищенное соединение."
-
 msgid "Granted rights"
 msgstr "Предоставить права"
 
@@ -10921,6 +11075,15 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Пожалуйста, выберите способ авторизации: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+"<strong>Внимание:</strong> Поскольку вы используете не стандартный OSM API, "
+"не забудьте настроить ключ потребителя OAuth и криптоключ в <i>Расширенных "
+"настройках OAuth</i>."
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Получить маркер доступа для ''{0}''"
 
@@ -11326,6 +11489,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr "Панель инструментов: {0}"
 
+msgid "add entry"
+msgstr "добавить запись"
+
+msgid "Remove the selected entry"
+msgstr "Удалить выбранную запись"
+
+msgid "Key: {0}"
+msgstr "Ключ: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Расширенные настройки"
 
@@ -11416,18 +11588,9 @@ msgstr "Выберите файл профиля"
 msgid "Change list setting"
 msgstr "Изменить параметры списка"
 
-msgid "Key: {0}"
-msgstr "Ключ: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Изменить параметры списка списков"
 
-msgid "add entry"
-msgstr "добавить запись"
-
-msgid "Remove the selected entry"
-msgstr "Удалить выбранную запись"
-
 msgid "Change list of maps setting"
 msgstr "Изменить параметры списка карт"
 
@@ -12085,7 +12248,7 @@ msgid "Maximum size of disk cache (per imagery) in MB: "
 msgstr "Максимальный размер дискового кэша (для снимка) в МБ: "
 
 msgid "Tiles zoom offset:"
-msgstr ""
+msgstr "Смещение масштаба квадратов:"
 
 msgid "Imagery Preferences"
 msgstr "Установки Снимка"
@@ -12132,9 +12295,6 @@ msgstr "скопировать выбранные из доступных по 
 msgid "Please select at least one row to copy."
 msgstr "Пожалуйста, выберите, хотя бы одну строчку для копирования."
 
-msgid "reload defaults"
-msgstr "перезагрузить доступные по умолчанию"
-
 msgid "Menu Name"
 msgstr "Название меню"
 
@@ -12448,6 +12608,9 @@ msgstr[1] ""
 msgstr[2] ""
 "Скачивание с сервера следующих {0} модулей <strong>не удалось</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Сообщение об ошибке (на английском): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 "Пожалуйста, перезапустите JOSM, чтобы активировать загруженные модули."
@@ -13121,12 +13284,6 @@ msgstr "Числовые значения"
 msgid "Checks for wrong numeric values"
 msgstr "Проверка на неправилные числовые значения"
 
-msgid "Power"
-msgstr "Электроэнергия"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Проверка на ошибки инфраструктуры электроснабжения"
-
 msgid "Religion"
 msgstr "Религия"
 
@@ -13217,6 +13374,9 @@ msgstr "Использовать заготовку ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Поддерживается элемент типа {0}."
 
+msgid "This preset also sets: {0}"
+msgstr "Эта заготовка также добавляет: {0}"
+
 msgid "Edit also …"
 msgstr "Изменить также..."
 
@@ -13291,6 +13451,9 @@ msgstr "Поиск заготовок"
 msgid "Presets"
 msgstr "Заготовки"
 
+msgid "Search for objects by preset..."
+msgstr "Поиск объектов по заготовке..."
+
 msgid "Search for objects by preset"
 msgstr "Поиск объектов по заготовке"
 
@@ -13344,6 +13507,9 @@ msgstr ""
 "Испорченная заготовка тегов \"{0}-{1}\" - количество элементов в "
 "''short_descriptions'' должно быть таким же, как и в ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "Это соответствует ключу ''{0}''"
+
 msgid "More information about this feature"
 msgstr "Подробнее"
 
@@ -13441,16 +13607,32 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "false: параметр явно выключен"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "false: свойство  ''{0}'' явно выключено"
+
 msgid "true: the property is explicitly switched on"
 msgstr "true: параметр явно включён"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "true: свойство  ''{0}'' явно включено"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "частично: выделенные объекты имеют различные значения, не изменяйте"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+"partial: у различных выбранных объектов различные значения ''{0}'', не "
+"изменяются"
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "unset: не устанавливать этот параметр у выделенных объектов"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr "unset: не устанавливать свойство ''{0}'' у выделенных объектов"
+
 msgid "Cut"
 msgstr "Вырезать"
 
@@ -13995,6 +14177,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Непредвиденное значение параметра ''{0}'', равное ''{1}''."
 
+msgid "OSM Server Files"
+msgstr "Файлы сервера OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Произошла ошибка при сохранении.<br>Ошибка: <br>{0}</html>"
 
@@ -14011,9 +14196,6 @@ msgstr "Файлы сервера OSM сжаты с помощью gzip"
 msgid "Parsing OSM history data ..."
 msgstr "Разбор данных истории OSM..."
 
-msgid "OSM Server Files"
-msgstr "Файлы сервера OSM"
-
 msgid "Invalid dataset"
 msgstr "Неверный набор данных"
 
@@ -14225,9 +14407,6 @@ msgstr "Передача данных на сервер ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Обнаружен неожиданный id 0 для элемента osm"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Сжатые zip файлы OSM сервера"
-
 msgid "Downloading data..."
 msgstr "Скачивание данных..."
 
@@ -14414,24 +14593,29 @@ msgstr ""
 "Удалённое управление запросило отправку версии протокола. Это позволит веб-"
 "сайтам обнаружить запущенный JOSM."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Версия «{0}» метаданных для слоя геоизображения не поддерживается. "
-"Ожидалась: 0.1"
+msgid "local file"
+msgstr "локальный файл"
+
+msgid "include"
+msgstr "включить"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Слой содержит несохранённые данные - сохранить в файл."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Слой не содержит несохранённых данных."
 
 msgid "Data:"
 msgstr "Данные:"
 
-msgid "local file"
-msgstr "локальный файл"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Ссылка на OSM-файл на локальном диске"
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Ссылка на GPX-файл на вашем локальном диске."
+msgid "Include OSM data in the .joz session file."
+msgstr "Включить данные OSM в файл сеанса .joz."
 
-msgid "include"
-msgstr "включить"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Ссылка на GPX-файл на вашем локальном диске."
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Включить данные GPX в файл сеанса .joz."
@@ -14442,6 +14626,16 @@ msgstr "Тип файла не зарегистрирован"
 msgid "GPX data will be included in the session file."
 msgstr "Данные GPX будут включены в файл сеанса."
 
+msgid "OSM data will be included in the session file."
+msgstr "Данные OSM будут включены в файл сеанса."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Версия «{0}» метаданных для слоя геоизображения не поддерживается. "
+"Ожидалась: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14462,20 +14656,10 @@ msgid ""
 msgstr ""
 "Версия ''{0}'' метаданных для слоя маркеров не поддерживается. Ожидалась: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Слой содержит несохранённые данные - сохранить в файл."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Слой не содержит несохранённых данных."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Ссылка на OSM-файл на локальном диске"
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Включить данные OSM в файл сеанса .joz."
-
-msgid "OSM data will be included in the session file."
-msgstr "Данные OSM будут включены в файл сеанса."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
+"Версия ''{0}'' метаданных для слоя заметок не поддерживается. Ожидалась: 0.1"
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15374,9 +15558,6 @@ msgstr ""
 "много данных.<br>Выделите меньшую область или воспользуйтесь средствами "
 "экспорта файлов OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Сообщение об ошибке (на английском): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15421,6 +15602,9 @@ msgstr "Загрузка перенаправлена на ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Обнаружено слишком много перенаправлений на URL загрузки. Отмена."
 
+msgid "Fetching content..."
+msgstr "Получение содержимого..."
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Невозможно найти перевод {0}. Возвращено к {1}."
 
@@ -15431,9 +15615,6 @@ msgstr ""
 "Случилась беда: не удалось обнаружить изображение ''{0}''. Это серьёзная "
 "проблема конфигурации. JOSM прекращает работу."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Не удалось найти изображение «{0}»"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Не удалось обработать zip-файл ''{0}''. Возникло исключение: {1}"
 
@@ -15591,6 +15772,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr "Не удалось удалить файл {0}"
 
+msgid "Unable to create directory {0}"
+msgstr "Не удалось создать каталог {0}"
+
 msgid "ms"
 msgstr "мс"
 
@@ -15922,9 +16106,6 @@ msgstr "Открыть выбранный файл"
 msgid "Open selected file."
 msgstr "Открыть выбранный файл"
 
-msgid "Refresh"
-msgstr "Обновить"
-
 msgid "Rename File"
 msgstr "Переименовать файл"
 
@@ -16018,6 +16199,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Общественный транспорт (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (немецкий стиль)"
 
@@ -16084,6 +16268,9 @@ msgstr "OSM Inspector: адреса"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: границы (ЕС)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr "SIG Национальный географический институт Аргентины (WMTS)"
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI черно-белая 2.5м"
 
@@ -16180,14 +16367,17 @@ msgstr "URBIS 2015 - аэрофотосъёмка"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW(allonie) цифровое изображение PICC"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "Аэрофотосъёмка SPW(allonie) 2012"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW(allonie) 2015 аэрофотосъёмка"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "Аэрофотосъёмка SPW(allonie) 2009"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW(allonie) 2012-2013 аэрофотосъёмка"
 
-msgid "TEC bus lines"
-msgstr "TEC - автобусные маршруты"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW(allonie) 2009-2010 аэрофотосъёмка"
+
+msgid "TEC bus lines (2014)"
+msgstr "TEC автобусные маршруты (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE: карта городских районов"
@@ -16309,6 +16499,9 @@ msgstr "SIG L-R - Лангедок-Руссильон 2012 - 20 см"
 msgid "Route 500™©®"
 msgstr "Route 500™ ©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Тулуза - ортофотоплан 2015"
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Тулуза - ортофотоплан 2013"
 
@@ -16329,9 +16522,6 @@ msgid ""
 "- 1 m"
 msgstr "Веркор - заповедник горного массива Веркор - ортофото 1999 - 1 м"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (лужицкий язык)"
 
@@ -16404,6 +16594,15 @@ msgstr "Снимки с дрона 2014 (Гаити)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Canaan (Гаити) - съёмка с дрона, ноябрь 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr "FÖMI ортофото 2000"
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr "Interspect  - Будапешт, ортофото 2014"
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr "Пять округов Будапешта: III, IV, XIII, XIV, XV"
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ирландия, British War Office 1:25000 GSGS 3906"
 
@@ -16437,11 +16636,14 @@ msgstr "OSMIE - местные избирательные округа"
 msgid "OSMIE Dail Election Areas"
 msgstr "OSMIE - избирательные округа Палаты представителей (Дойл Эрен)"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr "Лоди - Италия"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Ломбардия - Италия (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Ломбардия - Италия (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Сицилия - Италия"
@@ -17157,6 +17359,9 @@ msgstr "Подкачивает новые данные при панорамир
 msgid "Create a grid of ways."
 msgstr "Создаёт сетку из линий."
 
+msgid "Customizing of public transport stops."
+msgstr "Настройка остановок общественного транспорта."
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -17919,6 +18124,105 @@ msgstr "ограничено"
 msgid "Brand"
 msgstr "Бренд"
 
+msgid "Cuisine"
+msgstr "Кухня"
+
+msgid "italian"
+msgstr "итальянская"
+
+msgid "chinese"
+msgstr "китайская"
+
+msgid "pizza"
+msgstr "пицца"
+
+msgid "burger"
+msgstr "бутерброды"
+
+msgid "greek"
+msgstr "греческая"
+
+msgid "german"
+msgstr "немецкая"
+
+msgid "indian"
+msgstr "индийская"
+
+msgid "regional"
+msgstr "местная"
+
+msgid "kebab"
+msgstr "шашлык"
+
+msgid "turkish"
+msgstr "турецкая"
+
+msgid "asian"
+msgstr "азиатская"
+
+msgid "thai"
+msgstr "тайская"
+
+msgid "mexican"
+msgstr "мексиканская"
+
+msgid "japanese"
+msgstr "японская"
+
+msgid "french"
+msgstr "французская"
+
+msgid "sandwich"
+msgstr "сэндвичи"
+
+msgid "coffee_shop"
+msgstr "кофейня"
+
+msgid "sushi"
+msgstr "суши"
+
+msgid "steak_house"
+msgstr "стейк-хаус"
+
+msgid "fish_and_chips"
+msgstr "рыба и чипсы"
+
+msgid "chicken"
+msgstr "курятина"
+
+msgid "american"
+msgstr "американская"
+
+msgid "ice_cream"
+msgstr "мороженное"
+
+msgid "international"
+msgstr "международная"
+
+msgid "seafood"
+msgstr "морепродукты"
+
+msgid "spanish"
+msgstr "испанская"
+
+msgid "vietnamese"
+msgstr "вьетнамская"
+
+msgid "fish"
+msgstr "рыба"
+
+msgid "noodle"
+msgstr "лапша"
+
+msgid "barbecue"
+msgstr "барбекю"
+
+msgid "vegetarian"
+msgstr "вегетарианская"
+
+msgid "korean"
+msgstr "корейская"
+
 msgid "Internet access"
 msgstr "Точка доступа в интернет"
 
@@ -18490,8 +18794,11 @@ msgstr "Макс. масса (в тоннах)"
 msgid "Toll"
 msgstr "Платная"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "Пересыхающий водоём (исчезает в жаркий сезон)?"
+msgid "Intermittent"
+msgstr "Пересыхающий водоём"
+
+msgid "Seasonal"
+msgstr "Зависит от сезона"
 
 msgid "In the tidal range"
 msgstr "В зоне прилива"
@@ -18867,7 +19174,7 @@ msgid "Tourist buses"
 msgstr "Туристические автобусы"
 
 msgid "Max. speed Heavy Goods Vehicles (km/h)"
-msgstr ""
+msgstr "Макс. скорость тяжелого грузового транспорта (км/ч)"
 
 msgid "Min. speed (km/h)"
 msgstr "Мин. скорость (в км/ч)"
@@ -19261,26 +19568,30 @@ msgstr "При наличии светофора:"
 msgid "Traffic Calming"
 msgstr "Приспособление для ограничения скорости"
 
-msgid "bump"
-msgstr "лежачий полицейский"
+msgid "Bump"
+msgstr "Лежачий полицейский"
 
-msgid "chicane"
-msgstr "зигзагообразные препятствия"
+msgid "Chicane"
+msgstr "Шикана"
 
-msgid "choker"
-msgstr "сужение"
+msgid "Choker"
+msgstr "Сужение дороги"
 
-msgid "cushion"
-msgstr "лежачий полицейский с разрывами"
+msgid "Cushion"
+msgstr "Лежачий полицейский с разрывами"
 
-msgid "hump"
-msgstr "широкий лежачий полицейский"
+msgid "Hump"
+msgstr "Широкий лежачий полицейский"
 
-msgid "rumble_strip"
-msgstr "\"стиральная доска\""
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr "Островок"
 
-msgid "table"
-msgstr "стол"
+msgid "Rumble strip"
+msgstr "Стиральная доска"
+
+msgid "Table"
+msgstr "Стол"
 
 msgid "Passing Place"
 msgstr "Место разъезда"
@@ -19431,6 +19742,9 @@ msgstr "Городская стена"
 msgid "Retaining Wall"
 msgstr "Подпорная стена"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Канава"
@@ -19602,6 +19916,9 @@ msgstr "река"
 msgid "Salt Water"
 msgstr "Солёная вода"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "Пересыхающий водоём (исчезает в жаркий сезон)?"
+
 msgid "Coastline"
 msgstr "Береговая линия"
 
@@ -19666,16 +19983,6 @@ msgstr ""
 "Часть крупного водоёма, глубоко вдающаяся в сушу, но имеющая свободный "
 "водообмен с основной частью водоёма."
 
-msgid "Cliff"
-msgstr "Утёс"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Крутой скальный обрыв с близкими к вертикали склонами (скала должна быть "
-"слева от линии, обрыв — справа)."
-
 msgid "Shipping"
 msgstr "Судоходство"
 
@@ -20608,66 +20915,6 @@ msgstr "Общественное питание"
 msgid "Restaurant"
 msgstr "Ресторан"
 
-msgid "Cuisine"
-msgstr "Кухня"
-
-msgid "italian"
-msgstr "итальянская"
-
-msgid "chinese"
-msgstr "китайская"
-
-msgid "pizza"
-msgstr "пицца"
-
-msgid "burger"
-msgstr "бутерброды"
-
-msgid "greek"
-msgstr "греческая"
-
-msgid "german"
-msgstr "немецкая"
-
-msgid "indian"
-msgstr "индийская"
-
-msgid "regional"
-msgstr "местная"
-
-msgid "kebab"
-msgstr "шашлык"
-
-msgid "turkish"
-msgstr "турецкая"
-
-msgid "asian"
-msgstr "азиатская"
-
-msgid "thai"
-msgstr "тайская"
-
-msgid "mexican"
-msgstr "мексиканская"
-
-msgid "japanese"
-msgstr "японская"
-
-msgid "french"
-msgstr "французская"
-
-msgid "sandwich"
-msgstr "сэндвичи"
-
-msgid "coffee_shop"
-msgstr "кофейня"
-
-msgid "sushi"
-msgstr "суши"
-
-msgid "steak_house"
-msgstr "стейк-хаус"
-
 msgid "Microbrewery"
 msgstr "Пивоварня"
 
@@ -20680,20 +20927,14 @@ msgstr "Блюда на вынос"
 msgid "Fast Food"
 msgstr "Ресторан быстрого питания"
 
-msgid "fish_and_chips"
-msgstr "рыба и чипсы"
-
-msgid "chicken"
-msgstr "курятина"
-
 msgid "Food Court"
 msgstr "Ресторанный дворик"
 
 msgid "Cafe"
 msgstr "Кафе"
 
-msgid "ice_cream"
-msgstr "мороженное"
+msgid "Ice cream"
+msgstr "Мороженое"
 
 msgid "Pub"
 msgstr "Пивная"
@@ -20870,6 +21111,12 @@ msgstr "Парк развлечений/Тематический парк"
 msgid "Water Park"
 msgstr "Аквапарк"
 
+msgid "Swimming Pool"
+msgstr "Плавательный бассейн"
+
+msgid "Used for the water area only."
+msgstr "Используется только для самой ванны бассейна (не здания)."
+
 msgid "Sauna"
 msgstr "Сауна"
 
@@ -20904,9 +21151,6 @@ msgstr "Место разведения костра"
 msgid "Fishing"
 msgstr "Место для рыбалки"
 
-msgid "Private Swimming Pool"
-msgstr "Частный плавательный бассейн"
-
 msgid "Night Club"
 msgstr "Ночной клуб"
 
@@ -20949,12 +21193,18 @@ msgstr "статуя"
 msgid "Artist Name"
 msgstr "Автор"
 
-msgid "Recording Studio"
-msgstr "Студия звукозаписи"
+msgid "Studio"
+msgstr "Студия"
 
 msgid "audio"
 msgstr "аудио"
 
+msgid "radio"
+msgstr "радио"
+
+msgid "television"
+msgstr "телевидение"
+
 msgid "video"
 msgstr "видео"
 
@@ -21058,6 +21308,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "церковь адвентистов седьмого дня"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr "спиритизм"
+
 msgid "Mosque"
 msgstr "Мечеть"
 
@@ -21217,6 +21471,125 @@ msgstr "(Используйте международный код, наприм
 msgid "Veterinary"
 msgstr "Ветеринария"
 
+msgid "Emergency"
+msgstr "Экстренная помощь"
+
+msgid "Ambulance Station"
+msgstr "Станция скорой помощи"
+
+msgid "Automated Defibrillator"
+msgstr "Автоматизированный дефибриллятор"
+
+msgid "Located inside a building?"
+msgstr "Расположен внутри здания?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Дата последней проверки (ГГГГ-ММ-ДД)"
+
+msgid "Last check note"
+msgstr "Замечания последней проверки"
+
+msgid "Fire Extinguisher"
+msgstr "Огнетушитель"
+
+msgid "Indoor"
+msgstr "В помещении"
+
+msgid "Fire Hose"
+msgstr "Пожарный рукав"
+
+msgid "Fire Hydrant"
+msgstr "Пожарный кран"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "подземный"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "столб"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "настенный"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "у водоёма"
+
+msgid "Diameter (in mm)"
+msgstr "Диаметр (в мм)"
+
+msgid "Hydrant Position"
+msgstr "Расположение"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "переулок"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "автостоянка"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "тротуар"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "газон"
+
+msgid "Pressure (in bar)"
+msgstr "Давление (в барах)"
+
+msgid "suction"
+msgstr "всасывание"
+
+msgid "Count"
+msgstr "Количество"
+
+msgid "Water Tank"
+msgstr "Резервуар с водой"
+
+msgid "Volume (in liters)"
+msgstr "Объём (в литрах)"
+
+msgid "Assembly Point"
+msgstr "Точка сбора"
+
+msgid "Emergency Phone"
+msgstr "Телефон экстренного вызова"
+
+msgid "Siren"
+msgstr "Сирена"
+
+msgid "pneumatic"
+msgstr "пневматическая"
+
+msgid "electronic"
+msgstr "электронная"
+
+msgid "mechanical"
+msgstr "механическая"
+
+msgid "Purpose"
+msgstr "Назначение"
+
+msgid "tornado"
+msgstr "торнадо"
+
+msgid "fire"
+msgstr "пожар"
+
+msgid "air_raid"
+msgstr "воздушная тревога"
+
+msgid "civil_defense"
+msgstr "гражданская оборона"
+
+msgid "Range (in meters)"
+msgstr "Расстояние слышимости (в метрах)"
+
 msgid "Social Facility"
 msgstr "Социальные услуги"
 
@@ -21233,14 +21606,14 @@ msgid "Assisted Living"
 msgstr ""
 
 msgid "Outreach"
-msgstr ""
+msgstr "Социальное учреждение без проживания"
 
 msgctxt "social_facility"
 msgid "Shelter"
-msgstr ""
+msgstr "Учреждение для временного проживания или ночлега"
 
 msgid "Food Bank"
-msgstr ""
+msgstr "Кухня или столовая для бездомных"
 
 msgid "Toilets/Restrooms"
 msgstr "Общественный туалет"
@@ -21329,24 +21702,9 @@ msgstr "Банкноты"
 msgid "Telephone cards"
 msgstr "Телефонные карты"
 
-msgid "Emergency Phone"
-msgstr "Телефон экстренного вызова"
-
 msgid "Internet Access"
 msgstr "Доступ в интернет"
 
-msgid "Automated Defibrillator"
-msgstr "Автоматизированный дефибриллятор"
-
-msgid "Located inside a building?"
-msgstr "Расположен внутри здания?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Дата последней проверки (ГГГГ-ММ-ДД)"
-
-msgid "Last check note"
-msgstr "Замечания последней проверки"
-
 msgid "Clock"
 msgstr "Часы"
 
@@ -21509,64 +21867,15 @@ msgctxt "height"
 msgid "full"
 msgstr "полная"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Скрытая"
+msgstr "Укрытие"
 
 msgid "Lock"
 msgstr "Запирается"
 
-msgid "Indoor"
-msgstr "В помещении"
-
-msgid "Fire Hydrant"
-msgstr "Пожарный кран"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "подземный"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "столб"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "настенный"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "у водоёма"
-
-msgid "Diameter (in mm)"
-msgstr "Диаметр (в мм)"
-
-msgid "Hydrant Position"
-msgstr "Расположение"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "переулок"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "автостоянка"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "тротуар"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "газон"
-
-msgid "Pressure (in bar)"
-msgstr "Давление (в барах)"
-
-msgid "suction"
-msgstr "всасывание"
-
-msgid "Count"
-msgstr "Количество"
+msgid "Water Point"
+msgstr "Пункт набора воды"
 
 msgid "Compressed Air"
 msgstr "Компрессор для шин"
@@ -21619,9 +21928,62 @@ msgstr "тартан"
 msgid "Racetrack"
 msgstr "Трек"
 
+msgid "Golf"
+msgstr "Гольф"
+
 msgid "Golf Course"
 msgstr "Поле для гольфа"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr "Стартовая площадка"
+
+msgctxt "golf"
+msgid "Hole"
+msgstr "Путь к лунке"
+
+msgid "Par"
+msgstr "Пар"
+
+msgid "Handicap rating"
+msgstr "Рейтинг препятствия"
+
+msgctxt "golf"
+msgid "Pin"
+msgstr "Лунка"
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr "Бункер"
+
+msgctxt "golf"
+msgid "Natural"
+msgstr "Наполнитель"
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr "Фронтальная водная преграда"
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr "Боковая водная преграда"
+
+msgctxt "golf"
+msgid "Green"
+msgstr "Лужайка"
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr "Гладкое поле"
+
+msgctxt "golf"
+msgid "Rough"
+msgstr "Неровное поле"
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr "Тренировочная зона"
+
 msgid "Miniature Golf"
 msgstr "Поле для минигольфа"
 
@@ -21846,9 +22208,6 @@ msgstr "Пляжный волейбол"
 msgid "Billiards"
 msgstr "Бильярд"
 
-msgid "Golf"
-msgstr "Гольф"
-
 msgid "golf_course"
 msgstr "поле для гольфа"
 
@@ -22013,6 +22372,10 @@ msgid "gasometer"
 msgstr "газгольдер"
 
 msgctxt "building"
+msgid "silo"
+msgstr "хранилище для сыпучих материалов"
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "коровник"
 
@@ -22021,6 +22384,38 @@ msgid "construction"
 msgstr "строительство"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "базилика"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "собор"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "часовня"
+
+msgctxt "building"
+msgid "church"
+msgstr "церковь"
+
+msgctxt "building"
+msgid "temple"
+msgstr "храм"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "мечеть"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "синагога"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr "трансформаторная башня"
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Этажи"
 
@@ -22133,6 +22528,9 @@ msgstr "Ветряная мельница"
 msgid "Gasometer"
 msgstr "Газгольдер"
 
+msgid "Silo"
+msgstr "Хранилище для сыпучих материалов"
+
 msgid "Storage Tank"
 msgstr "Резервуар"
 
@@ -22534,6 +22932,14 @@ msgstr "военное имущество"
 msgid "hardened_aircraft_shelter"
 msgstr "укреплённый ангар"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "подземный"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "надземный"
+
 msgid "Historic"
 msgstr "Имеет историческое значение"
 
@@ -22543,6 +22949,9 @@ msgstr "Развалины"
 msgid "Range"
 msgstr "Полигон"
 
+msgid "Power"
+msgstr "Электроэнергия"
+
 msgid "Power Plant"
 msgstr "Электростанция"
 
@@ -22976,11 +23385,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Распределительный шкаф"
+msgid "Power Street Cabinet"
+msgstr "Трансформаторная будка"
 
-msgid "Power Tower"
-msgstr "Опора ЛЭП"
+msgid "Transformer Tower"
+msgstr "Трансформаторная башня"
+
+msgid "Power Portal"
+msgstr "Портальная опора"
 
 msgid "Type of construction"
 msgstr "Конструкция"
@@ -23001,6 +23413,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "красно-белая"
 
+msgid "Portal design"
+msgstr "Дизайн портальной опоры"
+
+msgctxt "power"
+msgid "portal"
+msgstr "портал"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "двухуровневый портал"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "трехуровневый портал"
+
+msgid "Power Tower"
+msgstr "Опора ЛЭП"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Тип опоры"
@@ -23124,18 +23554,6 @@ msgid "guyed_h-frame"
 msgstr "H-образная с растяжками"
 
 msgctxt "power"
-msgid "portal"
-msgstr "портал"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "двухуровневый портал"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "трехуровневый портал"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "V-образная с растяжками"
 
@@ -23168,6 +23586,9 @@ msgstr "Свойства столба:"
 msgid "Transformer Attributes:"
 msgstr "Свойства трансформатора:"
 
+msgid "Insulator"
+msgstr "Изолятор"
+
 msgid "Power Line"
 msgstr "Линия электропередач"
 
@@ -23425,6 +23846,9 @@ msgstr "Мебельный"
 msgid "Kitchen"
 msgstr "Кухня"
 
+msgid "Houseware"
+msgstr "Домашняя утварь"
+
 msgid "Curtain"
 msgstr "Шторы"
 
@@ -23467,12 +23891,21 @@ msgstr "Для тела"
 msgid "Chemist"
 msgstr "Бытовая химия"
 
-msgid "Hairdresser/Barber"
-msgstr "Парикмахерская"
+msgid "Cosmetics"
+msgstr "Косметика"
+
+msgid "Perfumery"
+msgstr "Парфюмерия"
 
 msgid "Beauty"
 msgstr "Салон красоты"
 
+msgid "Tobacco"
+msgstr "Табачные изделия"
+
+msgid "Hairdresser/Barber"
+msgstr "Парикмахерская"
+
 msgid "Tattoo"
 msgstr "Татуировка"
 
@@ -23798,6 +24231,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Телекоммуникационная компания"
 
+msgid "Craft"
+msgstr "Мастерская"
+
+msgid "Carpenter"
+msgstr "Столяр или плотник"
+
+msgid "Shoemaker"
+msgstr "Пошив или ремонт обуви"
+
+msgid "Photographer"
+msgstr "Фотограф"
+
+msgid "Metal construction"
+msgstr "Изделия из металла"
+
+msgid "Electrician"
+msgstr "Электрик"
+
+msgid "Brewery"
+msgstr "Пивоварня"
+
+msgid "Plumber"
+msgstr "Сантехник"
+
+msgid "Sawmill"
+msgstr "Пилорама"
+
+msgid "Gardener"
+msgstr "Садовник или ландшафтный дизайнер"
+
+msgid "Winery"
+msgstr "Винодельня"
+
+msgid "Hvac"
+msgstr "Установка кондиционеров"
+
+msgid "Painter"
+msgstr "Маляр"
+
+msgid "Stonemason"
+msgstr "Каменщик"
+
+msgid "Handicraft"
+msgstr "Ручная работа"
+
+msgid "Pottery"
+msgstr "Гончарная мастерская"
+
+msgid "Key cutter"
+msgstr "Изготовление дубликатов ключей"
+
+msgid "Caterer"
+msgstr "Кейтеринговое агентство"
+
+msgid "Roofer"
+msgstr "Кровельщик"
+
+msgid "Beekeeper"
+msgstr "Пчеловод"
+
+msgid "Blacksmith"
+msgstr "Кузница"
+
+msgid "Locksmith"
+msgstr "Изготовление замков и ключей"
+
+msgid "Window construction"
+msgstr "Изготовление и установка окон"
+
+msgid "Upholsterer"
+msgstr "Драпировщик"
+
+msgid "Tiler"
+msgstr "Укладка плитки"
+
 msgid "Geography"
 msgstr "География"
 
@@ -23968,6 +24476,16 @@ msgstr "Долина"
 msgid "A low area between hills."
 msgstr "Линейно вытянутая область пониженного рельефа между холмами"
 
+msgid "Cliff"
+msgstr "Утёс"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Крутой скальный обрыв с близкими к вертикали склонами (скала должна быть "
+"слева от линии, обрыв — справа)."
+
 msgid "Cave Entrance"
 msgstr "Вход в пещеру"
 
@@ -24181,6 +24699,51 @@ msgstr "Сенокосный луг"
 msgid "Orchard"
 msgstr "Фруктовый сад"
 
+msgid "Trees"
+msgstr "Деревья"
+
+msgid "olive_trees"
+msgstr "оливковые деревья"
+
+msgid "apple_trees"
+msgstr "яблони"
+
+msgid "oil_palms"
+msgstr "масличные пальмы"
+
+msgid "orange_trees"
+msgstr "апельсины"
+
+msgid "almond_trees"
+msgstr "миндаль"
+
+msgid "banana_plants"
+msgstr "бананы"
+
+msgid "coconut_palms"
+msgstr "кокосовые пальмы"
+
+msgid "hazel_plants"
+msgstr "фундук"
+
+msgid "cherry_trees"
+msgstr "вишни"
+
+msgid "persimmon_trees"
+msgstr "хурма"
+
+msgid "walnut_trees"
+msgstr "грецкий орех"
+
+msgid "plum_trees"
+msgstr "сливы"
+
+msgid "peach_trees"
+msgstr "персики"
+
+msgid "tea_plants"
+msgstr "чайные растения"
+
 msgid "Vineyard"
 msgstr "Виноградники"
 
@@ -24979,9 +25542,6 @@ msgstr "{0} и {1} вместе с {2} и конфликтующие значе
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Подозрительная комбинация тегов: {0} и {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} использовать не рекомендуется"
-
 msgid "{0} is deprecated"
 msgstr "{0} устарел"
 
@@ -25010,9 +25570,8 @@ msgstr ""
 "Неправильное использование тега {0}. Удалите {1}, так как ясно, что название "
 "отсутствует, даже без дополнительного тега."
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr ""
-"Применять {0}={1} не рекомендуется. Используйте взамен мультиполигон."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr "{0} не рекомендуется. Используйте вместо этого мультиполигон."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -25064,6 +25623,15 @@ msgstr "необычно короткий ключ"
 msgid "{0} is inaccurate"
 msgstr "{0} — неточное значение"
 
+msgid "{0} is deprecated for {1}"
+msgstr "{0} не рекомендуется для {1}"
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr "{0} применять не рекомендуется. Используйте взамен префикс  {1}:"
+
+msgid "questionable key (ending with a number): {0}"
+msgstr "вызывающий сомнения ключ (заканчивается числом): {0}"
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} на точке. Должен использоваться на линии."
 
@@ -25079,6 +25647,9 @@ msgstr "{0} на линии. Следует использовать на точ
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} на линии. Должен использоваться в отношении"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr "{0} совместно с {1} на точке. Удалите {0}."
+
 msgid "{0} on a node"
 msgstr "{0} на точке"
 
@@ -25106,6 +25677,9 @@ msgstr "{0} должен быть соединён с линией"
 msgid "node connects waterway and bridge"
 msgstr "точка соединяет водный путь и мост"
 
+msgid "suspicious roundabout direction"
+msgstr "подозрительное направление кругового движения"
+
 msgid "abbreviated street name"
 msgstr "сокращённое обозначение улицы"
 
@@ -25149,8 +25723,8 @@ msgstr "тег layer со знаком +"
 msgid "layer should be between -5 and 5"
 msgstr "уровень должен быть от -5 до 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "level должен быть числом с приращением 0.5"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr "значения {0} должны быть только числами с необязательным шагом 0.5"
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -28901,8 +29475,8 @@ msgstr "снимков"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr "Шрифт дорожных знаков ''{0}'' имеет неверный формат."
 
-msgid "Could not read font-file from ''{{0}}''."
-msgstr "Не удалось прочитать файл шрифта из ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
+msgstr ""
 
 msgid "Mapillary"
 msgstr "Mapillary"
@@ -29222,6 +29796,9 @@ msgstr "Вход в Mapillary"
 msgid "Login successful, return to JOSM."
 msgstr "Вход успешно выполнен, возврат в JOSM."
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr "Поддерживаемые форматы изображений (JPG и PNG)"
+
 msgid "Downloading Mapillary images"
 msgstr "Скачивание снимков Mapillary"
 
@@ -29237,6 +29814,18 @@ msgstr "Отправка завершена"
 msgid "Uploading: {0}"
 msgstr "Отправка: {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Измеренные значения"
 
@@ -29413,7 +30002,7 @@ msgid "oauth key"
 msgstr "oauth ключ"
 
 msgid "oauth secret"
-msgstr "oauth секрет"
+msgstr "ключ oauth"
 
 msgid ""
 "<br><strong>Warning:</strong> There may be sensitive data left in your "
@@ -30662,6 +31251,12 @@ msgstr "Модуль Proj4J"
 msgid "Code"
 msgstr "Код"
 
+msgid "Can''t parse a time from this string."
+msgstr "Невозможно разобрать время из этой последовательности."
+
+msgid "Invalid value"
+msgstr "Неправильное значение"
+
 msgid "added"
 msgstr "добавленный"
 
@@ -30750,15 +31345,6 @@ msgstr "Поймать"
 msgid "Join"
 msgstr "Соединить"
 
-msgid "Enable"
-msgstr "Включить"
-
-msgid "Can''t parse a time from this string."
-msgstr "Невозможно разобрать время из этой последовательности."
-
-msgid "Invalid value"
-msgstr "Неправильное значение"
-
 msgid "moved"
 msgstr "перемещен"
 
@@ -32926,6 +33512,9 @@ msgstr "Линия с выбранными точками не может быт
 msgid "Internal error: number of nodes is {0}."
 msgstr "Внутренняя ошибка: число точек = {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr "Копировать все теги выделенных объектов в буфер обмена."
+
 msgid "Extract node"
 msgstr "Извлечь точку"
 
@@ -33594,6 +34183,11 @@ msgstr[2] "Получение {0} идентификаторов Викидан
 msgid "Add Wikidata for language ''{0}''"
 msgstr "Добавить Викиданные для языка ''{0}''"
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Добавить названия из Википедии"
 
@@ -33686,5 +34280,5 @@ msgstr "Приступить к вождению"
 msgid "Drive a race car on this layer"
 msgstr "Вести гоночный автомобиль на этом слое"
 
-#~ msgid "Retirement Home"
-#~ msgstr "Дом престарелых"
+#~ msgid "Could not read font-file from ''{{0}}''."
+#~ msgstr "Не удалось прочитать файл шрифта из ''{{0}}''."
diff --git a/i18n/po/sk.po b/i18n/po/sk.po
index 026a0e5..7caf6cf 100644
--- a/i18n/po/sk.po
+++ b/i18n/po/sk.po
@@ -9,16 +9,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-06 00:23+0000\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-11 22:32+0000\n"
 "Last-Translator: aceman444 <Unknown>\n"
 "Language-Team: Slovak <>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:00+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:59+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: sk\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -412,6 +412,9 @@ msgid ""
 msgstr ""
 "Nepodarilo sa spojiť cesty<br>(Nemohli byť spojené do jediného reťazca bodov)"
 
+msgid "Reverse Ways"
+msgstr "Otočiť smer ciest"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Spojiť {0} ciest"
@@ -425,7 +428,7 @@ msgid "Copy"
 msgstr "Skopírovať"
 
 msgid "Copy selected objects to paste buffer."
-msgstr "Kopírovať vybrané body do zásobníka."
+msgstr "Kopírovať vybrané objekty do schránky."
 
 msgid "Please select something to copy."
 msgstr "Prosím zvoľte niečo pre kopírovanie"
@@ -470,6 +473,12 @@ msgstr "Odstrániť"
 msgid "Delete selected objects."
 msgstr "Zmazať zvolené objekty."
 
+msgid "Delete Layer"
+msgstr "Odstrániť vrstvu"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Odstrániť aktívnu vrstvu. Neodstráni súvisiaci súbor."
+
 msgid "Toggle dialogs panel"
 msgstr "Prepnúť lištu s panelmi"
 
@@ -1155,7 +1164,7 @@ msgid "Paste"
 msgstr "Vložiť"
 
 msgid "Paste contents of paste buffer."
-msgstr "Vložiť obsah zásobníka."
+msgstr "Vložiť obsah schránky."
 
 msgid "Delete incomplete members?"
 msgstr "Vymazať nekompletné členy?"
@@ -1277,9 +1286,6 @@ msgstr "Kliknite ak chcete reštartovať neskôr."
 msgid "Reverse way"
 msgstr "Otočiť smer cesty"
 
-msgid "Reverse Ways"
-msgstr "Otočiť smer ciest"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Otočiť smer všetkých zvolených ciest."
 
@@ -1649,6 +1655,18 @@ msgstr ""
 "Chystáte sa pohnúť neúplné objekty.<br>To spôsobí problémy, pretože nie je "
 "vidieť skutočný objekt.<br>Naozaj chcete, s ním hýbať?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Odpojenie ovplyvnilo {0} relácií: {1}"
+msgstr[1] "Odpojenie ovplyvnilo {0} reláciu: {1}"
+msgstr[2] "Odpojenie ovplyvnilo {0} relácie: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Overte či relácie neboli poškodené!"
+msgstr[1] "Overte či relácia nebola poškodená!"
+msgstr[2] "Overte či relácie neboli poškodené!"
+
 msgid "Disconnect Node from Way"
 msgstr "Odpojiť bod z cesty"
 
@@ -2437,6 +2455,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Pridať výber do relácie"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Pridať výber do relácie</strong>: Skontrolujte každú reláciu, "
+"aby neprišlo k poškodeniu!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Pridať výber do {0} relácií"
@@ -2483,6 +2508,15 @@ msgstr[2] ""
 msgid "Confirmation"
 msgstr "Potvrdenie"
 
+msgid "List of recent relations"
+msgstr "Zoznam nedávnych relácií"
+
+msgid "Open recent relation"
+msgstr "Otvoriť nedávne relácie"
+
+msgid "Relation Editor: {0}"
+msgstr "Editor Relácie: {0}"
+
 msgid "Select in relation list"
 msgstr "Vybrať v obsahu relácie"
 
@@ -2853,8 +2887,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Očakávam <i>min</i>/<i>max</i> po \"timestamp\""
+msgid "Cannot parse timestamp ''{0}''"
+msgstr "Nepodarilo sa prečítať časovú značku \"{0}\""
+
+msgid "Expecting {0} after {1}"
+msgstr "Očakávalo sa {0} po {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Očakáva sa rozsah identifikátorov (ID) základných objektov"
@@ -3501,9 +3538,6 @@ msgstr ""
 "Pokúsiť sa zapnúť sieť IPv6, prednostne použiť IPv6 pred IPv4 (funguje len "
 "skoro po štarte)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (na riadku {0}, stĺpec {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 "Nastavenie predvoľby {0} bolo vymazané, pretože nebola dlho používaná."
@@ -3518,7 +3552,7 @@ msgid "Imperial"
 msgstr "Britský"
 
 msgid "Nautical Mile"
-msgstr "Námorné Míle"
+msgstr "Námorné míle"
 
 msgid "UNKNOWN"
 msgstr "NEZNÁMA"
@@ -3563,6 +3597,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "V"
 
+msgid "Update default entries"
+msgstr "Aktualizovať predvolené záznamy"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr "Projekcia ''{0}'' nie je nájdená, záložka ''{1}'' nie je použiteľná"
 
@@ -3823,6 +3860,9 @@ msgstr "text"
 msgid "areatext"
 msgstr "oblasť textu"
 
+msgid " (at line {0}, column {1})"
+msgstr " (na riadku {0}, stĺpec {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "Projekcia UTM (\"+proj=utm\") vyžaduje parameter \"+zone=...\"."
 
@@ -3903,12 +3943,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr "Dvojité stereografické"
+msgid "Albers Equal Area"
+msgstr "Albersove zachovanie plochy"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Vyžadovaný parameter ''{0}''."
 
+msgid "standard parallels are opposite"
+msgstr "štandardné rovnobežky sú opačne"
+
+msgid "Cassini-Soldner"
+msgstr "Cassini-Soldner"
+
+msgid "Double Stereographic"
+msgstr "Dvojité stereografické"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Lambertove azimutové zachovanie plochy"
+
 msgid "Lambert Conformal Conic"
 msgstr "Lambert Conformal Conic"
 
@@ -3918,6 +3970,24 @@ msgstr "Šírka/Dĺžka (Geodetické)"
 msgid "Mercator"
 msgstr "Mercatorova projekcia"
 
+msgid "Oblique Mercator"
+msgstr "Zkreslená Mercatorova"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr "Nevhodné  parametre \"{0}\" a \"{1}\" pre dvojbodovú metódu."
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr "Neplatná hodnota pre parameter \"{0}\": {1}"
+
+msgid "error in initialization"
+msgstr "chyba pri inicializácii"
+
+msgid "Polar Stereographic"
+msgstr "Polárna stereografická"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr "Polárna stereografická: Parameter \"{0}\" musí byť 90 alebo -90."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Swiss Oblique Mercator"
 
@@ -4519,6 +4589,9 @@ msgstr "Neplatná medzera vo vlastnosti klúča"
 msgid "Property values start or end with white space"
 msgstr "Hodnoty začínajú alebo končia medzerou"
 
+msgid "Property values contain multiple white spaces"
+msgstr "Hodnoty obsahujú viaceré medzery"
+
 msgid "Property values contain HTML entity"
 msgstr "Hodnotu obsahujú HTML entitu"
 
@@ -5247,9 +5320,6 @@ msgstr "Nastavenia mapových podkladov"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Kliknite pre zobrazenie karty s nastaveniami pre mapové podklady"
 
-msgid "Search menu items"
-msgstr "Hľadať v položkách menu"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Zvuk"
@@ -5308,12 +5378,6 @@ msgstr "Popredie stavového riadka: aktívne"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Zemepisná šírka na mieste kurzoru myši."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Zemepisná dĺžka na mieste kurzoru myši."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Bude zobrazená smerová šípka v segmente línie."
 
@@ -5342,6 +5406,18 @@ msgstr "Používateľ:"
 msgid "Do not hide status bar"
 msgstr "Neskrývať stavový riadok"
 
+msgid "The northing at the mouse pointer."
+msgstr "Vertikálna súradnica pod kurzorom myši."
+
+msgid "The easting at the mouse pointer."
+msgstr "Horizontálna súradnica pod kurzorom myši."
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Zemepisná šírka na mieste kurzoru myši."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Zemepisná dĺžka na mieste kurzoru myši."
+
 msgid "System of measurement changed to {0}"
 msgstr "Systém merania sa zmenil na {0}"
 
@@ -6262,6 +6338,18 @@ msgstr ""
 "Otvoriť dialógové okno pre spojenie(merge) všetkých vybraných položiek v "
 "zozname hore."
 
+msgid "Resolve to my versions"
+msgstr "Vyriešiť na moje verzie"
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr "Vyrieši všetky nerozhodnuté konflikty na \"moju\" verzii"
+
+msgid "Resolve to their versions"
+msgstr "Vyriešiť na ich verzie"
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr "Vyriešiť všetky nerozhodnuté konflikty na \"ich\" verziu"
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Bolo zistených {0} konfliktov."
@@ -6388,6 +6476,9 @@ msgstr "Posunúť filter dole."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Filter Skryté:{0} Deaktivované:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Chyba vo filtri <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Chyba vo filtri"
 
@@ -6841,6 +6932,9 @@ msgstr "Nastavenia štýlu"
 msgid "Customize the style"
 msgstr "Upraviť štýl"
 
+msgid "Search menu items"
+msgstr "Hľadať v položkách menu"
+
 msgid "Mini map"
 msgstr "Minimapa"
 
@@ -7211,21 +7305,15 @@ msgstr[2] ""
 "<html>Žiadne z vybratých objektov nie sú dostupné v súčasnej<br>upravovanej "
 "vrstve ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Stiahnuť obsah"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Stiahnuť obsah zmenového súboru z OSM servera"
-
-msgid "Update content"
-msgstr "Aktualizovať obsah"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Aktualizovať obsah zmenového súboru z OSM servera"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Stiahnite si a zobrazte históriu vybraných objektov"
 
+msgid "Download objects"
+msgstr "Stiahnuť objekty"
+
+msgid "Download the current version of the selected objects"
+msgstr "Stiahnuť aktuálnu verziu vybraných objektov"
+
 msgid "Select in layer"
 msgstr "Vybrať vrstvu"
 
@@ -7333,6 +7421,18 @@ msgstr "otvoriť"
 msgid "closed"
 msgstr "zatvorené"
 
+msgid "Download content"
+msgstr "Stiahnuť obsah"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Stiahnuť obsah zmenového súboru z OSM servera"
+
+msgid "Update content"
+msgstr "Aktualizovať obsah"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Aktualizovať obsah zmenového súboru z OSM servera"
+
 msgid "Changeset ID: "
 msgstr "Zmenový súbor ID: "
 
@@ -7707,8 +7807,8 @@ msgstr "Zmeniť hodnotu zvoleného klúča pre všetky objekty"
 msgid "Edit Tags"
 msgstr "Upraviť značky"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Prejsť na OSM wiki pre pomoc so značkami (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "Prejsť na OSM wiki pre pomoc so značkou"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Spustiť prehliadač s wiki nápovedu pre vybraný objekt"
@@ -7743,6 +7843,9 @@ msgstr "Kopírovať všetky kľúče+hodnoty"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Skopírovať kľúče a hodnoty všetkých značiek do schránky"
 
+msgid "Copy Tags"
+msgstr "Kopírovať značky"
+
 msgid "Search Key/Value/Type"
 msgstr "Hľadať kľúč+hodnotu+typ"
 
@@ -7816,6 +7919,27 @@ msgstr "Nastavte počet novo pridaných značiek"
 msgid "Remember last used tags after a restart"
 msgstr "Zapamätať naposledy používané značky aj po reštarte"
 
+msgid "Recent tags with existing key"
+msgstr "Posledné značky s existujúcim kľúčom"
+
+msgid "Enable"
+msgstr "Zapnúť"
+
+msgid "Hide"
+msgstr "Skrýša"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr "Aktualizovať zoznam posledných značiek po použití značky"
+
+msgid "No refresh"
+msgstr "Žiadna aktualizácia"
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr "Aktualizovať len stav značky (zapnutá / vypnutá)"
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr "Aktualizovať stav značky a zoznam naposledy pridaných značiek"
+
 msgid "to apply first suggestion"
 msgstr "pre použitie prvého návrhu"
 
@@ -7937,9 +8061,6 @@ msgstr "Nová Relácia"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Vystrediť Editor relácie s reláciou''{0}''vo vrstve''{1}''"
 
-msgid "Relation Editor: {0}"
-msgstr "Editor Relácie: {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 "
@@ -7977,202 +8098,6 @@ msgstr ""
 "<html>Pokúšate sa pridať reláciu samu do seba.<br><br>Toto vytvorí kruhový "
 "odkaz a preto sa neodporúča.<br>Vynechávam reláciu \"{0}\".</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr ""
-"Pridať všetky objekty vybrané v aktuálnom dátovom súbore pred prvým členom"
-
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
-msgstr ""
-"Pridať všetky objekty vybrané v aktuálnom dátovom súbore, pred prvým "
-"vybraným členom"
-
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Pridať všetky objekty vybrané v aktuálnom dátovom súbore za posledný vybraný "
-"člen"
-
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Odstrániť všetky členy s odkazom na jeden z vybraných objektov"
-
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr ""
-"Vybrať členy relácie, ktoré sa vzťahujú na objekty v aktuálnom výbere"
-
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr ""
-"Vybrať členy relácie, ktoré odkazujú na {0} objektov v aktuálnom výbere"
-
-msgid "Select objects for selected relation members"
-msgstr "Výber objektov pre vybrané členy relácie"
-
-msgid "Sort the relation members"
-msgstr "Triedenie členov relácie"
-
-msgid "Relation Editor: Sort"
-msgstr "Editor relácie: Zoradiť"
-
-msgid "Sort below"
-msgstr "Zotriediť dolu"
-
-msgid "Sort the selected relation members and all members below"
-msgstr "Zotriediť vybrané členy relácie a všetky členy pod nimi"
-
-msgid "Reverse the order of the relation members"
-msgstr "Obrátiť poradie členov relácie"
-
-msgid "Reverse"
-msgstr "Obrátene"
-
-msgid "Move the currently selected members up"
-msgstr "Posunúť vybrané členy nahor"
-
-msgid "Relation Editor: Move Up"
-msgstr "Editor Relácií: Posun Hore"
-
-msgid "Move the currently selected members down"
-msgstr "Posunúť vybrané členy nadol"
-
-msgid "Relation Editor: Move Down"
-msgstr "Editor Relácií: Posun Dole"
-
-msgid "Remove the currently selected members from this relation"
-msgstr "Odstrániť práve vybrané členy z tejto relácie"
-
-msgid "Relation Editor: Remove"
-msgstr "Editor Relácií: Odstrániť"
-
-msgid "Delete the currently edited relation"
-msgstr "Vymazať práve zobrazenú reláciu"
-
-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 ""
-"Jeden alebo viac členov z tejto novej relácie boli vymazané zatiaľ čo editor "
-"relácie\n"
-"bol otvorený. Mali by byť odstránené zo zoznamu členov relácie."
-
-msgid "Yes, create a conflict and close"
-msgstr "Áno, vyriešiť konflikt a zavrieť"
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr "Kliknutie vytvorí konflikt a zatvorí editor tejto relácie"
-
-msgid "No, continue editing"
-msgstr "Nie, pokračovať v editácii"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Kliknutím sa vrátite do editora relácie na pokračovanie v úprave relácie"
-
-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>Táto relácia bola zmenená zvonku z editoru.<br>Nemôžete použiť zmeny "
-"pokračovať v editácii.<br><br>Chcete vyriešiť konflikt a zavrieť "
-"editor?</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>Vrstva ''{0}'' už má konflikt na objekte <br>''{1}''.<br> Prosím "
-"vyriešte najskôr tento konflikt, potom to skúste znova.</html>"
-
-msgid "Apply the current updates"
-msgstr "Použiť súčasnú aktualizáciu"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Použiť aktualizácie a zavrieť dialógové okno"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Zrušiť(nepoužiť) aktualizácie a zavrieť dialógové okno"
-
-msgid "Yes, save the changes and close"
-msgstr "Áno, uložiť zmeny a zatvoriť"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Kliknúť na tlačidlo pre uloženie zmien a zavrieť editor relácie"
-
-msgid "No, discard the changes and close"
-msgstr "Nie, vymazať vykonané zmeny a zavrieť"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Kliknúť na vymazanie vykonaných zmien a zavrieť editor relácie"
-
-msgid "Cancel, continue editing"
-msgstr "Zrušiť, pokračovať v úpravách"
-
-msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
-msgstr "<html>Relácia bola zmenená.<br><br>Chcete uložiť zmeny?</html>"
-
-msgid "Unsaved changes"
-msgstr "Neuložené zmeny"
-
-msgid "Add an empty tag"
-msgstr "Pridať prázdnu značku"
-
-msgid "Download all incomplete members"
-msgstr "Stiahnuť všetky nekompletné členy"
-
-msgid "Download Members"
-msgstr "Stiahnuť členov"
-
-msgid "Relation Editor: Download Members"
-msgstr "Editor Relácií: Sťahovanie Členov"
-
-msgid "Download selected incomplete members"
-msgstr "Stiahnuť vybraté nekompletné členy"
-
-msgid "Sets a role for the selected members"
-msgstr "Nastavenie funkcie pre vybrané členy"
-
-msgid "Apply Role"
-msgstr "Použiť Funkciu"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "Nastavili ste prázdnu úlohu na {0} objektoch."
-msgstr[1] "Nastavili ste prázdnu úlohu na {0} objekte."
-msgstr[2] "Nastavili ste prázdnu úlohu na {0} objektoch."
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "To zodpovedá odstráneniu úloh týchto objektov."
-
-msgid "Do you really want to apply the new role?"
-msgstr "Naozaj chcete použiť nové úlohy?"
-
-msgid "Yes, apply it"
-msgstr "Áno, Použiť to"
-
-msgid "No, do not apply"
-msgstr "Nie, použite to"
-
-msgid "Confirm empty role"
-msgstr "Potvrdiť prázdnu funkciu"
-
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Upraviť reláciu, na ktorú odkazuje aktuálne vybraný člen relácie"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Členy z pamäte nie je možné pridať, pretože nie sú zahrnuté do aktuálnej "
-"vrstvy"
-
 msgid "Select previous Gap"
 msgstr "Vyber predchádzajúcu medzeru"
 
@@ -8194,6 +8119,9 @@ msgstr "Priblížiť na medzeru v časti cesty"
 msgid "Refers to"
 msgstr "Odkazuje na"
 
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr "Nedá sa pridať {0} pretože nie je súčasťou dátovej sady"
+
 msgid "Download referring relations"
 msgstr "Sťahovanie týkajúcich sa relácií"
 
@@ -8230,6 +8158,234 @@ msgstr "Upraviť reláciu #{0} vo vrstve \"{1}\""
 msgid "Load relation"
 msgstr "Načítať reláciu"
 
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Pridať všetky objekty vybrané v aktuálnom dátovom súbore za posledný vybraný "
+"člen"
+
+msgid ""
+"Add all objects selected in the current dataset before the first member"
+msgstr ""
+"Pridať všetky objekty vybrané v aktuálnom dátovom súbore pred prvým členom"
+
+msgid ""
+"Add all objects selected in the current dataset before the first selected "
+"member"
+msgstr ""
+"Pridať všetky objekty vybrané v aktuálnom dátovom súbore, pred prvým "
+"vybraným členom"
+
+msgid "Apply the current updates"
+msgstr "Použiť súčasnú aktualizáciu"
+
+msgid "Cancel the updates and close the dialog"
+msgstr "Zrušiť(nepoužiť) aktualizácie a zavrieť dialógové okno"
+
+msgid "Yes, save the changes and close"
+msgstr "Áno, uložiť zmeny a zatvoriť"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Kliknúť na tlačidlo pre uloženie zmien a zavrieť editor relácie"
+
+msgid "No, discard the changes and close"
+msgstr "Nie, vymazať vykonané zmeny a zavrieť"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Kliknúť na vymazanie vykonaných zmien a zavrieť editor relácie"
+
+msgid "Cancel, continue editing"
+msgstr "Zrušiť, pokračovať v úpravách"
+
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+"Kliknutím sa vrátite do editora relácie na pokračovanie v úprave relácie"
+
+msgid ""
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
+msgstr "<html>Relácia bola zmenená.<br><br>Chcete uložiť zmeny?</html>"
+
+msgid "Unsaved changes"
+msgstr "Neuložené zmeny"
+
+msgid "Delete the currently edited relation"
+msgstr "Vymazať práve zobrazenú reláciu"
+
+msgid "Relation Editor: Download Members"
+msgstr "Editor Relácií: Sťahovanie Členov"
+
+msgid "Download all incomplete members"
+msgstr "Stiahnuť všetky nekompletné členy"
+
+msgid "Download Members"
+msgstr "Stiahnuť členov"
+
+msgid "Download selected incomplete members"
+msgstr "Stiahnuť vybraté nekompletné členy"
+
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Upraviť reláciu, na ktorú odkazuje aktuálne vybraný člen relácie"
+
+msgid "Relation Editor: Move Down"
+msgstr "Editor Relácií: Posun Dole"
+
+msgid "Move the currently selected members down"
+msgstr "Posunúť vybrané členy nadol"
+
+msgid "Relation Editor: Move Up"
+msgstr "Editor Relácií: Posun Hore"
+
+msgid "Move the currently selected members up"
+msgstr "Posunúť vybrané členy nahor"
+
+msgid "Apply the updates and close the dialog"
+msgstr "Použiť aktualizácie a zavrieť dialógové okno"
+
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Členy zo schránky nie je možné pridať, pretože nie sú zahrnuté do aktuálnej "
+"vrstvy"
+
+msgid "Relation Editor: Refresh"
+msgstr "Editor relácií: Aktualizovať"
+
+msgid "Refresh relation from data layer"
+msgstr "Aktualizovať reláciu z údajovej vrstvy"
+
+msgid "Refresh"
+msgstr "Obnoviť"
+
+msgid "Yes, discard changes and reload"
+msgstr "Áno, zahodiť zmeny a načítať znovu"
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr "Kliknite pre zahodenie zmien a načítanie údajov z vrstvy"
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+"<html>V tomto okne editora máte neuložené zmeny.<br><br>Chcete zmeny zahodiť "
+"a načítať dáta znovu z údajovej vrstvy?</html>"
+
+msgid "Click to close window"
+msgstr "Kliknite na zavretie okna"
+
+msgid "No, continue editing"
+msgstr "Nie, pokračovať v editácii"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+"<html>Relácia bola zmazaná mimo editora.<br><br>Chcete zavrieť toto "
+"okno?</html>"
+
+msgid "Deleted relation"
+msgstr "Zmazaná relácia"
+
+msgid "Relation Editor: Remove"
+msgstr "Editor Relácií: Odstrániť"
+
+msgid "Remove the currently selected members from this relation"
+msgstr "Odstrániť práve vybrané členy z tejto relácie"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Odstrániť všetky členy s odkazom na jeden z vybraných objektov"
+
+msgid "Reverse the order of the relation members"
+msgstr "Obrátiť poradie členov relácie"
+
+msgid "Reverse"
+msgstr "Obrátene"
+
+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 ""
+"Jeden alebo viac členov z tejto novej relácie boli vymazané zatiaľ čo editor "
+"relácie\n"
+"bol otvorený. Mali by byť odstránené zo zoznamu členov relácie."
+
+msgid "Yes, create a conflict and close"
+msgstr "Áno, vyriešiť konflikt a zavrieť"
+
+msgid "Click to create a conflict and close this relation editor"
+msgstr "Kliknutie vytvorí konflikt a zatvorí editor tejto relácie"
+
+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>Táto relácia bola zmenená zvonku z editoru.<br>Nemôžete použiť zmeny "
+"pokračovať v editácii.<br><br>Chcete vyriešiť konflikt a zavrieť "
+"editor?</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>Vrstva ''{0}'' už má konflikt na objekte <br>''{1}''.<br> Prosím "
+"vyriešte najskôr tento konflikt, potom to skúste znova.</html>"
+
+msgid "Select objects for selected relation members"
+msgstr "Výber objektov pre vybrané členy relácie"
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+"Vybrať členy relácie, ktoré sa vzťahujú na objekty v aktuálnom výbere"
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Vybrať členy relácie, ktoré odkazujú na {0} objektov v aktuálnom výbere"
+
+msgid "Sets a role for the selected members"
+msgstr "Nastavenie funkcie pre vybrané členy"
+
+msgid "Apply Role"
+msgstr "Použiť Funkciu"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "Nastavili ste prázdnu úlohu na {0} objektoch."
+msgstr[1] "Nastavili ste prázdnu úlohu na {0} objekte."
+msgstr[2] "Nastavili ste prázdnu úlohu na {0} objektoch."
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "To zodpovedá odstráneniu úloh týchto objektov."
+
+msgid "Do you really want to apply the new role?"
+msgstr "Naozaj chcete použiť nové úlohy?"
+
+msgid "Yes, apply it"
+msgstr "Áno, Použiť to"
+
+msgid "No, do not apply"
+msgstr "Nie, použite to"
+
+msgid "Confirm empty role"
+msgstr "Potvrdiť prázdnu funkciu"
+
+msgid "Relation Editor: Sort"
+msgstr "Editor relácie: Zoradiť"
+
+msgid "Sort the relation members"
+msgstr "Triedenie členov relácie"
+
+msgid "Sort below"
+msgstr "Zotriediť dolu"
+
+msgid "Sort the selected relation members and all members below"
+msgstr "Zotriediť vybrané členy relácie a všetky členy pod nimi"
+
 msgid "way is connected"
 msgstr "cesta je spojená"
 
@@ -8660,6 +8816,12 @@ msgid ""
 msgstr ""
 "<html>Verzia <strong>{0}</strong> vytvorená <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "Táto sada zmien má {0} komentárov"
+msgstr[1] "Táto sada zmien má {0} komentár"
+msgstr[2] "Táto sada zmien má {0} komentáre"
+
 msgid "Changeset"
 msgstr "Sada zmien"
 
@@ -8785,15 +8947,16 @@ msgid "Upload"
 msgstr "Nahrať"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
 msgstr ""
-"<html>Vyberte akcie, ktoré sa vykonávania u tejto vrstvy, ak kliknete na "
-"tlačidlo úplne vľavo.<br/>Skontrolujte \"Nahrať\" nahrať zmeny na OSM "
-"server. <br/>Skontrolujte \"Uložiť\" pre uloženie vrstvy do súboru uvedeného "
-"na ľavej strane.</html>"
+"Zvoliť akciu, ktorá sa vykoná na tejto vrstve po kliknutí ľavým tlačidlom."
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr "Zvoľte \"Nahrať\" pre odoslanie zmien na server OSM."
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
+msgstr "Zvoľte \"Uložiť\" pre uloženie vrstvy do súboru zadaného vľavo."
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Doplniť krátky komentár k nahrávaným zmenám:"
@@ -8991,9 +9154,6 @@ msgstr ""
 "Nepodarilo sa získať informácie o používateľovi pre aktuálneho používateľa "
 "JOSMu. Výnimka bola: {0}"
 
-msgid "Download objects"
-msgstr "Stiahnuť objekty"
-
 msgid "Initializing nodes to download ..."
 msgstr "Inicializácia bodov na stiahnutie ..."
 
@@ -9622,7 +9782,7 @@ msgstr[0] "{0} zmazaných objektov:"
 msgstr[1] "{0} zmazaný objekt:"
 msgstr[2] "{0} zmazané objekty:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr "Zobraziť informácie o dlaždici"
 
 msgid "Tile Info"
@@ -9631,16 +9791,22 @@ msgstr "Informácie o dlaždiciach"
 msgid "Metadata "
 msgstr "Metaúdaje "
 
-msgid "Auto Zoom"
+msgid "Load tile"
+msgstr "Načítať dlaždicu"
+
+msgid "Auto zoom"
 msgstr "Automatické priblíženie"
 
 msgid "Auto load tiles"
 msgstr "Automaticky Načítať Dlaždice"
 
-msgid "Load All Tiles"
+msgid "Show errors"
+msgstr "Zobrazovať chyby"
+
+msgid "Load all tiles"
 msgstr "Načítať všetky dlaždice"
 
-msgid "Load All Error Tiles"
+msgid "Load all error tiles"
 msgstr "Načítať všetky chybné dlaždice"
 
 msgid "Zoom to native resolution"
@@ -9649,27 +9815,18 @@ msgstr "Vrátiť na pôvodnú úroveň priblíženia"
 msgid "Change resolution"
 msgstr "Zmena rozlíšenia"
 
-msgid "Failed to create tile source"
-msgstr "Nepodarilo sa vytvoriť zdroj dlaždíc"
-
-msgid "Show Errors"
-msgstr "Ukázať Chyby"
-
-msgid "Load Tile"
-msgstr "Načítať dlaždicu"
-
 msgid "Increase zoom"
 msgstr "Priblížiť"
 
 msgid "Decrease zoom"
 msgstr "Oddialiť"
 
-msgid "Snap to tile size"
-msgstr "Snímka na veľkosť dlaždice"
-
-msgid "Flush Tile Cache"
+msgid "Flush tile cache"
 msgstr "Vymazať pamäť dlaždíc"
 
+msgid "Failed to create tile source"
+msgstr "Nepodarilo sa vytvoriť zdroj dlaždíc"
+
 msgid "zoom in to load any tiles"
 msgstr "Zväčšiť pri načítaní dlaždíc"
 
@@ -9912,7 +10069,7 @@ msgid "Save OSM file"
 msgstr "Uložiť OSM súbor"
 
 msgid "EPSG:4326 and Mercator projection are supported"
-msgstr "EPSG: 4326 a Mercator projekcie sú podporované"
+msgstr "Projekcie EPSG:4326 a Mercatorova sú podporované"
 
 msgid "Validation errors"
 msgstr "Overovanie chýb"
@@ -10127,6 +10284,9 @@ msgstr ""
 "Chyba pri rozkladaní rozdielu.\n"
 "Čakám na formát: {0}"
 
+msgid "Geotagged Images"
+msgstr "Obrázky s GPS súradnicami"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Získavam GPS polohu z EXIF"
 
@@ -10151,9 +10311,6 @@ msgstr "Chyba pri získavaní súború z adresára {0}\n"
 msgid "One of the selected files was null"
 msgstr "Niektorý z vybratých súborov bol prázdny"
 
-msgid "Geotagged Images"
-msgstr "Obrázky s GPS súradnicami"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} načítaných obrázkov."
@@ -10554,12 +10711,8 @@ msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 "Nepodarilo sa prečítať štýl kreslenia mapy z \"{0}\". Chyba bola: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Našlo sa zastaralé \"{0}\" v \"{1}\", ktoré bude čoskoro odstránené. Použite "
-"namiesto toho \"{2}\"."
+msgid "Failed to locate image ''{0}''"
+msgstr "Zlyhala lokalizácia obrázku ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "Nesprávna kresba prerušovanej čiary, hodnoty musia byť kladné"
@@ -10609,6 +10762,12 @@ msgstr "URL autorizačného prístupu:"
 msgid "Authorize URL:"
 msgstr "Autorizačná URL:"
 
+msgid "OSM login URL:"
+msgstr "URL prihlásenia OSM:"
+
+msgid "OSM logout URL:"
+msgstr "URL odhlásenia OSM:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Kliknutím resetujete OAuth nastavenia na východzie hodnoty"
 
@@ -10626,13 +10785,13 @@ msgid "Overwrite custom OAuth settings?"
 msgstr "Prepísať používateľské nastavenia OAuth?"
 
 msgid "Fully automatic"
-msgstr "Úplne automatický"
+msgstr "Úplne automatická"
 
 msgid "Semi-automatic"
-msgstr "Poloautomaticky"
+msgstr "Poloautomatická"
 
 msgid "Manual"
-msgstr "Manuálne"
+msgstr "Manuálna"
 
 msgid ""
 "<html>Run a fully automatic procedure to get an access token from the OSM "
@@ -10682,13 +10841,6 @@ msgstr "Meno používateľa: "
 msgid "Password: "
 msgstr "Heslo: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Upozornenie:</strong> JOSM sa prihlási <strong>iba jeden "
-"raz</strong> pomocou zabezpečeného pripojenia."
-
 msgid "Granted rights"
 msgstr "Pridelené práva"
 
@@ -10833,6 +10985,15 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Prosím, vyberte autorizačnú procedúru: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+"<strong>Varovanie:</strong> Keďže nepoužívate štandardné OSM API, nastavte "
+"pre OAuth zákaznícky kľúč a tajomstvo v <i>Pokročilých nastaveniach "
+"OAuth</i>."
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Získať autorizačný prístup pre ''{0}''"
 
@@ -11235,6 +11396,15 @@ msgstr "Registrovaná akcia panela nástrojov {0} prepísaná: {1} dostaneme {2}
 msgid "Toolbar: {0}"
 msgstr "Nástrojová lišta: {0}"
 
+msgid "add entry"
+msgstr "pridať záznam"
+
+msgid "Remove the selected entry"
+msgstr "Odstrániť vybratý záznam"
+
+msgid "Key: {0}"
+msgstr "Kľúč: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Pokročilé voľby"
 
@@ -11326,18 +11496,9 @@ msgstr "Zvoľte súbor s profilom"
 msgid "Change list setting"
 msgstr "Zmeniť nastavenie zoznamu"
 
-msgid "Key: {0}"
-msgstr "Kľúč: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Zmeniť nastavenie zoznamu zoznamov"
 
-msgid "add entry"
-msgstr "pridať záznam"
-
-msgid "Remove the selected entry"
-msgstr "Odstrániť vybratý záznam"
-
 msgid "Change list of maps setting"
 msgstr "Zmeniť zoznam mapových nastavení"
 
@@ -12040,9 +12201,6 @@ msgstr "kopírovať vybrané predvolené"
 msgid "Please select at least one row to copy."
 msgstr "Prosím, vyberte aspoň jeden riadok pre skopírovanie."
 
-msgid "reload defaults"
-msgstr "obnoviť predvolené"
-
 msgid "Menu Name"
 msgstr "Meno v menu"
 
@@ -12351,6 +12509,9 @@ msgstr[1] ""
 msgstr[2] ""
 "Sťahovanie nasledujúcich {0} pluginov bolo <strong>neúspešné</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Chybná správa (nepreložená): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Prosím, reštartujte JOSM pre aktiváciu stiahnutých pluginov."
 
@@ -12523,13 +12684,13 @@ msgid "Lambert 4 Zones (France)"
 msgstr "Lambert 4 Zones (Francúzsko)"
 
 msgid "WGS84 Geographic"
-msgstr "WGS84 Zemepisné"
+msgstr "WGS84 Zemepisná"
 
 msgid "Belgian Lambert 1972"
-msgstr "Belgian Lambert 1972"
+msgstr "Belgický Lambert 1972"
 
 msgid "Belgian Lambert 2008"
-msgstr "Belgian Lambert 2008"
+msgstr "Belgický Lambert 2008"
 
 msgid "Lambert Zone (Estonia)"
 msgstr "Lambertova zóna (Estónsko)"
@@ -13037,12 +13198,6 @@ msgstr "Číselné hodnoty"
 msgid "Checks for wrong numeric values"
 msgstr "Hľadá chybné číselné hodnoty"
 
-msgid "Power"
-msgstr "Energia"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Hľadá chyby energetickej infraštuktúry"
-
 msgid "Religion"
 msgstr "Náboženstvo"
 
@@ -13135,6 +13290,9 @@ msgstr "Použiť prednastavenie \"{0}\""
 msgid "Elements of type {0} are supported."
 msgstr "Elementy typu(druhu) {0} sú podporované."
 
+msgid "This preset also sets: {0}"
+msgstr "Táto predvoľba nastaví tiež: {0}"
+
 msgid "Edit also …"
 msgstr "Upraviť tiež …"
 
@@ -13208,6 +13366,9 @@ msgstr "Hľadať predvoľby"
 msgid "Presets"
 msgstr "Predvoľby"
 
+msgid "Search for objects by preset..."
+msgstr "Hľadať objekty podľa predvolieb..."
+
 msgid "Search for objects by preset"
 msgstr "Hľadať objekty podľa predvoľby"
 
@@ -13261,6 +13422,9 @@ msgstr ""
 "Poškodené prednastavenie tagovania \"{0}-{1}\" - počet položiek v "
 "''short_descriptions'' musí byť rovnaký ako vo ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "Toto zodpovedá kľúču \"{0}\""
+
 msgid "More information about this feature"
 msgstr "Viac informácií o tejto vlastnosti"
 
@@ -13355,17 +13519,32 @@ msgstr "Súčasná hodnota nie je platné OSM ID. Zadajte prosím celé číslo
 msgid "false: the property is explicitly switched off"
 msgstr "nepravda (false): vlastnosť je jasne (výslovne) deaktivovaná"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "nepravda (false): vlastnosť \"{0}\" je výslovne vypnutá"
+
 msgid "true: the property is explicitly switched on"
 msgstr "pravda (true): vlastnosť je jasne (výslovne) aktivovaná"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "pravda (true): vlastnosť \"{0}\" je výslovne zapnutá"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "čiastočné (partial): vybrané objekty majú rôzne hodnoty, ktoré nebudú zmenené"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+"čiastočné: rôzne vybrané objekty majú rozdielne hodnoty pre \"{0}\", nezmeniť"
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "nenastavené (unset): nenastaviť túto vlastnosť na vybrané objekty"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr "nenastavené: nenastaviť vlastnosť \"{0}\" na vybraných objektoch"
+
 msgid "Cut"
 msgstr "Vystrihnúť"
 
@@ -13920,6 +14099,9 @@ msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 "Unexpected value for preference \"{0}\". Obdržaná hodnota je \"{1}\"."
 
+msgid "OSM Server Files"
+msgstr "Súbory OSM Servera"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 "<html>Nejaká chyba nastala počas ukladania.<br>Chyba je: <br>{0}</html>"
@@ -13937,9 +14119,6 @@ msgstr "Súbory servera skomprimované v gzip"
 msgid "Parsing OSM history data ..."
 msgstr "Rozloženie OSM history data ..."
 
-msgid "OSM Server Files"
-msgstr "Súbory OSM Servera"
-
 msgid "Invalid dataset"
 msgstr "Neplatný dátový súbor"
 
@@ -14154,9 +14333,6 @@ msgstr "Nahrávam dáta ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Najdené neočakávané id 0 pre OSM základný objekt"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Súbory servera skomprimované v zip"
-
 msgid "Downloading data..."
 msgstr "Sťahujú sa dáta..."
 
@@ -14342,23 +14518,29 @@ msgstr ""
 "Diaľkové ovládanie bolo požiadané o nahlásenie verziu protokolu. To umožňuje "
 "webovej stránke zistiť či beží JOSM."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Verzia ''{0}'' metadát vrstvy geoimage nie je podporovaná. Očakávaná: 0.1"
+msgid "local file"
+msgstr "lokálny súbor"
+
+msgid "include"
+msgstr "zahrnúť"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Vrstva obsahuje neuložené dáta - uložiť do súboru."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Vrstva neobsahuje neuložené dáta."
 
 msgid "Data:"
 msgstr "Dáta:"
 
-msgid "local file"
-msgstr "lokálny súbor"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Odkaz na súbor OSM dát na Vašom lokálnom disku."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Odkaz na súbor GPX na lokálnom disku."
+msgid "Include OSM data in the .joz session file."
+msgstr "Zahrnúť OSM dáta do .joz súboru sedenia."
 
-msgid "include"
-msgstr "zahrnúť"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Odkazovať na súbor GPX na lokálnom disku."
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Vložiť súbor GPX do súboru sedenia .joz."
@@ -14369,6 +14551,15 @@ msgstr "Žiadna asociácia súboru"
 msgid "GPX data will be included in the session file."
 msgstr "Dáta GPX budú vložené do súboru sedenia."
 
+msgid "OSM data will be included in the session file."
+msgstr "OSM dáta budú zahrnuté v súbore sedenia."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Verzia ''{0}'' metadát vrstvy geoimage nie je podporovaná. Očakávaná: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14389,20 +14580,10 @@ msgid ""
 msgstr ""
 "Verzia metadát \"{0}\" pre vrstvu markerov nie je podporovaná. Očakávaná: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Vrstva obsahuje neuložené dáta - uložiť do súboru."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Vrstva neobsahuje neuložené dáta."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Odkaz na súbor OSM dát na Vašom lokálnom disku."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Zahrnúť OSM dáta do .joz súboru sedenia."
-
-msgid "OSM data will be included in the session file."
-msgstr "OSM dáta budú zahrnuté v súbore sedenia."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
+"Verzia \"{0}\" metadát vrstvy poznámok nie je podporovaná. Očakáva sa: 0.1"
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15301,9 +15482,6 @@ msgstr ""
 "príliš zozľahlá.<br>Požadujte menšiu plochu, alebo použite nejaký exportný "
 "súbor poskytnutý OSM komunitou."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Chybná správa (nepreložená): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15350,6 +15528,9 @@ msgstr ""
 "Príliš veľa detekovaných presmerovaní na adresu URL pre sťahovanie . "
 "Prerušujem."
 
+msgid "Fetching content..."
+msgstr "Sťahuje sa obsah..."
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Nemôžem nájsť preklad pre jazyk {0}. Vyberám {1}."
 
@@ -15360,9 +15541,6 @@ msgstr ""
 "Fatálne: neúspešná lokalizácia obrázka ''{0}''. Toto je vážny konfiguračný "
 "problém. JOSM prestane pracovať."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Zlyhala lokalizácia obrázku ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Nepodarilo sa spracovať zip súbor \"{0}\". Výnimka bola: {1}"
 
@@ -15519,6 +15697,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr "Nepodarilo sa odstrániť súbor {0}"
 
+msgid "Unable to create directory {0}"
+msgstr "Nepodarilo sa vytvoriť priečinok {0}"
+
 msgid "ms"
 msgstr "ms"
 
@@ -15849,9 +16030,6 @@ msgstr "Otvoriť vybraný súbor"
 msgid "Open selected file."
 msgstr "Otvoriť vybraný súbor."
 
-msgid "Refresh"
-msgstr "Obnoviť"
-
 msgid "Rename File"
 msgstr "Premenovať súbor"
 
@@ -15945,6 +16123,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Hromadná doprava (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Turistika & Cyklistika"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (Nemecký štýl)"
 
@@ -16011,6 +16192,9 @@ msgstr "OSM Inspector: Addresy"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Hranice (EÚ)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr "SIG Instituto Geográfico Nacional (WMTS)"
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI čiernobiela 2.5m"
 
@@ -16107,14 +16291,17 @@ msgstr "URBIS 2015 letecké snímky"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW(allonie) PICC numerical imagery"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW(allonie) 2012 letecké snímky"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW(allonie) 2015 letecké snímky"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW(allonie) 2009 letecké snímky"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW(allonie) 2012-2013 letecké snímky"
 
-msgid "TEC bus lines"
-msgstr "autobusové linky TEC"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW(allonie) 2009-2010 letecké snímky"
+
+msgid "TEC bus lines (2014)"
+msgstr "LInky autobusov TEC (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
@@ -16236,6 +16423,9 @@ msgstr "SIG L-R - Languedoc-Roussillon 2012 - 20 cm"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Toulouse - Ortofotomapa 2015"
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -16258,9 +16448,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Ortofoto 1999 - "
 "1 m"
 
-msgid "Hike & Bike"
-msgstr "Turistika & Cyklistika"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Sorbian Language)"
 
@@ -16333,6 +16520,15 @@ msgstr "Fotografie z bezpilotných lietadiel 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Snímky z dronov Canaan(Haiti) November 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr "FÖMI ortofoto 2000"
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr "Interspect Budapest ortofoto 2014"
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr "Päť mestských častí Budapešti: III, IV, XIII, XIV, XV"
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Office 1:25k GSGS 3906"
 
@@ -16366,11 +16562,14 @@ msgstr "OSMIE Local Election Areas"
 msgid "OSMIE Dail Election Areas"
 msgstr "OSMIE Dail Election Areas"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr "OSMIE T.ie Pozemky mimo okresov"
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Taliansko"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardia - Taliansko (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Lombardia - Taliansko (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Sicília - Taliansko"
@@ -17086,6 +17285,9 @@ msgstr "Sťahuje nové údaje pri posúvaní/približovaní"
 msgid "Create a grid of ways."
 msgstr "Vytvára sieť ciest."
 
+msgid "Customizing of public transport stops."
+msgstr "Prispôsobenie zastávok hromadnej dopravy."
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "Vytvorenie a správa adresných bodov a budov vrámci Českej Republiky."
@@ -17830,6 +18032,105 @@ msgstr "omedzený"
 msgid "Brand"
 msgstr "Značka"
 
+msgid "Cuisine"
+msgstr "Kuchyňa"
+
+msgid "italian"
+msgstr "talianska"
+
+msgid "chinese"
+msgstr "čínska"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamburgery"
+
+msgid "greek"
+msgstr "grécka"
+
+msgid "german"
+msgstr "nemecká"
+
+msgid "indian"
+msgstr "indická"
+
+msgid "regional"
+msgstr "regionálna (domáca)"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turecká"
+
+msgid "asian"
+msgstr "ázijská"
+
+msgid "thai"
+msgstr "thajská"
+
+msgid "mexican"
+msgstr "mexická"
+
+msgid "japanese"
+msgstr "japonská"
+
+msgid "french"
+msgstr "francúzska"
+
+msgid "sandwich"
+msgstr "sendviče"
+
+msgid "coffee_shop"
+msgstr "kaviareň"
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr "steak"
+
+msgid "fish_and_chips"
+msgstr "ryba a hranolky (UK)"
+
+msgid "chicken"
+msgstr "kura"
+
+msgid "american"
+msgstr "americká"
+
+msgid "ice_cream"
+msgstr "zmrzlina"
+
+msgid "international"
+msgstr "medzinárodná"
+
+msgid "seafood"
+msgstr "morské jedlá"
+
+msgid "spanish"
+msgstr "španielska"
+
+msgid "vietnamese"
+msgstr "vietnamská"
+
+msgid "fish"
+msgstr "jedlá z rýb"
+
+msgid "noodle"
+msgstr "rezance"
+
+msgid "barbecue"
+msgstr "jedlá z grilu"
+
+msgid "vegetarian"
+msgstr "vegetariánska"
+
+msgid "korean"
+msgstr "kórejská"
+
 msgid "Internet access"
 msgstr "Prístup na internet"
 
@@ -18404,8 +18705,11 @@ msgstr "Max. hmotnosť (t)"
 msgid "Toll"
 msgstr "Mýto (Toll)"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "Je voda občasná (mizne v závislosti od ročného obdobia)?"
+msgid "Intermittent"
+msgstr "nepravidelné"
+
+msgid "Seasonal"
+msgstr "Sezónne"
 
 msgid "In the tidal range"
 msgstr "V zóne prílivu"
@@ -19176,26 +19480,30 @@ msgstr "Ak ide o semafory:"
 msgid "Traffic Calming"
 msgstr "Spomaľovací retardér"
 
-msgid "bump"
-msgstr "malý retardér (bump)"
+msgid "Bump"
+msgstr "Malý retardér"
+
+msgid "Chicane"
+msgstr "Šikana"
 
-msgid "chicane"
-msgstr "šikana (chicane)"
+msgid "Choker"
+msgstr "Zúženie ulice"
 
-msgid "choker"
-msgstr "zúženie ulice"
+msgid "Cushion"
+msgstr "Retardér s medzerami"
 
-msgid "cushion"
-msgstr "retardér s medzerami (cushion)"
+msgid "Hump"
+msgstr "Dlhší retardér"
 
-msgid "hump"
-msgstr "dlhší retardér (hump)"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr "Ostrovček"
 
-msgid "rumble_strip"
-msgstr "zvukový retardér (rumble_strip)"
+msgid "Rumble strip"
+msgstr "Zvukový retardér"
 
-msgid "table"
-msgstr "veľký retardér (table)"
+msgid "Table"
+msgstr "Veľký retardér"
 
 msgid "Passing Place"
 msgstr "Vyhýbací ostrovček"
@@ -19348,6 +19656,9 @@ msgstr "Mestské hradby"
 msgid "Retaining Wall"
 msgstr "Oporný múr"
 
+msgid "Jersey Barrier"
+msgstr "Prefabrikovaná cestná zátarasa"
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Priekopa (ditch)"
@@ -19519,6 +19830,9 @@ msgstr "rieka"
 msgid "Salt Water"
 msgstr "Slaná voda"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "Je voda občasná (mizne v závislosti od ročného obdobia)?"
+
 msgid "Coastline"
 msgstr "Pobrežie"
 
@@ -19581,16 +19895,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr "Veľký objem vody čiastočne obkolesený pevninou ale so širokým ústím."
 
-msgid "Cliff"
-msgstr "Útes"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Strmý skalný útvar s (takmer) zvislým sklonom (dolná strana je napravo od "
-"cesty)."
-
 msgid "Shipping"
 msgstr "Lodná doprava"
 
@@ -20521,66 +20825,6 @@ msgstr "Jedlo + Pitie"
 msgid "Restaurant"
 msgstr "Reštaurácia"
 
-msgid "Cuisine"
-msgstr "Kuchyňa"
-
-msgid "italian"
-msgstr "talianska"
-
-msgid "chinese"
-msgstr "čínska"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hamburgery"
-
-msgid "greek"
-msgstr "grécka"
-
-msgid "german"
-msgstr "nemecká"
-
-msgid "indian"
-msgstr "indická"
-
-msgid "regional"
-msgstr "regionálna (domáca)"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turecká"
-
-msgid "asian"
-msgstr "ázijská"
-
-msgid "thai"
-msgstr "thajská"
-
-msgid "mexican"
-msgstr "mexická"
-
-msgid "japanese"
-msgstr "japonská"
-
-msgid "french"
-msgstr "francúzska"
-
-msgid "sandwich"
-msgstr "sendviče"
-
-msgid "coffee_shop"
-msgstr "kaviareň"
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr "steak"
-
 msgid "Microbrewery"
 msgstr "Minipivovar"
 
@@ -20593,20 +20837,14 @@ msgstr "So sebou"
 msgid "Fast Food"
 msgstr "Rýchle občerstvenie (fast food)"
 
-msgid "fish_and_chips"
-msgstr "ryba a hranolky (UK)"
-
-msgid "chicken"
-msgstr "kura"
-
 msgid "Food Court"
 msgstr "Jedálenská zóna"
 
 msgid "Cafe"
 msgstr "Kaviareň"
 
-msgid "ice_cream"
-msgstr "zmrzlina"
+msgid "Ice cream"
+msgstr "Zmrzlina"
 
 msgid "Pub"
 msgstr "Krčma"
@@ -20783,6 +21021,12 @@ msgstr "Zábavný park"
 msgid "Water Park"
 msgstr "Vodný zábavný park"
 
+msgid "Swimming Pool"
+msgstr "Bazén"
+
+msgid "Used for the water area only."
+msgstr "Použiť len na nádrž s vodou."
+
 msgid "Sauna"
 msgstr "Sauna"
 
@@ -20817,9 +21061,6 @@ msgstr "Ohnisko"
 msgid "Fishing"
 msgstr "Rybolov"
 
-msgid "Private Swimming Pool"
-msgstr "Súkromný plavecký bazén"
-
 msgid "Night Club"
 msgstr "Nočný zábavný klub"
 
@@ -20862,12 +21103,18 @@ msgstr "socha"
 msgid "Artist Name"
 msgstr "Meno umelca"
 
-msgid "Recording Studio"
-msgstr "Nahrávacie štúdio"
+msgid "Studio"
+msgstr "Štúdio"
 
 msgid "audio"
 msgstr "hudba (audio)"
 
+msgid "radio"
+msgstr "rádio"
+
+msgid "television"
+msgstr "televízia"
+
 msgid "video"
 msgstr "filmy (video)"
 
@@ -20971,6 +21218,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "adventisti siedmeho dňa"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr "špiritisti"
+
 msgid "Mosque"
 msgstr "Mešita"
 
@@ -21130,6 +21381,125 @@ msgstr "(Použite medzinárodný kód, ako +12-345-67890)"
 msgid "Veterinary"
 msgstr "Veterinár"
 
+msgid "Emergency"
+msgstr "Pohotovosť"
+
+msgid "Ambulance Station"
+msgstr "Stanovište sanitiek"
+
+msgid "Automated Defibrillator"
+msgstr "Automatický defibrilátor"
+
+msgid "Located inside a building?"
+msgstr "Umiestnený vnútri budovy"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Dátum poslednej kontroly"
+
+msgid "Last check note"
+msgstr "Poznámka z poslednej kontroly"
+
+msgid "Fire Extinguisher"
+msgstr "Hasiaci prístroj"
+
+msgid "Indoor"
+msgstr "V budove"
+
+msgid "Fire Hose"
+msgstr "Požiarna hadica"
+
+msgid "Fire Hydrant"
+msgstr "Požiarny hydrant"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "pod zemou"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "stĺpový"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "nástenný"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "nádrž"
+
+msgid "Diameter (in mm)"
+msgstr "Priemer (v mm)"
+
+msgid "Hydrant Position"
+msgstr "Umiestnenie"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "jazdný pruh"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parkovisko"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "chodník"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "zeleň"
+
+msgid "Pressure (in bar)"
+msgstr "Tlak (v baroch)"
+
+msgid "suction"
+msgstr "bez tlaku"
+
+msgid "Count"
+msgstr "Počet"
+
+msgid "Water Tank"
+msgstr "Vodná nádrž"
+
+msgid "Volume (in liters)"
+msgstr "Objem (v litroch)"
+
+msgid "Assembly Point"
+msgstr "Zhromažďovací priestor"
+
+msgid "Emergency Phone"
+msgstr "Núdzový telefón"
+
+msgid "Siren"
+msgstr "Siréna"
+
+msgid "pneumatic"
+msgstr "pneumatická"
+
+msgid "electronic"
+msgstr "elektronická"
+
+msgid "mechanical"
+msgstr "mechanická"
+
+msgid "Purpose"
+msgstr "Účel"
+
+msgid "tornado"
+msgstr "tornádo"
+
+msgid "fire"
+msgstr "oheň"
+
+msgid "air_raid"
+msgstr "letecký útok"
+
+msgid "civil_defense"
+msgstr "civilná ochrana"
+
+msgid "Range (in meters)"
+msgstr "Dosah (v metroch)"
+
 msgid "Social Facility"
 msgstr "Sociálne zariadenie"
 
@@ -21242,24 +21612,9 @@ msgstr "Bankovky"
 msgid "Telephone cards"
 msgstr "Telefónne karty"
 
-msgid "Emergency Phone"
-msgstr "Núdzový telefón"
-
 msgid "Internet Access"
 msgstr "Prístup na Internet"
 
-msgid "Automated Defibrillator"
-msgstr "Automatický defibrilátor"
-
-msgid "Located inside a building?"
-msgstr "Umiestnený vnútri budovy"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Dátum poslednej kontroly"
-
-msgid "Last check note"
-msgstr "Poznámka z poslednej kontroly"
-
 msgid "Clock"
 msgstr "Hodiny"
 
@@ -21422,64 +21777,15 @@ msgctxt "height"
 msgid "full"
 msgstr "plná"
 
+msgctxt "hunting stand"
 msgid "Hide"
 msgstr "Skrýša"
 
 msgid "Lock"
 msgstr "Zámok"
 
-msgid "Indoor"
-msgstr "V budove"
-
-msgid "Fire Hydrant"
-msgstr "Požiarny hydrant"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "pod zemou"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "stĺpový"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "nástenný"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "nádrž"
-
-msgid "Diameter (in mm)"
-msgstr "Priemer (v mm)"
-
-msgid "Hydrant Position"
-msgstr "Umiestnenie"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "jazdný pruh"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parkovisko"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "chodník"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "zeleň"
-
-msgid "Pressure (in bar)"
-msgstr "Tlak (v baroch)"
-
-msgid "suction"
-msgstr "bez tlaku"
-
-msgid "Count"
-msgstr "Počet"
+msgid "Water Point"
+msgstr "Zdroj vody"
 
 msgid "Compressed Air"
 msgstr "Stlačený vzduch"
@@ -21532,9 +21838,62 @@ msgstr "tartan"
 msgid "Racetrack"
 msgstr "Pretekárska dráha"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golfové ihrisko"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr "Odpalisko"
+
+msgctxt "golf"
+msgid "Hole"
+msgstr "Jamka (časť ihriska)"
+
+msgid "Par"
+msgstr "Par"
+
+msgid "Handicap rating"
+msgstr "Stupeň hendikepu"
+
+msgctxt "golf"
+msgid "Pin"
+msgstr "Jamka"
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr "Piesočná prekážka (Bunker)"
+
+msgctxt "golf"
+msgid "Natural"
+msgstr "Prírodný povrch"
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr "Čelná vodná prekážka"
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr "Bočná vodná prekážka"
+
+msgctxt "golf"
+msgid "Green"
+msgstr "Jamkovisko (Green)"
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr "Fervej (Fairway)"
+
+msgctxt "golf"
+msgid "Rough"
+msgstr "Raf (Rough)"
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr "Tréningová lúka (Driving range)"
+
 msgid "Miniature Golf"
 msgstr "Minigolf"
 
@@ -21759,9 +22118,6 @@ msgstr "Plážový volejbal"
 msgid "Billiards"
 msgstr "Biliard"
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golfové ihrisko"
 
@@ -21847,7 +22203,7 @@ msgstr "škola"
 
 msgctxt "building"
 msgid "commercial"
-msgstr "obchodná"
+msgstr "obchodná (komerčná)"
 
 msgctxt "building"
 msgid "service"
@@ -21915,7 +22271,7 @@ msgstr "kôlňa"
 
 msgctxt "building"
 msgid "storage_tank"
-msgstr "Zásobník/silo"
+msgstr "zásobník/silo"
 
 msgctxt "building"
 msgid "supermarket"
@@ -21926,6 +22282,10 @@ msgid "gasometer"
 msgstr "plynojem"
 
 msgctxt "building"
+msgid "silo"
+msgstr "silo"
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "maštaľ"
 
@@ -21934,6 +22294,38 @@ msgid "construction"
 msgstr "vo výstavbe"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "bazilika"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "katedrála"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "kaplnka"
+
+msgctxt "building"
+msgid "church"
+msgstr "kostol"
+
+msgctxt "building"
+msgid "temple"
+msgstr "chrám"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "mešita"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "synagóga"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr "veža transformátora"
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Počet podlaží"
 
@@ -22046,8 +22438,11 @@ msgstr "Veterný mlyn"
 msgid "Gasometer"
 msgstr "Plynojem (gasometer)"
 
+msgid "Silo"
+msgstr "Silo"
+
 msgid "Storage Tank"
-msgstr "Zásobník/silo"
+msgstr "zásobník/silo"
 
 msgctxt "content"
 msgid "fuel"
@@ -22447,6 +22842,14 @@ msgstr "munícia"
 msgid "hardened_aircraft_shelter"
 msgstr "spevnený letecký kryt"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "pod zemou"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "nad zemou"
+
 msgid "Historic"
 msgstr "Historický"
 
@@ -22456,6 +22859,9 @@ msgstr "Zrúcanina"
 msgid "Range"
 msgstr "Strelnica"
 
+msgid "Power"
+msgstr "Energia"
+
 msgid "Power Plant"
 msgstr "Elektráreň"
 
@@ -22889,11 +23295,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Káblová rozvodná skriňa"
+msgid "Power Street Cabinet"
+msgstr "Rozvodná skriňa"
 
-msgid "Power Tower"
-msgstr "Elektrický stožiar (vysoké napätie)"
+msgid "Transformer Tower"
+msgstr "Veža transformátora"
+
+msgid "Power Portal"
+msgstr "Elektrický portál"
 
 msgid "Type of construction"
 msgstr "Konštrukcia"
@@ -22914,6 +23323,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "červená/biela"
 
+msgid "Portal design"
+msgstr "Tvar portálu"
+
+msgctxt "power"
+msgid "portal"
+msgstr "portál"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portál dvojposchodový"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portál trojposchodový"
+
+msgid "Power Tower"
+msgstr "Elektrický stožiar (vysoké napätie)"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Typ stožiara"
@@ -23037,18 +23464,6 @@ msgid "guyed_h-frame"
 msgstr "tvar H s ukotvením"
 
 msgctxt "power"
-msgid "portal"
-msgstr "portál"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "portál dvojposchodový"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "portál trojposchodový"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "tvar V s ukotvením"
 
@@ -23081,6 +23496,9 @@ msgstr "Vlastnosti stĺpa:"
 msgid "Transformer Attributes:"
 msgstr "Vlastnosti transformátora:"
 
+msgid "Insulator"
+msgstr "Izolátor"
+
 msgid "Power Line"
 msgstr "Elektrické vedenie"
 
@@ -23338,6 +23756,9 @@ msgstr "Nábytok"
 msgid "Kitchen"
 msgstr "Kuchynské štúdio"
 
+msgid "Houseware"
+msgstr "Domáce potreby"
+
 msgid "Curtain"
 msgstr "Záclony"
 
@@ -23380,12 +23801,21 @@ msgstr "Pre telo"
 msgid "Chemist"
 msgstr "Drogéria"
 
-msgid "Hairdresser/Barber"
-msgstr "Kaderníctvo/Holičstvo"
+msgid "Cosmetics"
+msgstr "Obchod s kozmetikou"
+
+msgid "Perfumery"
+msgstr "Parfuméria"
 
 msgid "Beauty"
 msgstr "Salón krásy"
 
+msgid "Tobacco"
+msgstr "Tabak"
+
+msgid "Hairdresser/Barber"
+msgstr "Kaderníctvo/Holičstvo"
+
 msgid "Tattoo"
 msgstr "Tetovanie"
 
@@ -23711,6 +24141,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Telekomunikácie"
 
+msgid "Craft"
+msgstr "Remeslá"
+
+msgid "Carpenter"
+msgstr "Tesár"
+
+msgid "Shoemaker"
+msgstr "Obuvník"
+
+msgid "Photographer"
+msgstr "Fotograf"
+
+msgid "Metal construction"
+msgstr "Kovoobrábač"
+
+msgid "Electrician"
+msgstr "Elektrikár"
+
+msgid "Brewery"
+msgstr "Pivovar"
+
+msgid "Plumber"
+msgstr "Inštalatér"
+
+msgid "Sawmill"
+msgstr "Píla"
+
+msgid "Gardener"
+msgstr "Záhradník"
+
+msgid "Winery"
+msgstr "Vinár"
+
+msgid "Hvac"
+msgstr "Klimatizácie"
+
+msgid "Painter"
+msgstr "Maliar/natierač"
+
+msgid "Stonemason"
+msgstr "Kamenár"
+
+msgid "Handicraft"
+msgstr "Ručné výrobky"
+
+msgid "Pottery"
+msgstr "Hrnčiar"
+
+msgid "Key cutter"
+msgstr "Kľúčová služba"
+
+msgid "Caterer"
+msgstr "Catering"
+
+msgid "Roofer"
+msgstr "Pokrývač striech"
+
+msgid "Beekeeper"
+msgstr "Včelár"
+
+msgid "Blacksmith"
+msgstr "Kováč"
+
+msgid "Locksmith"
+msgstr "Zámočník"
+
+msgid "Window construction"
+msgstr "Výroba okien"
+
+msgid "Upholsterer"
+msgstr "Čalúnnictvo"
+
+msgid "Tiler"
+msgstr "Dláždenie"
+
 msgid "Geography"
 msgstr "Geografia(Zemepis)"
 
@@ -23879,6 +24384,16 @@ msgstr "Dolina"
 msgid "A low area between hills."
 msgstr "Znížené územie medzi kopcami."
 
+msgid "Cliff"
+msgstr "Útes"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Strmý skalný útvar s (takmer) zvislým sklonom (dolná strana je napravo od "
+"cesty)."
+
 msgid "Cave Entrance"
 msgstr "Vstup do jaskyne"
 
@@ -24091,6 +24606,51 @@ msgstr "Lúka"
 msgid "Orchard"
 msgstr "Ovocný sad"
 
+msgid "Trees"
+msgstr "Stromy"
+
+msgid "olive_trees"
+msgstr "olivovníky"
+
+msgid "apple_trees"
+msgstr "jablone"
+
+msgid "oil_palms"
+msgstr "olejové palmy"
+
+msgid "orange_trees"
+msgstr "pomarančovníky"
+
+msgid "almond_trees"
+msgstr "mandľovníky"
+
+msgid "banana_plants"
+msgstr "banánovníky"
+
+msgid "coconut_palms"
+msgstr "kokosové palmy"
+
+msgid "hazel_plants"
+msgstr "lieskovce"
+
+msgid "cherry_trees"
+msgstr "višne"
+
+msgid "persimmon_trees"
+msgstr "ďatlovníky"
+
+msgid "walnut_trees"
+msgstr "orechy"
+
+msgid "plum_trees"
+msgstr "slivky"
+
+msgid "peach_trees"
+msgstr "broskyne"
+
+msgid "tea_plants"
+msgstr "čajovníky"
+
 msgid "Vineyard"
 msgstr "Vinica"
 
@@ -24889,9 +25449,6 @@ msgstr "{0} a {1} spolu s {2} a odporujúce si hodnoty"
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Podozrivá kombinácia značiek: {0} a {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} je zastaralé"
-
 msgid "{0} is deprecated"
 msgstr "{0} je zastaralý"
 
@@ -24917,8 +25474,8 @@ msgstr ""
 "Nesprávne použitie značky {0}. Odstráňte {1}, pretože je zrejmé, že názov "
 "chýba aj bez doplňujúcej značky."
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0}={1} je zastaralé. Prosím použite multipolygón."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr "{0} je zastaralé. Prosím použite radšej multipolygón."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -24968,6 +25525,15 @@ msgstr "nezvyčajne krátky kľúč"
 msgid "{0} is inaccurate"
 msgstr "{0} je nepresné"
 
+msgid "{0} is deprecated for {1}"
+msgstr "{0} je pre {1} zastaralé"
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr "{0} je zastaralé. Použite namiesto toho predponu kľúča {1}: ."
+
+msgid "questionable key (ending with a number): {0}"
+msgstr "podozrivý kľúč (končí na číslo): {0}"
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} na bode. Malo by byť použité na ceste."
 
@@ -24983,6 +25549,9 @@ msgstr "{0} na ceste. Malo by byť použité na bode."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} na ceste. Malo by byť použité v relácii"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr "{0} spolu s {1} na bode. Odstráňte {0}."
+
 msgid "{0} on a node"
 msgstr "{0} na bode"
 
@@ -25010,6 +25579,9 @@ msgstr "{0} musí byť pripojené k ceste"
 msgid "node connects waterway and bridge"
 msgstr "bod spája vodnú cestu a most"
 
+msgid "suspicious roundabout direction"
+msgstr "podozrivý smer kruhového objazdu"
+
 msgid "abbreviated street name"
 msgstr "skrátený názov ulice"
 
@@ -25053,8 +25625,8 @@ msgstr "hodnota značky \"layer\" so znamienkom +"
 msgid "layer should be between -5 and 5"
 msgstr "hodnota \"layer\" by mala byť medzi -5 a 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "\"level\" by malo byť číslo v násobkoch 0.5"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr "{0} by mal mať len čísla, prípadne s krokmi po 0,5"
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -28607,7 +29179,7 @@ msgstr "obrázky"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -28926,6 +29498,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr "Sťahujú sa obrázky Mapillary"
 
@@ -28941,6 +29516,18 @@ msgstr "Odoslanie ukončené"
 msgid "Uploading: {0}"
 msgstr "Odosiela sa: {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Namerané hodnoty"
 
@@ -30290,6 +30877,12 @@ msgstr "Plugin Proj4J"
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -30376,15 +30969,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -32474,6 +33058,9 @@ msgstr "Cesta s vybranými bodmi nemôže byť vyrovnaná."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Interná chyba: počet bodov je {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Extrahovať bod"
 
@@ -33123,6 +33710,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Pridať názvy z Wikipedie"
 
diff --git a/i18n/po/sl.po b/i18n/po/sl.po
index 9006057..9ba779b 100644
--- a/i18n/po/sl.po
+++ b/i18n/po/sl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-11-07 17:38+0000\n"
 "Last-Translator: Joško Horvat <Unknown>\n"
 "Language-Team: Slovenian <sl at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
 "n%100==4 ? 3 : 0);\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:01+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:00+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: sl\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -389,6 +389,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr "Obrni poti"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -444,6 +447,12 @@ msgstr "Izbriši"
 msgid "Delete selected objects."
 msgstr "Izbriši izbrane predmete."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1177,9 +1186,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr "Obrni poti"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Obrni smer izbranih poti."
 
@@ -1519,6 +1525,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2239,6 +2255,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2280,6 +2301,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2634,7 +2664,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3199,9 +3232,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3260,6 +3290,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "V"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3493,6 +3526,9 @@ msgstr "besedilo"
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3570,12 +3606,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3585,6 +3633,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "Merkator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4153,6 +4219,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4853,9 +4922,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4914,12 +4980,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Geografska širina pod kazalcem miške."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Geografska dolžina pod kazalcem miške."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4946,6 +5006,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Geografska širina pod kazalcem miške."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Geografska dolžina pod kazalcem miške."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5765,6 +5837,18 @@ msgstr "Razreši"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5881,6 +5965,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6306,6 +6393,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6653,19 +6743,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6767,6 +6851,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7094,7 +7190,7 @@ msgstr "Spremeni vrednost izbranega ključa vsem predmetom"
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7130,6 +7226,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7201,6 +7300,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7313,9 +7433,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7346,108 +7463,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-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"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Select next Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort below"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Reverse"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "Pomakni izbranega člana vrstico višje"
-
-msgid "Relation Editor: Move Up"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr "Pomakni izbranega člana vrstico nižje"
-
-msgid "Relation Editor: Move Down"
-msgstr ""
+msgid "Reload"
+msgstr "Ponovno naloži"
 
-msgid "Remove the currently selected members from this relation"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Apply Changes"
 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."
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Yes, create a conflict and close"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Click to create a conflict and close this relation editor"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "No, continue editing"
+msgid "Load relation"
 msgstr ""
 
-msgid "Click to return to the relation editor and to resume relation editing"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7466,6 +7558,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7474,110 +7569,163 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
+msgid "Delete the currently edited relation"
 msgstr ""
 
-msgid "Download all incomplete members"
+msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download Members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Relation Editor: Download Members"
+msgid "Download Members"
 msgstr ""
 
 msgid "Download selected incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Relation Editor: Move Down"
 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] ""
+msgid "Move the currently selected members down"
+msgstr "Pomakni izbranega člana vrstico nižje"
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Move the currently selected members up"
+msgstr "Pomakni izbranega člana vrstico višje"
+
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Refresh"
 msgstr ""
 
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Refers to"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Reverse"
 msgstr ""
 
-msgid "Reload"
-msgstr "Ponovno naloži"
+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 ""
 
-msgid "Loading parent relations"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Apply Changes"
+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 ""
 
-msgid "Create new relation in layer ''{0}''"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
 msgstr ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Select objects for selected relation members"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
 
-msgid "Load relation"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7969,6 +8117,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8072,10 +8225,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8255,9 +8412,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8778,7 +8932,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8787,32 +8941,29 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
+msgid "Load tile"
 msgstr ""
 
-msgid "Auto load tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Tiles"
-msgstr "Naloži vse ploščice"
-
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
-msgstr "Spremeni ločljivost"
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
-msgstr "Naloži ploščico"
+msgid "Change resolution"
+msgstr "Spremeni ločljivost"
 
 msgid "Increase zoom"
 msgstr ""
@@ -8820,10 +8971,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9243,6 +9394,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr "Slike z geografskim položajem"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9267,9 +9421,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr "Slike z geografskim položajem"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9624,9 +9775,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9671,6 +9820,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9727,11 +9882,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9847,6 +9997,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10207,6 +10363,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "Napredne nastavitve"
 
@@ -10288,18 +10453,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10953,9 +11109,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr "Naziv v meniju"
 
@@ -11227,6 +11380,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11856,12 +12012,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Vera"
 
@@ -11951,6 +12101,9 @@ msgstr "Uporabi prednastavitev ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12023,6 +12176,9 @@ msgstr ""
 msgid "Presets"
 msgstr "Prednastavitve"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12066,6 +12222,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12154,16 +12313,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "ne: lastnost je izrecno izklopljena"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "da: lastnost je izrecno vklopljena"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12647,6 +12820,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12661,9 +12837,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12858,9 +13031,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13029,21 +13199,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13055,6 +13232,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13072,19 +13257,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13771,9 +13945,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13805,6 +13976,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13813,9 +13987,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13949,6 +14120,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14257,9 +14431,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14353,6 +14524,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14419,6 +14593,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14515,13 +14692,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14644,6 +14824,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14664,9 +14847,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14737,6 +14917,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14770,10 +14959,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15469,6 +15661,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16124,19 +16319,118 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
+msgstr ""
+
+msgid "greek"
+msgstr ""
+
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
 msgstr ""
 
 msgid "Smoking"
@@ -16691,7 +16985,10 @@ msgstr ""
 msgid "Toll"
 msgstr "Cestnina"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17445,25 +17742,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17613,6 +17914,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17783,6 +18087,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17845,14 +18152,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18781,66 +19080,6 @@ msgstr "Hrana in pijača"
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18853,19 +19092,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19043,6 +19276,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "Vodni park"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Savna"
 
@@ -19077,9 +19316,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Ribarjenje"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19122,12 +19358,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19231,6 +19473,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19390,6 +19636,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19502,24 +19867,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "Telefonske kartice"
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19682,63 +20032,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
 msgstr ""
 
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19792,9 +20093,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golf igrišče"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Mini golf"
 
@@ -20019,9 +20373,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golf_igrišče"
 
@@ -20186,6 +20537,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20194,6 +20549,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20306,6 +20693,9 @@ msgstr "Mlin na veter"
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20707,6 +21097,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20716,6 +21114,9 @@ msgstr "Ruševine"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21147,11 +21548,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
-msgstr "Steber daljnovoda"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21172,6 +21576,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Steber daljnovoda"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21295,18 +21717,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21339,6 +21749,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21596,6 +22009,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21638,12 +22054,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21969,6 +22394,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22137,6 +22637,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22337,6 +22845,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Vinograd"
 
@@ -23131,9 +23684,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23155,7 +23705,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23199,6 +23749,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23214,6 +23773,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23241,6 +23803,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23282,7 +23847,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26708,7 +27273,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27021,6 +27586,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27036,6 +27604,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Izmerjene vrednosti"
 
@@ -28377,6 +28957,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28463,15 +29049,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30458,6 +31035,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31048,6 +31628,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/sq.po b/i18n/po/sq.po
index ff3aaed..971ffef 100644
--- a/i18n/po/sq.po
+++ b/i18n/po/sq.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 04:31+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:31+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/sr.po b/i18n/po/sr.po
index 8703c79..b9a33d2 100644
--- a/i18n/po/sr.po
+++ b/i18n/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-02-01 15:30+0000\n"
 "Last-Translator: Slobodan Simić <Unknown>\n"
 "Language-Team: Serbian <sr at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-01-06 04:59+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 04:58+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: sr\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -387,6 +387,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -442,6 +445,12 @@ msgstr "Уклони"
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1173,9 +1182,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1508,6 +1514,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2226,6 +2242,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2267,6 +2288,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2621,7 +2651,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3184,9 +3217,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3245,6 +3275,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3472,6 +3505,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3549,12 +3585,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3564,6 +3612,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4130,6 +4196,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4824,9 +4893,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4885,12 +4951,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4917,6 +4977,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5736,6 +5808,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5852,6 +5936,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6277,6 +6364,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6624,19 +6714,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6738,6 +6822,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7065,7 +7161,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7101,6 +7197,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7168,6 +7267,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7280,9 +7400,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7313,108 +7430,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7433,6 +7525,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7441,48 +7536,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7490,61 +7574,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7933,6 +8081,11 @@ msgid ""
 msgstr ""
 "<html>Верзија <strong>{0}</strong> направљена <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8036,10 +8189,14 @@ msgid "Upload"
 msgstr "Пошаљи"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8219,9 +8376,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8734,7 +8888,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8743,31 +8897,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8776,10 +8927,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9199,6 +9350,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9223,9 +9377,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9576,9 +9727,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9623,6 +9772,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9679,11 +9834,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9799,6 +9949,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10159,6 +10315,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10240,18 +10405,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10903,9 +11059,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11177,6 +11330,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11806,12 +11962,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11901,6 +12051,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11971,6 +12124,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12014,6 +12170,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12102,16 +12261,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12591,6 +12764,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12605,9 +12781,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12800,9 +12973,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12971,21 +13141,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12997,6 +13174,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13014,19 +13199,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13709,9 +13883,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13743,6 +13914,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13751,9 +13925,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13887,6 +14058,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14195,9 +14369,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14291,6 +14462,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14357,6 +14531,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14453,13 +14630,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14582,6 +14762,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14602,9 +14785,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14675,6 +14855,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14708,10 +14897,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15407,6 +15599,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16062,25 +16257,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16629,7 +16923,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17383,25 +17680,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17551,6 +17852,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17721,6 +18025,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17783,14 +18090,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18719,66 +19018,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18791,19 +19030,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18981,6 +19214,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19015,9 +19254,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19060,12 +19296,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19169,6 +19411,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19328,6 +19574,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19440,24 +19805,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19620,63 +19970,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19730,9 +20031,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19957,9 +20311,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20124,6 +20475,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20132,6 +20487,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20244,6 +20631,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20645,6 +21035,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20654,6 +21052,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21085,10 +21486,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21110,6 +21514,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21233,18 +21655,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21277,6 +21687,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21534,6 +21947,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21576,12 +21992,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21907,6 +22332,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22075,6 +22575,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22275,6 +22783,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23069,9 +23622,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23093,7 +23643,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23137,6 +23687,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23152,6 +23711,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23179,6 +23741,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23220,7 +23785,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26644,7 +27209,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26957,6 +27522,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26972,6 +27540,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28313,6 +28893,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28399,15 +28985,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30394,6 +30971,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30982,6 +31562,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/sv.po b/i18n/po/sv.po
index 475f8cd..aa408b5 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: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2015-12-11 20:32+0000\n"
-"Last-Translator: Niklas Henriksson <fringillus92 at gmail.com>\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-08 15:05+0000\n"
+"Last-Translator: Andreas Vilén <andreas.vilen at gmail.com>\n"
 "Language-Team: Swedish <sv at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:02+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:01+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: sv\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -143,7 +143,7 @@ msgid "Last change at {0}"
 msgstr "Senast ändrad {0}"
 
 msgid "Java Version {0}"
-msgstr "Javaversion {0}"
+msgstr "Java-version {0}"
 
 msgid "Homepage"
 msgstr "Hemsida"
@@ -173,7 +173,7 @@ msgid "About JOSM..."
 msgstr "Om JOSM..."
 
 msgid "Failed to locate resource ''{0}''."
-msgstr ""
+msgstr "Kunde inte hitta resursen ''{0}''."
 
 msgid "Failed to load resource ''{0}'', error is {1}."
 msgstr "Misslyckades med att ladda resursen ''{0}'', med felet {1}."
@@ -401,6 +401,9 @@ msgstr ""
 "Kunde inte kombinera sträcka<br>(De kunde inte bli hopslagna till en linje "
 "av noder)"
 
+msgid "Reverse Ways"
+msgstr "Ändra riktning på sträckor"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Kombinera {0} sträcka"
@@ -458,6 +461,12 @@ msgstr "Radera"
 msgid "Delete selected objects."
 msgstr "Radera markerade objekt."
 
+msgid "Delete Layer"
+msgstr "Radera lager"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Radera det aktiva lagret. Detta raderar inte den associerade filen."
+
 msgid "Toggle dialogs panel"
 msgstr "Växlar dialogpanelen"
 
@@ -1258,9 +1267,6 @@ msgstr "Klicka för att starta om senare."
 msgid "Reverse way"
 msgstr "Ändra riktning på sträcka"
 
-msgid "Reverse Ways"
-msgstr "Ändra riktning på sträckor"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Ändra riktningen på alla valda sträckor."
 
@@ -1437,7 +1443,7 @@ msgid "Split a way at the selected node."
 msgstr "Dela sträckan vid vald nod."
 
 msgid "Cannot split since another split operation is already in progress"
-msgstr ""
+msgstr "Kan inte dela då en annan delningsoperation redan pågår"
 
 msgid ""
 "The current selection cannot be used for splitting - no node is selected."
@@ -1573,25 +1579,25 @@ msgstr ""
 "få sina egna kopior och alla noder kommer att vara valda."
 
 msgid "Existing node"
-msgstr ""
+msgstr "Befintlig nod"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Både noderna"
 
 msgid "New node"
-msgstr ""
+msgstr "Ny nod"
 
 msgid "Tags / Memberships"
 msgstr "Taggar / Medlemskap"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Frigör"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "Var ska nodens taggar placeras?"
 
 msgid "Where should the memberships of this node be put?"
-msgstr ""
+msgstr "Var ska den här nodens medlemmar placeras?"
 
 msgid "Unglued Node"
 msgstr "Frigjord nod"
@@ -1626,6 +1632,16 @@ msgstr ""
 "eftersom du inte kan se det fullständiga objektet.<br>Är du säker på att du "
 "vill frigöra?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Frigörandet påverkade {0} relation: {1}"
+msgstr[1] "Frigörandet påverkade {0} relationer: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Kontrollera att relationen inte har förstörts!"
+msgstr[1] "Kontrollera att relationerna inte har förstörts!"
+
 msgid "Disconnect Node from Way"
 msgstr "Koppla bort nod från sträcka"
 
@@ -2403,6 +2419,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Lägg till det valda till relationen"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Lägg till det valda till relation</strong>: Kontrollera "
+"varenda relation!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Lägg till val till {0} relation"
@@ -2450,6 +2473,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr "Bekräftelse"
 
+msgid "List of recent relations"
+msgstr "Lista över de senaste relationerna"
+
+msgid "Open recent relation"
+msgstr "Öppna nylig relation"
+
+msgid "Relation Editor: {0}"
+msgstr "Relations-editor: {0}"
+
 msgid "Select in relation list"
 msgstr "Välj i relationslistan"
 
@@ -2823,8 +2855,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Förväntat <i>min</i>/<i>max</i> efter ''tidsstämpel''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr "Förväntar {0} efter {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Lista med primitiva id:n förväntas"
@@ -2884,8 +2919,7 @@ msgid "Precondition Violation"
 msgstr "Förvalsöverträdelse"
 
 msgid "{0} nodes in way {1} exceed the max. allowed number of nodes {2}"
-msgstr ""
-"{0} noder i sträcka {1} överskrider det maximala antalet tillåtna noder {2}"
+msgstr "{0} noder i väg {1} vilket överskrider maximalt antal noder {2}"
 
 msgid "API Capabilities Violation"
 msgstr "Bryter mot API:ns möjligheter"
@@ -3316,13 +3350,13 @@ msgid "Restoring files"
 msgstr "Återställer filer"
 
 msgid "Unable to delete backup file {0}"
-msgstr ""
+msgstr "Kunde inte ta bort säkerhetskopiefilen {0}"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "Kunde inte ta bort PID-filen {0}"
 
 msgid "Unable to delete archived backup file {0}"
-msgstr ""
+msgstr "Kunde inte ta bort den arkiverade säkerhetskopiefilen {0}"
 
 msgid "Illegal latitude value ''{0}''"
 msgstr "Ogiltigt latitud-värde ''{0}''"
@@ -3439,9 +3473,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr " (vid rad {0}, kolumn {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3455,16 +3486,16 @@ msgid "Imperial"
 msgstr "Imperisk"
 
 msgid "Nautical Mile"
-msgstr "Nautisk mil"
+msgstr "Sjömil"
 
 msgid "UNKNOWN"
 msgstr "OKÄND"
 
 msgid "Error reading revision info from revision file: {0}"
-msgstr ""
+msgstr "Misslyckades med att läsa revisionsinfo från revisionsfilen: {0}"
 
 msgid "Unexpected JOSM version number in revision file, value is ''{0}''"
-msgstr ""
+msgstr "Oväntat JOSM-versionsnummer i revisionsfilen, värdet är ''{0}''"
 
 msgid "The revision file ''/REVISION'' is missing."
 msgstr "Revisionsfilen \"/REVISION\" saknas."
@@ -3500,8 +3531,12 @@ msgctxt "compass"
 msgid "E"
 msgstr "Ö"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
+"Projektionen ''{0}'' hittades inte, så bokmärket ''{1}'' kan inte användas"
 
 msgid "HTTP error {0} when loading tiles"
 msgstr "HTTP-fel {0} vid nedladdning av rutor"
@@ -3733,6 +3768,9 @@ msgstr "text"
 msgid "areatext"
 msgstr "yttext"
 
+msgid " (at line {0}, column {1})"
+msgstr " (vid rad {0}, kolumn {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3743,16 +3781,16 @@ msgid "Parameter must begin with a ''+'' character (found ''{0}'')"
 msgstr ""
 
 msgid "Unknown parameter: ''{0}''."
-msgstr ""
+msgstr "Okänd parameter: ''{0}''."
 
 msgid "Value expected for parameter ''{0}''."
-msgstr ""
+msgstr "Ett värde förväntas för parametern ''{0}''."
 
 msgid "No value expected for parameter ''{0}''."
 msgstr ""
 
 msgid "Unexpected parameter format (''{0}'')"
-msgstr ""
+msgstr "Oväntat parameterformat (''{0}'')"
 
 msgid "Value ''{0}'' for option +init not supported."
 msgstr ""
@@ -3810,12 +3848,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "Parameter ''{0}'' krävs."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3825,6 +3875,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -3851,46 +3919,46 @@ msgid "Running test {0}"
 msgstr "Kör test {0}"
 
 msgid "E-mail address contains non-ascii characters"
-msgstr ""
+msgstr "E-postadressen innehåller icke-ASCII-tecken (t.ex. ÅÄÖ)"
 
 msgid "E-mail address is invalid"
 msgstr "E-mailadressen är ogiltig"
 
 msgid "E-mail address contains an invalid username: {0}"
-msgstr ""
+msgstr "E-postadressen innehåller ett felaktigt användarnamn: {0}"
 
 msgid "E-mail address contains an invalid domain: {0}"
-msgstr ""
+msgstr "E-postadressen innehåller ett felaktigt domännamn: {0}"
 
 msgid "URL contains non-ascii characters"
-msgstr ""
+msgstr "URL:en innehåller icke-ASCII-tecken"
 
 msgid "URL is invalid"
 msgstr "URL:en är ogiltig"
 
 msgid "URL contains an invalid protocol: {0}"
-msgstr ""
+msgstr "URL:en innehåller ett felaktigt protokoll: {0}"
 
 msgid "URL contains an invalid authority: {0}"
 msgstr ""
 
 msgid "URL contains an invalid path: {0}"
-msgstr ""
+msgstr "URL:en innehåller en felaktig sökväg: {0}"
 
 msgid "URL contains an invalid query: {0}"
-msgstr ""
+msgstr "URL:en innehåller en felaktig frågesträng: {0}"
 
 msgid "URL contains an invalid fragment: {0}"
-msgstr ""
+msgstr "URL:en innehåller ett felaktigt fragment: {0}"
 
 msgid "Addresses"
 msgstr "Adresser"
 
 msgid "Checks for errors in addresses and associatedStreet relations."
-msgstr ""
+msgstr "Kontrollerar fel i adresser och associatedStreet-relationer."
 
 msgid "Multiple associatedStreet relations"
-msgstr ""
+msgstr "Flera associatedStreet-relationer"
 
 msgid "House number without street"
 msgstr "Husnummer utan gata"
@@ -3916,9 +3984,10 @@ msgstr ""
 msgid ""
 "Way contains more than {0} nodes. It should be replaced by a multipolygon"
 msgstr ""
+"Sträckan innehåller mer än {0} noder. Den bör ersättas med en multipolygon"
 
 msgid "Way contains more than {0} nodes. It should be split or simplified"
-msgstr ""
+msgstr "Sträckan innehåller mer än {0} noder. Den bör delas eller förenklas"
 
 msgid "Barriers and entrances"
 msgstr "Barriärer och ingångar"
@@ -4408,6 +4477,9 @@ msgstr "Egenskapsnyckel innehåller ogiltigt blanksteg"
 msgid "Property values start or end with white space"
 msgstr "Egenskapsvärdet börjar eller slutar med blanksteg"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Det finns en HTML-markör i egenskapsvärdet"
 
@@ -5124,9 +5196,6 @@ msgstr "Inställningar för bakgrundsbilder"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Klicka för att öppna fliken bakgrundsbilder i inställningarna"
 
-msgid "Search menu items"
-msgstr "Sök menyrader"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Ljud"
@@ -5185,12 +5254,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Den geografiska latituden vid muspekaren."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Den geografiska longituden vid muspekaren."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Kompassriktning för den delsträcka som ritas."
 
@@ -5217,6 +5280,18 @@ msgstr "Användare:"
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Den geografiska latituden vid muspekaren."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Den geografiska longituden vid muspekaren."
+
 msgid "System of measurement changed to {0}"
 msgstr "Måttsystem ändrat till {0}"
 
@@ -6025,10 +6100,10 @@ msgid ""
 msgstr ""
 
 msgid "Undo the selected and all later commands"
-msgstr ""
+msgstr "Ångra det markerade och alla efterföljande kommandon"
 
 msgid "Redo the selected and all earlier commands"
-msgstr ""
+msgstr "Gör om det markerade och alla föregående kommandon"
 
 msgid "Resolve conflicts."
 msgstr "Lös konflikter"
@@ -6039,7 +6114,7 @@ msgstr[0] ""
 msgstr[1] ""
 
 msgid "Rel.:{0} / Ways:{1} / Nodes:{2}"
-msgstr ""
+msgstr "Rel.: {0} / Sträckor: {1} / Noder: {2}"
 
 msgid "Resolve"
 msgstr "Jämka"
@@ -6048,6 +6123,18 @@ msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 "Öppna en sammanfogningsdialog med alla de valda posterna från listan ovan."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -6169,6 +6256,9 @@ msgstr "Flytta filter ner."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6273,10 +6363,10 @@ msgid "Edited at: "
 msgstr ""
 
 msgid "<new object>"
-msgstr ""
+msgstr "<nytt objekt>"
 
 msgid "Edited by: "
-msgstr ""
+msgstr "Ändrad av: "
 
 msgid "Version: "
 msgstr "Version: "
@@ -6296,7 +6386,7 @@ msgstr[0] ""
 msgstr[1] ""
 
 msgid " as \"{0}\""
-msgstr ""
+msgstr " som ''{0}''"
 
 msgid "{0} Nodes: "
 msgstr ""
@@ -6595,14 +6685,17 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr "Sök menyrader"
+
 msgid "Mini map"
-msgstr ""
+msgstr "Minikarta"
 
 msgid "Displays a small map of the current edit location"
 msgstr ""
 
 msgid "List of notes"
-msgstr ""
+msgstr "Anteckningslista"
 
 msgid "Add comment"
 msgstr ""
@@ -6948,21 +7041,15 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr "Hämta innehåll"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Hämta hem ändringsuppsättningens innehåll från OSM-servern"
-
-msgid "Update content"
-msgstr "Uppdatera innehåll"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Uppdatera ändringsuppsättningens innehåll mot OSM-servern"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Ladda ner och visa historik för de valda objekten"
 
+msgid "Download objects"
+msgstr "Ladda ner objekt"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr ""
 
@@ -7062,6 +7149,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr "Hämta innehåll"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Hämta hem ändringsuppsättningens innehåll från OSM-servern"
+
+msgid "Update content"
+msgstr "Uppdatera innehåll"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Uppdatera ändringsuppsättningens innehåll mot OSM-servern"
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7398,8 +7497,8 @@ msgstr "Redigera värdet av den valda nyckeln för alla objekt."
 msgid "Edit Tags"
 msgstr "Redigera taggar"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Gå till OSM wiki för hjälp om taggen (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Starta webbläsare med wiki-hjälpen för det valda objektet"
@@ -7434,6 +7533,9 @@ msgstr "Kopiera alla Nycklar/Värden"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Sök Nyckel/Värde/Typ"
 
@@ -7501,6 +7603,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr "Dölj"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7614,9 +7737,6 @@ msgstr "Ny Relation"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr "Relations-editor: {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 "
@@ -7647,112 +7767,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr ""
+msgid "Select previous Gap"
+msgstr "Välj föregående glapp"
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
+msgid "Select next Gap"
+msgstr "Välj nästa glapp"
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
+msgstr "Zooma till glapp"
+
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Refers to"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Sort the relation members"
-msgstr "Sortera relationsmedlemmarna"
+msgid "Download referring relations"
+msgstr "Hämta relationer som refererar hit"
 
-msgid "Relation Editor: Sort"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "{0} konflikter uppstod under import."
 
-msgid "Sort below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
-msgstr ""
+msgid "Load parent relations"
+msgstr "Ladda föräldra-relationer"
 
-msgid "Reverse the order of the relation members"
-msgstr ""
+msgid "Reload"
+msgstr "Uppdatera"
 
-msgid "Reverse"
-msgstr ""
+msgid "Loading parent relations"
+msgstr "Laddar föräldra-relationer"
 
-msgid "Move the currently selected members up"
-msgstr "Flytta vald medlem/valda medlemmar uppåt"
+msgid "Edit the currently selected relation"
+msgstr "Redigera den nuvarande valda relationen"
 
-msgid "Relation Editor: Move Up"
-msgstr ""
+msgid "Apply Changes"
+msgstr "Verkställ ändringar"
 
-msgid "Move the currently selected members down"
-msgstr "Flytta vald medlem/valda medlemmar nedåt"
+msgid "Create new relation in layer ''{0}''"
+msgstr "Skapa ny relation i lager \"{0}\""
 
-msgid "Relation Editor: Move Down"
-msgstr ""
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Redigera ny relation i lager \"{0}\""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
-msgstr ""
+msgid "Load relation"
+msgstr "Ladda relation"
 
-msgid "Delete the currently edited relation"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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."
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
-msgid "Yes, create a conflict and close"
-msgstr "Ja, skapa en konflikt och stäng"
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr "Klicka för att skapa en konflikt och stäng relationsredigeraren"
-
-msgid "No, continue editing"
-msgstr "Nej, fortsätt att redigera"
-
-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>Den här relationen har blivit ändrad utanför relations-"
-"redigeraren.<br>Du kan inte applicera dina ändringar och fortsätta "
-"redigera<br><br>Vill du skapa en komflikt och stänga relations-"
-"redigeraren?</html>"
-
-msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
-msgstr ""
+msgid ""
+"Add all objects selected in the current dataset before the first selected "
+"member"
+msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr "Applicera uppdateringarna och stäng dialogen"
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7771,6 +7862,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr "Avbryt, fortsätt redigera"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7780,8 +7874,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr "Osparade ändringar"
 
-msgid "Add an empty tag"
-msgstr "Lägg till en tom tagg"
+msgid "Delete the currently edited relation"
+msgstr ""
+
+msgid "Relation Editor: Download Members"
+msgstr "Relationsredigerare: Hämta medlemmar"
 
 msgid "Download all incomplete members"
 msgstr "Hämta alla ofullständiga medlemmar"
@@ -7789,102 +7886,156 @@ msgstr "Hämta alla ofullständiga medlemmar"
 msgid "Download Members"
 msgstr "Hämta medlemmar"
 
-msgid "Relation Editor: Download Members"
-msgstr "Relationsredigerare: Hämta medlemmar"
-
 msgid "Download selected incomplete members"
 msgstr "Hämta valda ofullständiga medlemmar"
 
-msgid "Sets a role for the selected members"
-msgstr "Sätter en roll för den valda medlemmen"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr ""
 
-msgid "Apply Role"
-msgstr "Applicera Roll"
+msgid "Relation Editor: Move Down"
+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] ""
+msgid "Move the currently selected members down"
+msgstr "Flytta vald medlem/valda medlemmar nedåt"
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
-msgstr "Vill du verkligen applicera den nya rollen?"
+msgid "Move the currently selected members up"
+msgstr "Flytta vald medlem/valda medlemmar uppåt"
 
-msgid "Yes, apply it"
+msgid "Apply the updates and close the dialog"
+msgstr "Applicera uppdateringarna och stäng dialogen"
+
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Refresh"
+msgstr "Uppdatera"
+
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
 msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Select previous Gap"
-msgstr "Välj föregående glapp"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "No, continue editing"
+msgstr "Nej, fortsätt att redigera"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "Select next Gap"
-msgstr "Välj nästa glapp"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Zoom to Gap"
-msgstr "Zooma till glapp"
+msgid "Remove the currently selected members from this relation"
+msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Refers to"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Download referring relations"
-msgstr "Hämta relationer som refererar hit"
+msgid "Reverse"
+msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "{0} konflikter uppstod under import."
+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 ""
 
-msgid "including immediate children of parent relations"
+msgid "Yes, create a conflict and close"
+msgstr "Ja, skapa en konflikt och stäng"
+
+msgid "Click to create a conflict and close this relation editor"
+msgstr "Klicka för att skapa en konflikt och stäng relationsredigeraren"
+
+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>Den här relationen har blivit ändrad utanför relations-"
+"redigeraren.<br>Du kan inte applicera dina ändringar och fortsätta "
+"redigera<br><br>Vill du skapa en komflikt och stänga relations-"
+"redigeraren?</html>"
 
-msgid "Load parent relations"
-msgstr "Ladda föräldra-relationer"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
 
-msgid "Reload"
-msgstr "Uppdatera"
+msgid "Select objects for selected relation members"
+msgstr ""
 
-msgid "Loading parent relations"
-msgstr "Laddar föräldra-relationer"
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
 
-msgid "Edit the currently selected relation"
-msgstr "Redigera den nuvarande valda relationen"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
 
-msgid "Apply Changes"
-msgstr "Verkställ ändringar"
+msgid "Sets a role for the selected members"
+msgstr "Sätter en roll för den valda medlemmen"
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "Skapa ny relation i lager \"{0}\""
+msgid "Apply Role"
+msgstr "Applicera Roll"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Redigera ny relation i lager \"{0}\""
+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] ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "This is equal to deleting the roles of these objects."
 msgstr ""
 
-msgid "Load relation"
-msgstr "Ladda relation"
+msgid "Do you really want to apply the new role?"
+msgstr "Vill du verkligen applicera den nya rollen?"
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr "Sortera relationsmedlemmarna"
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "sträckan sitter ihop"
@@ -7996,7 +8147,7 @@ msgid "Select to download GPS traces in the selected download area."
 msgstr "Välj för att hämta GPS-spår för det valda hämtningsområdet."
 
 msgid "Select to download notes in the selected download area."
-msgstr ""
+msgstr "Välj för att hämta anteckningar för det valda hämtningsområdet."
 
 msgid "Download as new layer"
 msgstr "Hämta som ett nytt lager"
@@ -8289,6 +8440,11 @@ msgid ""
 msgstr ""
 "<html>Version <strong>{0}</strong> skapad <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8405,10 +8561,14 @@ msgid "Upload"
 msgstr "Överför"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8591,9 +8751,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr "Ladda ner objekt"
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -9134,7 +9291,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} objekt att radera:"
 msgstr[1] "{0} objekt att radera:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -9143,16 +9300,22 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr "Zooma automatiskt"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr ""
 
-msgid "Load All Tiles"
-msgstr "Hämta alla rutor"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Load all error tiles"
 msgstr ""
 
 msgid "Zoom to native resolution"
@@ -9161,25 +9324,16 @@ msgstr ""
 msgid "Change resolution"
 msgstr "Ändra upplösning"
 
-msgid "Failed to create tile source"
-msgstr ""
-
-msgid "Show Errors"
-msgstr "Visa fel"
-
-msgid "Load Tile"
-msgstr "Hämta ruta"
-
 msgid "Increase zoom"
 msgstr "Öka zoomläge"
 
 msgid "Decrease zoom"
 msgstr "Minska zoomläge"
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9335,10 +9489,10 @@ msgid "Note"
 msgstr "Anteckning"
 
 msgid "Notes layer"
-msgstr ""
+msgstr "Kartanteckningslager"
 
 msgid "Total notes:"
-msgstr ""
+msgstr "Totalt antal anteckningar:"
 
 msgid "Changes need uploading?"
 msgstr ""
@@ -9611,6 +9765,9 @@ msgstr ""
 "Fel vid tolkning av förskjutning.\n"
 "Förväntat format: {0}"
 
+msgid "Geotagged Images"
+msgstr "Geotaggade bilder"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Extraherar GPS-plats från EXIF"
 
@@ -9635,9 +9792,6 @@ msgstr "Fel vid läsning av filer från folder {0}\n"
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr "Geotaggade bilder"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} bild laddad."
@@ -10004,9 +10158,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -10051,6 +10203,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -10111,13 +10269,6 @@ msgstr "Användarnamn: "
 msgid "Password: "
 msgstr "Lösenord: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Varning:</strong> JOSM loggar in <strong>en gång</strong> med en "
-"säker uppkoppling."
-
 msgid "Granted rights"
 msgstr ""
 
@@ -10233,6 +10384,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10280,13 +10437,13 @@ msgid "Allow to upload map data"
 msgstr ""
 
 msgid "Select to grant JOSM the right to upload map data on your behalf"
-msgstr ""
+msgstr "Välj för att godkänna att JOSM laddar upp kartdata i ditt namn"
 
 msgid "Allow to upload GPS traces"
 msgstr ""
 
 msgid "Select to grant JOSM the right to upload GPS traces on your behalf"
-msgstr ""
+msgstr "Välj för att godkänna att JOSM laddar upp GPS-spår i ditt namn"
 
 msgid "Allow to download your private GPS traces"
 msgstr ""
@@ -10295,24 +10452,26 @@ msgid ""
 "Select to grant JOSM the right to download your private GPS traces into JOSM "
 "layers"
 msgstr ""
+"Välj för att godkänna att JOSM laddar ner dina privata GPS-spår till JOSM-"
+"lager"
 
 msgid "Allow to read your preferences"
 msgstr ""
 
 msgid "Select to grant JOSM the right to read your server preferences"
-msgstr ""
+msgstr "Välj för att godkänna att JOSM läser dina inställningar på servern"
 
 msgid "Allow to write your preferences"
 msgstr ""
 
 msgid "Select to grant JOSM the right to write your server preferences"
-msgstr ""
+msgstr "Välj för att godkänna att JOSM ändrar dina inställningar på servern"
 
 msgid "Allow modifications of notes"
-msgstr ""
+msgstr "Tillåt ändringar av anteckningar"
 
 msgid "Select to grant JOSM the right to modify notes on your behalf"
-msgstr ""
+msgstr "Välj för att godkänna att JOSM ändrar kartanteckningar i ditt namn"
 
 msgid "Retrieving OAuth Access Token..."
 msgstr ""
@@ -10594,6 +10753,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "Avancerade inställningar"
 
@@ -10675,18 +10843,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -11369,9 +11528,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr "Menynamn"
 
@@ -11651,6 +11807,9 @@ msgstr[0] ""
 msgstr[1] ""
 "Hämtning av följande {0} insticksmoduler har <strong>misslyckats</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Starta om JOSM för att aktivera de hämtade insticksmodulerna."
 
@@ -12067,7 +12226,7 @@ msgid "Check interval (minutes):"
 msgstr ""
 
 msgid "Max age for closed notes (days):"
-msgstr ""
+msgstr "Maximal ålder för stängda anteckningar (dagar):"
 
 msgid ""
 "Specifies the number of days a note needs to be closed to no longer be "
@@ -12294,12 +12453,6 @@ msgstr "Numeriska värden"
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr "Elkraft"
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Religion"
 
@@ -12389,6 +12542,9 @@ msgstr "Använd snabbval ''{0}''"
 msgid "Elements of type {0} are supported."
 msgstr "Objekt av typ {0} stöds."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12427,10 +12583,10 @@ msgid "Unknown type: {0}"
 msgstr "Okänd typ: {0}"
 
 msgid "Preset group {1} / {0}"
-msgstr ""
+msgstr "Snabbvalsgrupp {1} / {0}"
 
 msgid "Preset group {0}"
-msgstr ""
+msgstr "Snabbvalsgrupp {0}"
 
 msgid "Reference {0} is being used before it was defined"
 msgstr ""
@@ -12459,6 +12615,9 @@ msgstr "Sök snabbval"
 msgid "Presets"
 msgstr "Snabbval"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "Sök objekt efter snabbval"
 
@@ -12502,6 +12661,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Mer information om denna funktion"
 
@@ -12592,16 +12754,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "false: egenskapen är uttryckligen avstängd"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "true: egenskapen är uttryckligen aktiverad"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "delvis: olika valda objekt har olika värden, ändra inte"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "ej angiven: ange inte denna egenskap för valda objekt"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12665,7 +12841,7 @@ msgid "Contacting OSM Server..."
 msgstr "Ansluter till OSM-servern..."
 
 msgid "Downloading notes"
-msgstr ""
+msgstr "Hämtar anteckningar"
 
 msgid "Failed to open input stream for resource ''{0}''"
 msgstr ""
@@ -13090,6 +13266,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "OSM serverfiler"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -13104,9 +13283,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr "OSM serverfiler"
-
 msgid "Invalid dataset"
 msgstr "Ogiltigt dataset"
 
@@ -13246,7 +13422,7 @@ msgid "Contacting Server..."
 msgstr "Tar kontakt med servern..."
 
 msgid "Downloading OSM notes..."
-msgstr ""
+msgstr "Hämtar OSM-anteckningar..."
 
 msgid ""
 "Could not connect to the OSM server. Please check your internet connection."
@@ -13300,9 +13476,6 @@ msgstr "Laddar upp data ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr "Hämtar data..."
 
@@ -13475,22 +13648,29 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
+msgid "local file"
+msgstr "lokal fil"
+
+msgid "include"
+msgstr "inkludera"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Lagret innehåller osparat data - spara till fil."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Lagret innehåller inget osparat data."
 
 msgid "Data:"
 msgstr "Data:"
 
-msgid "local file"
-msgstr "lokal fil"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Länk till OSM datafil på lokal disk."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Länka en GPX-fil till din lokala disk."
+msgid "Include OSM data in the .joz session file."
+msgstr ""
 
-msgid "include"
-msgstr "inkludera"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr ""
@@ -13501,6 +13681,14 @@ msgstr "Ingen filassociation"
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13518,19 +13706,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Lagret innehåller osparat data - spara till fil."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Lagret innehåller inget osparat data."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Länk till OSM datafil på lokal disk."
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -14298,9 +14475,6 @@ msgstr ""
 "stor.<br>Begär antingen hem ett mindre område eller använd en exportfil från "
 "OSM-samfundet."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -14332,6 +14506,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 "Kunde inte hitta någon översättning för locale {0}. Faller tillbaka på {1}."
@@ -14341,9 +14518,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -14483,6 +14657,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14795,9 +14972,6 @@ msgstr "Öppna vald fil"
 msgid "Open selected file."
 msgstr "Öppna vald fil."
 
-msgid "Refresh"
-msgstr "Uppdatera"
-
 msgid "Rename File"
 msgstr "Byt namn på fil"
 
@@ -14891,6 +15065,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14957,6 +15134,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -15053,13 +15233,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -15182,6 +15365,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -15202,9 +15388,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -15275,6 +15458,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -15308,10 +15500,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -16009,6 +16204,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Skapa rutnät av sträckor."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16529,7 +16727,7 @@ msgid "Lanes opposed to way direction"
 msgstr ""
 
 msgid "Max. speed (km/h)"
-msgstr "Största tillåtna hastighet (km/h)"
+msgstr "Högsta tillåtna hastighet (km/h)"
 
 msgid "Max. speed in way direction"
 msgstr ""
@@ -16674,6 +16872,105 @@ msgstr "begränsat"
 msgid "Brand"
 msgstr "Fabrikat"
 
+msgid "Cuisine"
+msgstr "Kök"
+
+msgid "italian"
+msgstr "italienskt"
+
+msgid "chinese"
+msgstr "kinesiskt"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamburgare"
+
+msgid "greek"
+msgstr "grekiskt"
+
+msgid "german"
+msgstr "tyskt"
+
+msgid "indian"
+msgstr "indiskt"
+
+msgid "regional"
+msgstr "lokalt"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "turkiskt"
+
+msgid "asian"
+msgstr "asiatiskt"
+
+msgid "thai"
+msgstr "thailändskt"
+
+msgid "mexican"
+msgstr "mexikanskt"
+
+msgid "japanese"
+msgstr "japanskt"
+
+msgid "french"
+msgstr "fransk"
+
+msgid "sandwich"
+msgstr "smörgås"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "Fish ''n Chips"
+
+msgid "chicken"
+msgstr "kyckling"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "glass"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "Internetåtkomst"
 
@@ -17241,8 +17538,11 @@ msgstr "Största tillåtna vikt (ton)"
 msgid "Toll"
 msgstr "Betalstation"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "Är vattnet oregelgundet (försvinner säsongsbetonat)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
+msgstr ""
 
 msgid "In the tidal range"
 msgstr ""
@@ -18007,25 +18307,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "Farthinder"
 
-msgid "bump"
-msgstr "vägbula (<1m)"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
+msgstr ""
 
-msgid "chicane"
-msgstr "chikan"
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
-msgstr "förträngning"
+msgid "Cushion"
+msgstr ""
 
-msgid "cushion"
+msgid "Hump"
 msgstr ""
 
-msgid "hump"
-msgstr "fartgupp (2-4m)"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -18175,6 +18479,9 @@ msgstr "Stadsmur"
 msgid "Retaining Wall"
 msgstr "Stödmur"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Dike"
@@ -18345,6 +18652,9 @@ msgstr "flod"
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "Är vattnet oregelgundet (försvinner säsongsbetonat)?"
+
 msgid "Coastline"
 msgstr "Kustlinje"
 
@@ -18407,14 +18717,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Stup"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr "Sjöfart"
 
@@ -19343,92 +19645,26 @@ msgstr "Mat+Dryck"
 msgid "Restaurant"
 msgstr "Restaurang"
 
-msgid "Cuisine"
-msgstr "Kök"
+msgid "Microbrewery"
+msgstr "Mikrobryggeri"
 
-msgid "italian"
-msgstr "italienskt"
+msgid "Outdoor seating"
+msgstr ""
 
-msgid "chinese"
-msgstr "kinesiskt"
+msgid "Takeaway"
+msgstr ""
 
-msgid "pizza"
-msgstr "pizza"
+msgid "Fast Food"
+msgstr "Snabbmat"
 
-msgid "burger"
-msgstr "hamburgare"
+msgid "Food Court"
+msgstr ""
 
-msgid "greek"
-msgstr "grekiskt"
+msgid "Cafe"
+msgstr "Kafé"
 
-msgid "german"
-msgstr "tyskt"
-
-msgid "indian"
-msgstr "indiskt"
-
-msgid "regional"
-msgstr "lokalt"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "turkiskt"
-
-msgid "asian"
-msgstr "asiatiskt"
-
-msgid "thai"
-msgstr "thailändskt"
-
-msgid "mexican"
-msgstr "mexikanskt"
-
-msgid "japanese"
-msgstr "japanskt"
-
-msgid "french"
-msgstr "fransk"
-
-msgid "sandwich"
-msgstr "smörgås"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr ""
-
-msgid "Microbrewery"
-msgstr "Mikrobryggeri"
-
-msgid "Outdoor seating"
-msgstr ""
-
-msgid "Takeaway"
-msgstr ""
-
-msgid "Fast Food"
-msgstr "Snabbmat"
-
-msgid "fish_and_chips"
-msgstr "Fish ''n Chips"
-
-msgid "chicken"
-msgstr "kyckling"
-
-msgid "Food Court"
-msgstr ""
-
-msgid "Cafe"
-msgstr "Kafé"
-
-msgid "ice_cream"
-msgstr "glass"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Pub"
@@ -19607,6 +19843,12 @@ msgstr "Nöjesfält"
 msgid "Water Park"
 msgstr "Badanläggning"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "Bastu"
 
@@ -19641,9 +19883,6 @@ msgstr "Eldningsplats"
 msgid "Fishing"
 msgstr "Fiske"
 
-msgid "Private Swimming Pool"
-msgstr "Privat swimmingpool"
-
 msgid "Night Club"
 msgstr "Nattklubb"
 
@@ -19686,12 +19925,18 @@ msgstr "staty"
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
-msgstr "Inspelningsstudio"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "audio"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "video"
 
@@ -19795,6 +20040,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Moské"
 
@@ -19954,6 +20203,125 @@ msgstr "Använd internationellt format, ex +12-345-67890"
 msgid "Veterinary"
 msgstr "Veterinär"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "Hjärtstartare"
+
+msgid "Located inside a building?"
+msgstr "Placerad inuti en byggnad?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Senaste kontrolldatum (ÅÅÅÅ-MM-DD)"
+
+msgid "Last check note"
+msgstr "Senaste kontrollanteckning"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr "Inomhus"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "Brandpost"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "underjordisk"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "pelare"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "vägg"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "damm"
+
+msgid "Diameter (in mm)"
+msgstr "Diameter (mm)"
+
+msgid "Hydrant Position"
+msgstr "Brandpostens plats"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "vägbana"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parkeringsplats"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "trottoar"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "växtligheten"
+
+msgid "Pressure (in bar)"
+msgstr "Vattentryck (bar)"
+
+msgid "suction"
+msgstr "sug"
+
+msgid "Count"
+msgstr "Antal"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Nödtelefon"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -20066,24 +20434,9 @@ msgstr "Sedlar"
 msgid "Telephone cards"
 msgstr "Telefonkort"
 
-msgid "Emergency Phone"
-msgstr "Nödtelefon"
-
 msgid "Internet Access"
 msgstr "Internetåtkomst"
 
-msgid "Automated Defibrillator"
-msgstr "Hjärtstartare"
-
-msgid "Located inside a building?"
-msgstr "Placerad inuti en byggnad?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Senaste kontrolldatum (ÅÅÅÅ-MM-DD)"
-
-msgid "Last check note"
-msgstr "Senaste kontrollanteckning"
-
 msgid "Clock"
 msgstr "Klocka"
 
@@ -20246,64 +20599,15 @@ msgctxt "height"
 msgid "full"
 msgstr "full"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Dölj"
+msgstr ""
 
 msgid "Lock"
 msgstr "Lås"
 
-msgid "Indoor"
-msgstr "Inomhus"
-
-msgid "Fire Hydrant"
-msgstr "Brandpost"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "underjordisk"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "pelare"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "vägg"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "damm"
-
-msgid "Diameter (in mm)"
-msgstr "Diameter (mm)"
-
-msgid "Hydrant Position"
-msgstr "Brandpostens plats"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "vägbana"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parkeringsplats"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "trottoar"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "växtligheten"
-
-msgid "Pressure (in bar)"
-msgstr "Vattentryck (bar)"
-
-msgid "suction"
-msgstr "sug"
-
-msgid "Count"
-msgstr "Antal"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr ""
@@ -20335,29 +20639,82 @@ msgstr "Idrott"
 msgid "Sport Facilities"
 msgstr "Sportfaciliteteter"
 
-msgid "Stadium"
-msgstr "Stadion"
+msgid "Stadium"
+msgstr "Stadion"
+
+msgid "Sports Centre"
+msgstr "Sporthall"
+
+msgid "Pitch"
+msgstr "Plan"
+
+msgid "artificial_turf"
+msgstr "artificiellt gräs"
+
+msgid "decoturf"
+msgstr ""
+
+msgid "tartan"
+msgstr ""
+
+msgid "Racetrack"
+msgstr "Bana"
+
+msgid "Golf"
+msgstr "Golf"
+
+msgid "Golf Course"
+msgstr "Golfbana"
+
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
 
-msgid "Sports Centre"
-msgstr "Sporthall"
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
 
-msgid "Pitch"
-msgstr "Plan"
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
 
-msgid "artificial_turf"
-msgstr "artificiellt gräs"
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
 
-msgid "decoturf"
+msgctxt "golf"
+msgid "Green"
 msgstr ""
 
-msgid "tartan"
+msgctxt "golf"
+msgid "Fairway"
 msgstr ""
 
-msgid "Racetrack"
-msgstr "Bana"
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
 
-msgid "Golf Course"
-msgstr "Golfbana"
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
 
 msgid "Miniature Golf"
 msgstr "Minigolf"
@@ -20583,9 +20940,6 @@ msgstr "Strandvolleyboll"
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golfbana"
 
@@ -20750,6 +21104,10 @@ msgid "gasometer"
 msgstr "gasometer"
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "kostall"
 
@@ -20758,6 +21116,38 @@ msgid "construction"
 msgstr "konstruktion"
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Våningsplan"
 
@@ -20870,6 +21260,9 @@ msgstr "Väderkvarn"
 msgid "Gasometer"
 msgstr "Gasklocka"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "Lagringstank"
 
@@ -21271,6 +21664,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -21280,6 +21681,9 @@ msgstr "Ruiner"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Elkraft"
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21711,11 +22115,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
-msgstr "Elskåp"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Kraftledningsmast"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21736,6 +22143,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Kraftledningsmast"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21859,18 +22284,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21903,6 +22316,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Kraftledning"
 
@@ -22160,6 +22576,9 @@ msgstr "Möbler"
 msgid "Kitchen"
 msgstr "Kök"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Gardiner"
 
@@ -22202,12 +22621,21 @@ msgstr "För kroppen"
 msgid "Chemist"
 msgstr "Hygien"
 
-msgid "Hairdresser/Barber"
-msgstr "Frisör"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "Skönhet"
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr "Frisör"
+
 msgid "Tattoo"
 msgstr "Tatuering"
 
@@ -22533,6 +22961,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Geografi"
 
@@ -22701,6 +23204,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Stup"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Grottöppning"
 
@@ -22908,6 +23419,51 @@ msgstr "Äng"
 msgid "Orchard"
 msgstr "Fruktodling"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Vinodling"
 
@@ -23702,9 +24258,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23726,7 +24279,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23770,6 +24323,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23785,6 +24347,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} på en nod"
 
@@ -23812,6 +24377,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "förkortat gatunamn"
 
@@ -23855,7 +24423,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -25174,19 +25742,20 @@ msgid "Set width of the building"
 msgstr ""
 
 msgid "Merge address points"
-msgstr ""
+msgstr "Slå ihop med adresspunkter"
 
 msgid "Move tags from address nodes inside buildings to building ways"
 msgstr ""
+"Flytta taggar från adressnoder inuti byggnader till själva byggnadssträckorna"
 
 msgid "Select both address nodes and building ways to merge"
-msgstr ""
+msgstr "Välj både de adressnoder och de byggnadssträckor som ska slås ihop"
 
 msgid "No address nodes found in the selection"
-msgstr ""
+msgstr "Inga adressnoder hittades i markeringen"
 
 msgid "No building ways found in the selection"
-msgstr ""
+msgstr "Inga byggnadssträckor hittades i markeringen"
 
 msgid "There is {0} building with multiple address nodes inside"
 msgid_plural "There are {0} buildings with multiple address nodes inside"
@@ -25199,7 +25768,7 @@ msgstr[0] ""
 msgstr[1] ""
 
 msgid "No address nodes inside buildings found"
-msgstr ""
+msgstr "Inga adressnoder hittades inuti några byggnader"
 
 msgid "on polygon"
 msgstr ""
@@ -27308,7 +27877,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27621,6 +28190,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27636,6 +28208,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Uppmätta värden."
 
@@ -28987,6 +29571,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -29073,15 +29663,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -31071,6 +31652,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr "Internt fel: antal noder är {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31150,17 +31734,17 @@ msgid "Add remembered source tag"
 msgstr ""
 
 msgid "UnGlue Relation"
-msgstr ""
+msgstr "Frigör relation"
 
 msgid ""
 "Duplicate nodes, ways and relations that are used by multiple relations."
 msgstr ""
 
 msgid "UnGlue Relations"
-msgstr ""
+msgstr "Frigör relationer"
 
 msgid "Unglued Relations"
-msgstr ""
+msgstr "Frigjorda relationer"
 
 msgid "Change relation member for {0} {1}"
 msgstr ""
@@ -31667,6 +32251,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Lägg till namn från Wikipedia"
 
diff --git a/i18n/po/ta.po b/i18n/po/ta.po
index 3ba9f10..1ea59ab 100644
--- a/i18n/po/ta.po
+++ b/i18n/po/ta.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-10-28 15:55+0000\n"
 "Last-Translator: நவலடி <navaladi at gmail.com>\n"
 "Language-Team: Tamil <ta at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:02+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:01+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "X-Poedit-Country: INDIA\n"
 "Language: ta\n"
 "X-Poedit-Language: Tamil\n"
@@ -392,6 +392,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr "வழிகளைத் திருப்புக"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -449,6 +452,12 @@ msgstr "நீக்கு"
 msgid "Delete selected objects."
 msgstr "தேர்ந்தெடுக்கப்பட்ட பொருட்களை நீக்கு"
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1196,9 +1205,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr "வழிகளைத் திருப்புக"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "தேர்ந்தெடுத்த எல்லா வழிகளின் திசையை"
 
@@ -1541,6 +1547,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2261,6 +2277,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2302,6 +2323,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2656,7 +2686,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3219,9 +3252,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3280,6 +3310,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3507,6 +3540,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3584,12 +3620,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3599,6 +3647,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4165,6 +4231,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4859,9 +4928,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4920,12 +4986,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4952,6 +5012,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5771,6 +5843,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5887,6 +5971,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6312,6 +6399,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6659,19 +6749,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6773,6 +6857,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7101,7 +7197,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7137,6 +7233,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7204,6 +7303,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7316,9 +7436,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7349,108 +7466,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "இறக்குமதி செய்யும்போது {0} முறன்பாடுகள் ஏற்பட்டன"
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7469,6 +7561,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7477,48 +7572,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7526,61 +7610,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "இறக்குமதி செய்யும்போது {0} முறன்பாடுகள் ஏற்பட்டன"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7968,6 +8116,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8071,10 +8224,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8254,9 +8411,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8769,7 +8923,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8778,31 +8932,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8811,10 +8962,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9236,6 +9387,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9260,9 +9414,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9613,9 +9764,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9660,6 +9809,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9716,11 +9871,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9836,6 +9986,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10196,6 +10352,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10277,18 +10442,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10940,9 +11096,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11214,6 +11367,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11843,12 +11999,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11938,6 +12088,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12008,6 +12161,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12051,6 +12207,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12139,16 +12298,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12628,6 +12801,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12642,9 +12818,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12837,9 +13010,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13008,21 +13178,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13034,6 +13211,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13051,19 +13236,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13746,9 +13920,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13780,6 +13951,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13788,9 +13962,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13924,6 +14095,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14232,9 +14406,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14328,6 +14499,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14394,6 +14568,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14490,13 +14667,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14619,6 +14799,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14639,9 +14822,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14712,6 +14892,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14745,10 +14934,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15444,6 +15636,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16099,19 +16294,118 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
+msgstr ""
+
+msgid "greek"
+msgstr ""
+
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
 msgstr ""
 
 msgid "Smoking"
@@ -16666,7 +16960,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17420,25 +17717,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17588,6 +17889,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17758,6 +18062,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17820,14 +18127,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18756,66 +19055,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18828,19 +19067,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19018,6 +19251,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19052,9 +19291,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19097,12 +19333,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19206,6 +19448,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19365,6 +19611,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19477,24 +19842,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19657,63 +20007,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19767,9 +20068,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19994,9 +20348,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20161,6 +20512,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20169,6 +20524,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20281,6 +20668,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20682,6 +21072,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20691,6 +21089,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21122,10 +21523,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21147,6 +21551,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21270,18 +21692,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21314,6 +21724,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21571,6 +21984,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21613,12 +22029,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21944,6 +22369,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22112,6 +22612,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22312,6 +22820,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23106,9 +23659,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23130,7 +23680,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23174,6 +23724,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23189,6 +23748,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23216,6 +23778,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23257,7 +23822,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26681,7 +27246,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26994,6 +27559,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27009,6 +27577,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28356,6 +28936,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28442,15 +29028,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30437,6 +31014,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31025,6 +31605,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/te.po b/i18n/po/te.po
index 2231c44..cb743c9 100644
--- a/i18n/po/te.po
+++ b/i18n/po/te.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 05:03+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:02+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: te\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/th.po b/i18n/po/th.po
index 218e46a..1b401af 100644
--- a/i18n/po/th.po
+++ b/i18n/po/th.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 05:03+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:02+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: th\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/tr.po b/i18n/po/tr.po
index 60c390d..f480e53 100644
--- a/i18n/po/tr.po
+++ b/i18n/po/tr.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-11-16 12:04+0000\n"
 "Last-Translator: Erkin Alp Güney <Unknown>\n"
 "Language-Team: Türkçe <>\n"
@@ -17,8 +17,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:04+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:03+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -394,6 +394,9 @@ msgstr ""
 "Yolları istenen şekilde birleştiremiyorum<br/> (Kesintisiz bir çizgi "
 "oluşmuyor)"
 
+msgid "Reverse Ways"
+msgstr "Yolları ters çevir"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "{0} yol birleştir"
@@ -451,6 +454,12 @@ msgstr "Sil"
 msgid "Delete selected objects."
 msgstr "Seçili Objeleri Sil."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "Diyalog paneli"
 
@@ -1205,9 +1214,6 @@ msgstr "Daha sonra yeniden başlatmak için tıklayın."
 msgid "Reverse way"
 msgstr "Yolunun yönünü ters çevir"
 
-msgid "Reverse Ways"
-msgstr "Yolları ters çevir"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Seçili yollar için yönü ters çevir."
 
@@ -1551,6 +1557,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Noktayı yoldan ayır"
 
@@ -2275,6 +2291,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2316,6 +2337,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2673,7 +2703,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3237,9 +3270,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3298,6 +3328,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "D"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3525,6 +3558,9 @@ msgstr "metin"
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3602,12 +3638,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3617,6 +3665,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4188,6 +4254,9 @@ msgstr "Özellik anahtarında geçersiz -boşluk- karakteri"
 msgid "Property values start or end with white space"
 msgstr "Özellik anahtarı -boşluk- karakteri ile başlıyor veya bitiyor"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Özellik anahtarı HTML bilgisi içeriyor"
 
@@ -4889,9 +4958,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4950,12 +5016,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Fare imleci üzerindeki coğrafi enlem."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Fare imleci üzerindeki coğrafi boylam."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Segment çizildi."
 
@@ -4982,6 +5042,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Fare imleci üzerindeki coğrafi enlem."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Fare imleci üzerindeki coğrafi boylam."
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5799,6 +5871,18 @@ msgstr "Çözümle"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "Seçili nesneler için birleştime penceresi aç."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5915,6 +5999,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6340,6 +6427,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6687,19 +6777,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6801,6 +6885,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr "Takım ID: "
 
@@ -7128,7 +7224,7 @@ msgstr "Seçili anahtarın değerini her obje için düzenle"
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7164,6 +7260,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7231,6 +7330,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr "Sakla"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7343,9 +7463,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7376,108 +7493,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-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"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Select next Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort below"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
-msgstr ""
+msgid "There were {0} conflicts during import."
+msgstr "Dışalım işlemi esnasında {0} çakışma oldu."
 
-msgid "Reverse"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "Seçili üyeyi yukarı taşı"
-
-msgid "Relation Editor: Move Up"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Move the currently selected members down"
-msgstr "Seçili üyeyi aşağı taşı"
-
-msgid "Relation Editor: Move Down"
-msgstr ""
+msgid "Reload"
+msgstr "Yenile"
 
-msgid "Remove the currently selected members from this relation"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Apply Changes"
 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."
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Yes, create a conflict and close"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Click to create a conflict and close this relation editor"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "No, continue editing"
+msgid "Load relation"
 msgstr ""
 
-msgid "Click to return to the relation editor and to resume relation editing"
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7496,6 +7588,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7504,7 +7599,10 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
+msgid "Delete the currently edited relation"
+msgstr ""
+
+msgid "Relation Editor: Download Members"
 msgstr ""
 
 msgid "Download all incomplete members"
@@ -7513,101 +7611,151 @@ msgstr ""
 msgid "Download Members"
 msgstr "Üyeleri İndir"
 
-msgid "Relation Editor: Download Members"
+msgid "Download selected incomplete members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Move the currently selected members down"
+msgstr "Seçili üyeyi aşağı taşı"
+
+msgid "Relation Editor: Move Up"
 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] ""
+msgid "Move the currently selected members up"
+msgstr "Seçili üyeyi yukarı taşı"
 
-msgid "This is equal to deleting the roles of these objects."
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Refresh"
+msgstr "Yenile"
+
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
 msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "Select next Gap"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Refers to"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "Dışalım işlemi esnasında {0} çakışma oldu."
+msgid "Reverse"
+msgstr ""
 
-msgid "including immediate children of parent relations"
+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 ""
 
-msgid "Load parent relations"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Reload"
-msgstr "Yenile"
+msgid "Click to create a conflict and close this relation editor"
+msgstr ""
 
-msgid "Loading parent relations"
+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 ""
 
-msgid "Edit the currently selected relation"
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Select objects for selected relation members"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Sets a role for the selected members"
 msgstr ""
 
-msgid "Load relation"
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7997,6 +8145,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8100,10 +8253,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8283,9 +8440,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8798,7 +8952,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8807,32 +8961,29 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
+msgid "Load tile"
 msgstr ""
 
-msgid "Auto load tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Tiles"
-msgstr "Bütün Mozaikleri Yükle"
-
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
-msgstr "Çözünürlüğü değiştir"
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
-msgstr "Mozaik Yükle"
+msgid "Change resolution"
+msgstr "Çözünürlüğü değiştir"
 
 msgid "Increase zoom"
 msgstr ""
@@ -8840,10 +8991,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9272,6 +9423,9 @@ msgstr ""
 "offset bilgisisnin okunmasında sorun.\n"
 "İstenen format: {0}"
 
+msgid "Geotagged Images"
+msgstr "Geotagged Görüntüler"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "EXIF den GPS verisi çıkartılıyor"
 
@@ -9296,9 +9450,6 @@ msgstr "Klasörden dosya alınmasında hata oluştu {0}\n"
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr "Geotagged Görüntüler"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9654,9 +9805,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9701,6 +9850,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9761,11 +9916,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9881,6 +10031,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10241,6 +10397,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr "İleri Tercihler"
 
@@ -10322,18 +10487,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10992,9 +11148,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr "Menu İsmi"
 
@@ -11266,6 +11419,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11896,12 +12052,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "Din"
 
@@ -11991,6 +12141,9 @@ msgstr "''{0}'' ı kullan"
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -12061,6 +12214,9 @@ msgstr "Ön tanımlarında ara"
 msgid "Presets"
 msgstr "Ayarlanmış"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12104,6 +12260,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12192,16 +12351,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "yanlış: özellik kaptılmış"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "doğru: özellik açık"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "kısmen: farklı objeler farklı değerlere sahip, değiştirmeyin"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "atanmamış: bu özelliği seçili objeye atamayın"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12685,6 +12858,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12699,9 +12875,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12896,9 +13069,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13067,21 +13237,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13093,6 +13270,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13110,19 +13295,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13808,9 +13982,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13842,6 +14013,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13850,9 +14024,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13986,6 +14157,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14298,9 +14472,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr "Yenile"
-
 msgid "Rename File"
 msgstr ""
 
@@ -14394,6 +14565,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14460,6 +14634,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14556,13 +14733,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14685,6 +14865,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14705,9 +14888,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14778,6 +14958,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14811,10 +15000,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15510,6 +15702,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16165,13 +16360,112 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
-msgstr ""
+msgid "Cuisine"
+msgstr "lokanta"
 
-msgid "wlan"
-msgstr ""
+msgid "italian"
+msgstr "italyan"
 
-msgid "wired"
+msgid "chinese"
+msgstr "çinli"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "burger"
+
+msgid "greek"
+msgstr "yunan"
+
+msgid "german"
+msgstr "alman"
+
+msgid "indian"
+msgstr "hint"
+
+msgid "regional"
+msgstr "yöresel"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "türk"
+
+msgid "asian"
+msgstr "asyalı"
+
+msgid "thai"
+msgstr "thai"
+
+msgid "mexican"
+msgstr "mexican"
+
+msgid "japanese"
+msgstr "japanese"
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
 msgstr ""
 
 msgid "terminal"
@@ -16732,7 +17026,10 @@ msgstr "Max. ağırlık (ton)"
 msgid "Toll"
 msgstr "ücret"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17486,25 +17783,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17654,6 +17955,9 @@ msgstr "Şehir Duvarı"
 msgid "Retaining Wall"
 msgstr "istinat duvarı"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17824,6 +18128,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "Sahil Çizgisi"
 
@@ -17886,14 +18193,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "Uçurum"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18822,66 +19121,6 @@ msgstr "Yüyecek+içecek"
 msgid "Restaurant"
 msgstr "Restaurant"
 
-msgid "Cuisine"
-msgstr "lokanta"
-
-msgid "italian"
-msgstr "italyan"
-
-msgid "chinese"
-msgstr "çinli"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "burger"
-
-msgid "greek"
-msgstr "yunan"
-
-msgid "german"
-msgstr "alman"
-
-msgid "indian"
-msgstr "hint"
-
-msgid "regional"
-msgstr "yöresel"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "türk"
-
-msgid "asian"
-msgstr "asyalı"
-
-msgid "thai"
-msgstr "thai"
-
-msgid "mexican"
-msgstr "mexican"
-
-msgid "japanese"
-msgstr "japanese"
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18894,19 +19133,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Fast Food"
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr "Kafe"
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -19084,6 +19317,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "Su Parkı"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19118,9 +19357,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "Balıkçılık"
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19163,12 +19399,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19272,6 +19514,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19431,6 +19677,125 @@ msgstr "(Uluslararası kod kullanın, ör +90-212-67890)"
 msgid "Veterinary"
 msgstr "Veteriner"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "Acil durum telefonu"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19543,24 +19908,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "Telefon kart"
 
-msgid "Emergency Phone"
-msgstr "Acil durum telefonu"
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19723,63 +20073,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Sakla"
-
-msgid "Lock"
-msgstr "Kilitle"
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
 msgstr ""
 
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
-msgstr ""
+msgid "Lock"
+msgstr "Kilitle"
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19833,9 +20134,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "yarış pisti"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golf Alanı"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Minyatür Golf"
 
@@ -20060,9 +20414,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golf_alanı"
 
@@ -20227,6 +20578,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20235,6 +20590,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20347,6 +20734,9 @@ msgstr "Yeldeğerimeni"
 msgid "Gasometer"
 msgstr "Gazdeposu"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20748,6 +21138,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20757,6 +21155,9 @@ msgstr "Harabe"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21188,11 +21589,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
-msgstr "Güç Kulesi"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21213,6 +21617,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "Güç Kulesi"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21336,18 +21758,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21380,6 +21790,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Güç Hattı"
 
@@ -21637,6 +22050,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21679,12 +22095,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -22010,6 +22435,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22178,6 +22678,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "Uçurum"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "Mağara Girişi"
 
@@ -22378,6 +22886,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Bağ"
 
@@ -23172,9 +23725,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23196,7 +23746,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23240,6 +23790,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23255,6 +23814,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23282,6 +23844,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23323,7 +23888,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26759,7 +27324,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27072,6 +27637,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27087,6 +27655,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "ölçülen değerler"
 
@@ -28430,6 +29010,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr "Geçersiz değer"
+
 msgid "added"
 msgstr ""
 
@@ -28516,15 +29102,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr "Geçersiz değer"
-
 msgid "moved"
 msgstr "taşındı"
 
@@ -30509,6 +31086,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31097,6 +31677,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/ug.po b/i18n/po/ug.po
index 6f35bb4..09c0d07 100644
--- a/i18n/po/ug.po
+++ b/i18n/po/ug.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 05:04+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:03+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/uk.po b/i18n/po/uk.po
index 58c1546..9a894f0 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: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-04 22:49+0000\n"
-"Last-Translator: Don-vip <Unknown>\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-02-05 22:55+0000\n"
+"Last-Translator: andygol <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: 2016-01-06 05:05+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:04+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: uk\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -415,6 +415,9 @@ msgstr ""
 "Лінії неможливо об’єднати<br>(Їх не можна перетворити у єдину послідовність "
 "точок)"
 
+msgid "Reverse Ways"
+msgstr "Змінити напрямок лінії"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Об’єднати {0} лінію"
@@ -472,6 +475,12 @@ msgstr "Вилучити"
 msgid "Delete selected objects."
 msgstr "Вилучити виділені об’єкти."
 
+msgid "Delete Layer"
+msgstr "Вилучити шар"
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr "Вилучення активного шару. Файл повʼязаний з ним не вилучається."
+
 msgid "Toggle dialogs panel"
 msgstr "Панель діалогів"
 
@@ -1293,9 +1302,6 @@ msgstr "Перезапустити пізніше."
 msgid "Reverse way"
 msgstr "Змінити напрямок лінії"
 
-msgid "Reverse Ways"
-msgstr "Змінити напрямок лінії"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Змінити напрямок всіх позначених ліній"
 
@@ -1616,25 +1622,25 @@ msgstr ""
 "і всі точки будуть виділені."
 
 msgid "Existing node"
-msgstr ""
+msgstr "Існуюча точка"
 
 msgid "Both nodes"
-msgstr ""
+msgstr "Обидві точки"
 
 msgid "New node"
-msgstr ""
+msgstr "Нова точка"
 
 msgid "Tags / Memberships"
 msgstr "Теґи / Членство"
 
 msgid "Unglue"
-msgstr ""
+msgstr "Відʼєднати"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "Куди перенести теґи точки?"
 
 msgid "Where should the memberships of this node be put?"
-msgstr ""
+msgstr "Куди перенести участь у звʼязках цієї точки?"
 
 msgid "Unglued Node"
 msgstr "Не прикріплена точка"
@@ -1670,6 +1676,18 @@ msgstr ""
 "Ви намагаєтесь роз’єднати неповні об’єкти.<br>Це може викликати проблеми, "
 "тому що ви не бачите їх повністю.<br>Ви дійсно бажаєте роз’єднати?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] "Розʼєднання вплинуло на {0} звʼязок: {1}"
+msgstr[1] "Розʼєднання вплинуло на {0} звʼязки: {1}"
+msgstr[2] "Розʼєднання вплинуло на {0} звʼязків: {1}"
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] "Переконайтесь, що звʼязок не пошкоджено!"
+msgstr[1] "Переконайтесь, що звʼязки не пошкоджено!"
+msgstr[2] "Переконайтесь, що звʼязки не пошкоджено!"
+
 msgid "Disconnect Node from Way"
 msgstr "Від’єднати точку від лінії"
 
@@ -2465,6 +2483,13 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Додати виділення до зв’язку"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+"<html><strong>Додати виділення до звʼязку</strong>: перевірте кожен звʼязок, "
+"щоб уникнути пошкоджень!"
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Додати виділення до {0} зв’язку"
@@ -2515,6 +2540,15 @@ msgstr[2] ""
 msgid "Confirmation"
 msgstr "Підтвердждення"
 
+msgid "List of recent relations"
+msgstr "Перелік останніх звʼязків"
+
+msgid "Open recent relation"
+msgstr "Відкрити останній звʼязок"
+
+msgid "Relation Editor: {0}"
+msgstr "Редактор зв’язків: {0}"
+
 msgid "Select in relation list"
 msgstr "Вибрати зі списку зв’язків"
 
@@ -2886,8 +2920,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Очікується <i>min</i>/<i>max</i> після ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr "Неможливо розібрати час ''{0}''"
+
+msgid "Expecting {0} after {1}"
+msgstr "Очікується {0} після {1}"
 
 msgid "Range of primitive ids expected"
 msgstr "Очікується діапазон id примітивів"
@@ -3402,13 +3439,13 @@ msgid "Restoring files"
 msgstr "Відновлення файлів"
 
 msgid "Unable to delete backup file {0}"
-msgstr ""
+msgstr "Невдалось створити файл резервної копії {0}"
 
 msgid "Unable to delete PID file {0}"
-msgstr ""
+msgstr "Невдалось вилучити PID-файл {0}"
 
 msgid "Unable to delete archived backup file {0}"
-msgstr ""
+msgstr "Невдалось вилучити заархівований файл резервної копії {0}"
 
 msgid "Illegal latitude value ''{0}''"
 msgstr "Неправильне значення широти — ''{0}''"
@@ -3535,9 +3572,6 @@ msgstr ""
 "Спробуйте ввімкнути мережу IPv6, перевагу IPv6 над IPv4 (працює тільки на "
 "раніх етапах запуску)."
 
-msgid " (at line {0}, column {1})"
-msgstr " (рядок {0}, ствопчик {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 "Параметр налаштувань {0} був вилучений, оскільки він більше не "
@@ -3598,6 +3632,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "Сх"
 
+msgid "Update default entries"
+msgstr "Оновити типові шари"
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "Проекція ''{0}'' не знайдена, закладка ''{1}'' не може використовуватись"
@@ -3853,6 +3890,9 @@ msgstr "текст"
 msgid "areatext"
 msgstr "текст"
 
+msgid " (at line {0}, column {1})"
+msgstr " (рядок {0}, ствопчик {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "Проекції UTM (''+proj=utm'') потрібен параметр ''+zone=…''."
 
@@ -3933,12 +3973,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
-msgstr "Подвійна стереографічна"
+msgid "Albers Equal Area"
+msgstr "Рівновелика проекція Альберса"
 
 msgid "Parameter ''{0}'' required."
 msgstr "Потрібен параметр ''{0}''."
 
+msgid "standard parallels are opposite"
+msgstr "стандартні паралелі є протилежними"
+
+msgid "Cassini-Soldner"
+msgstr "Проекція Кассіні-Зольднера"
+
+msgid "Double Stereographic"
+msgstr "Подвійна стереографічна"
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr "Рівновелика азимутна проекція Ламберта"
+
 msgid "Lambert Conformal Conic"
 msgstr "Рівнокутна конічна проекція Ламберта"
 
@@ -3948,6 +4000,25 @@ msgstr "Широта/довгота (Геодезичні)"
 msgid "Mercator"
 msgstr "Проекція Меркатора"
 
+msgid "Oblique Mercator"
+msgstr "Коса проекція Меркатора"
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr "Невідповідні параметри ''{0}'' та ''{1}'' для метода двох точок."
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr "неприпустиме значення ''{0}'': {1}"
+
+msgid "error in initialization"
+msgstr "помилка ініціалізації"
+
+msgid "Polar Stereographic"
+msgstr "Полярна стереографічна проекція"
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+"Полярна стереографічна проекція: параметр ''{0}'' повинен бути 90 або -90."
+
 msgid "Swiss Oblique Mercator"
 msgstr "Швейцарська похила проекція Меркатора"
 
@@ -4548,6 +4619,9 @@ msgstr "Неправильний пробіл у властивостях клю
 msgid "Property values start or end with white space"
 msgstr "Значення починається чи закінчується пробілом"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "Значення містять елементи HTML"
 
@@ -4851,7 +4925,7 @@ msgid "House {0}"
 msgstr "Будинок {0}"
 
 msgid "House number {0} at {1}"
-msgstr "Номер будинку {0} на {1}"
+msgstr "Будинок №{0} на {1}"
 
 msgid "House number {0}"
 msgstr "Номер будинку {0}"
@@ -5293,9 +5367,6 @@ msgstr "Налаштування фону"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Відкрити вкладку налаштування фону в Налаштуваннях"
 
-msgid "Search menu items"
-msgstr "Пошук пунктів меню"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "Звук"
@@ -5354,12 +5425,6 @@ msgstr "Передній план рядку стану: активовано"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "Географічна широта під вказівником миші"
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "Географічна довгота під вказівником миші"
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "Подорожній кут створюваного відрізку лінії"
 
@@ -5388,6 +5453,18 @@ msgstr "Користувач:"
 msgid "Do not hide status bar"
 msgstr "Не ховати панель стану"
 
+msgid "The northing at the mouse pointer."
+msgstr "Рух на північ до вказівника миші."
+
+msgid "The easting at the mouse pointer."
+msgstr "Рух на схід до вказівника миші."
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "Географічна широта під вказівником миші"
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "Географічна довгота під вказівником миші"
+
 msgid "System of measurement changed to {0}"
 msgstr "Систему вимірювання змінено на {0}"
 
@@ -5698,7 +5775,7 @@ msgstr ""
 "коли застосовується рішення про злиття."
 
 msgid "Their version"
-msgstr "Інша версія"
+msgstr "Чужа версія"
 
 msgid "List of elements in their dataset, i.e. the server dataset"
 msgstr ""
@@ -6307,6 +6384,18 @@ msgstr ""
 "Відкрити діалогове вікно для злиття виділених у вищенаведеному переліку "
 "об’єктів."
 
+msgid "Resolve to my versions"
+msgstr "Приняти мою версію"
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr "Розвʼязує всі невирішені конфлікти застосовуючи ''мою'' версію"
+
+msgid "Resolve to their versions"
+msgstr "Прийняти чужу версію"
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr "Розвʼязує всі невирішені конфлікти застосовуючи ''чужу'' версію"
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Виявлено {0} конфлікт."
@@ -6433,6 +6522,9 @@ msgstr "Перемістити фільтр вниз."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Фільтр Прихований:{0} Відключений:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr "<html>Помилка фільтру <code>{0}</code>:<br>{1}"
+
 msgid "Error in filter"
 msgstr "Помилка у фільтрі"
 
@@ -6887,6 +6979,9 @@ msgstr "Налаштування стилю"
 msgid "Customize the style"
 msgstr "Налаштувати стиль"
 
+msgid "Search menu items"
+msgstr "Пошук пунктів меню"
+
 msgid "Mini map"
 msgstr "Міні мапа"
 
@@ -7255,21 +7350,15 @@ msgstr[2] ""
 "<html>Жоден з виділених об’єктів не доступний у поточному<br>редагованому "
 "шарі ''{0}''.</html>"
 
-msgid "Download content"
-msgstr "Завантажити вміст"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Завантажити вміст набору змін з сервера OSM"
-
-msgid "Update content"
-msgstr "Оновити вміст"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Оновити вміст набору змін з сервера OSM"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Завантажити та показати історію виділених об’єктів"
 
+msgid "Download objects"
+msgstr "Завантаження об’єктів"
+
+msgid "Download the current version of the selected objects"
+msgstr "Завантажити поточну версію виділених обʼєктів"
+
 msgid "Select in layer"
 msgstr "Виділити в шарі"
 
@@ -7375,6 +7464,18 @@ msgstr "відкритий"
 msgid "closed"
 msgstr "закритий"
 
+msgid "Download content"
+msgstr "Завантажити вміст"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Завантажити вміст набору змін з сервера OSM"
+
+msgid "Update content"
+msgstr "Оновити вміст"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Оновити вміст набору змін з сервера OSM"
+
 msgid "Changeset ID: "
 msgstr "Номер набору змін: "
 
@@ -7747,8 +7848,8 @@ msgstr "Правити значення обраного ключа для вс
 msgid "Edit Tags"
 msgstr "Редагувати теґи"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Перейти до OSM-Вікі, щоб отримати довідку про теґ (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr "Опис теґа в ОСМ-Вікі"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Запустити оглядач для огляду довідки по виділеному об’єкту"
@@ -7783,6 +7884,9 @@ msgstr "Копіювати всі Ключі/Значення"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Копіювання ключів та значень всіх теґів до буферу обміну"
 
+msgid "Copy Tags"
+msgstr "Копіювати теґи"
+
 msgid "Search Key/Value/Type"
 msgstr "Шукати Ключ/Значення/Тип"
 
@@ -7856,6 +7960,27 @@ msgstr "Встановити кількість нещодавно додани
 msgid "Remember last used tags after a restart"
 msgstr "Запам’ятати останні теґи після перезавантаження"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Увімкнути"
+
+msgid "Hide"
+msgstr "Прихована"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "для застосування першої пропозиції"
 
@@ -7975,9 +8100,6 @@ msgstr "Новий зв’язок"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "Сфокусувати редактор зв’язків на зв’язку ''{0}'' у шарі ''{1}''"
 
-msgid "Relation Editor: {0}"
-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 "
@@ -8019,6 +8141,73 @@ msgstr ""
 "циклічне посилання і тому не рекомендується.<br>Пропустити зв’язок "
 "''{0}''.</html>"
 
+msgid "Select previous Gap"
+msgstr "Вибрати попередній розрив"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Виділити першого члена зв’язку, який спричиняє розрив"
+
+msgid "Select next Gap"
+msgstr "Вибрати наступний розрив"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Виділити наступного члена зв’язку, який спричиняє розрив"
+
+msgid "Zoom to Gap"
+msgstr "Масштабувати до розриву"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Масштабувати до розриву у послідовності лінії"
+
+msgid "Refers to"
+msgstr "Посилається на"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr "Не можливо додати {0} – не є частиною набору даних"
+
+msgid "Download referring relations"
+msgstr "Завантажити зв’язки з посиланнями"
+
+msgid "There were {0} conflicts during import."
+msgstr "Під час імпорту виникло {0} конфлітів"
+
+msgid "including immediate children of parent relations"
+msgstr "в тому числі безпосередні нащадки батьківських зв’язків"
+
+msgid "Load parent relations"
+msgstr "Завантажити батьківські зв’язки"
+
+msgid "Reload"
+msgstr "Перезавантажити"
+
+msgid "Loading parent relations"
+msgstr "Завантаження батьківських зв’язків"
+
+msgid "Edit the currently selected relation"
+msgstr "Правити поточний зв’язок"
+
+msgid "Apply Changes"
+msgstr "Застосувати зміни"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Створити новий зв’язок у шарі ''{0}''"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Правити новий зв’язок у шарі ''{0}''"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Створити зв’язок #{0} у шарі ''{1}''"
+
+msgid "Load relation"
+msgstr "Завантажити зв’язок"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Додати усі виділені у поточному наборі даних об’єкти після останнього "
+"виділеного члена"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -8031,69 +8220,131 @@ msgstr ""
 "Додати усі виділені у поточному наборі даних об’єкти перед першим виділеним "
 "членом"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr ""
-"Додати усі виділені у поточному наборі даних об’єкти після останнього "
-"виділеного члена"
+msgid "Apply the current updates"
+msgstr "Застосувати поточні оновлення"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "Вилучити усіх членів, що посилаються на один із виділених об’єктів"
+msgid "Cancel the updates and close the dialog"
+msgstr "Скасувати оновлення та закрити діалог"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Yes, save the changes and close"
+msgstr "Так, зберегти зміни та закрити"
+
+msgid "Click to save the changes and close this relation editor"
+msgstr "Натисніть, щоб зберегти зміни та закрити редактор зв’язків"
+
+msgid "No, discard the changes and close"
+msgstr "Ні, відкинути зміни та закрити"
+
+msgid "Click to discard the changes and close this relation editor"
+msgstr "Натисніть, щоб відкинути зміни та закрити редактор зв’язків"
+
+msgid "Cancel, continue editing"
+msgstr "Скасувати, продовжити редагування"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Виділити членів зв’язку, які посилаються на об’єкти у поточному виділенні"
+"Клацніть, щоб повернутися до редактора зв’язків та продовжити редагування"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr ""
-"Виділити членів зв’язку, які посилаються на {0} об’єкт(и) у поточному "
-"виділенні"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
+msgstr "<html>Зв’язок був змінений.<br><br>Чи бажаєте зберегти зміни?</html>"
 
-msgid "Select objects for selected relation members"
-msgstr "Виділити об’єкти для виділених членів зв’язку"
+msgid "Unsaved changes"
+msgstr "Не збережені зміни"
 
-msgid "Sort the relation members"
-msgstr "Впорядкувати членів зв’язку"
+msgid "Delete the currently edited relation"
+msgstr "Вилучити зв’язок, що редагується"
 
-msgid "Relation Editor: Sort"
-msgstr "Редактор зв’язків: Сортування"
+msgid "Relation Editor: Download Members"
+msgstr "Редактор зв’язків: Завантажити членів"
 
-msgid "Sort below"
-msgstr "Впорядкувати нижче"
+msgid "Download all incomplete members"
+msgstr "Завантажити усіх неповних членів"
 
-msgid "Sort the selected relation members and all members below"
-msgstr ""
-"Впорядкувати членів виділеного зв’язку і всіх членів розташованих нижче"
+msgid "Download Members"
+msgstr "Завантажити членів"
 
-msgid "Reverse the order of the relation members"
-msgstr "Змінити порядок членів зв’язку на протилежний"
+msgid "Download selected incomplete members"
+msgstr "Завантажити виділених неповних членів"
 
-msgid "Reverse"
-msgstr "У зворотному порядку"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "Редагувати зв’язок, якому належить виділений член"
 
-msgid "Move the currently selected members up"
-msgstr "Перемістити обраних членів вгору"
+msgid "Relation Editor: Move Down"
+msgstr "Редактор зв’язків: Опустити"
+
+msgid "Move the currently selected members down"
+msgstr "Перемістити обраних членів вниз"
 
 msgid "Relation Editor: Move Up"
 msgstr "Редактор зв’язків: Підняти"
 
-msgid "Move the currently selected members down"
-msgstr "Перемістити обраних членів вниз"
+msgid "Move the currently selected members up"
+msgstr "Перемістити обраних членів вгору"
 
-msgid "Relation Editor: Move Down"
-msgstr "Редактор зв’язків: Опустити"
+msgid "Apply the updates and close the dialog"
+msgstr "Застосувати оновлення і закрити діалог"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Вилучити виділених членів зі зв’язку"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Члени з буферу обміну не можуть бути додані, оскільки вони не належать до "
+"поточного шару"
+
+msgid "Relation Editor: Refresh"
+msgstr "Редактор звʼязків: Оновити"
+
+msgid "Refresh relation from data layer"
+msgstr "Оновити звʼязок із шару даних"
+
+msgid "Refresh"
+msgstr "Оновити"
+
+msgid "Yes, discard changes and reload"
+msgstr "Так, відкинути зміни та перезавантажити дані"
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr "Натисніть, щоб відкинути зміни та перезавантажити дані з шару"
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+"<html>Ви маєте не збрежені зміни в цьому вікні редактора.<br><br>Бажаєте "
+"відкинути їх та перезавантажити дані з шару?</html>"
+
+msgid "Click to close window"
+msgstr "Натисніть, щоб закрити вікно"
+
+msgid "No, continue editing"
+msgstr "Ні, продовжити редагування"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+"<html>Звʼязок було вилучено за межами редактора.<br><br>Бажаєте закрити "
+"вікно?</html>"
+
+msgid "Deleted relation"
+msgstr "Вилучений звʼязок"
 
 msgid "Relation Editor: Remove"
 msgstr "Редактор зв’язків: Вилучити"
 
-msgid "Delete the currently edited relation"
-msgstr "Вилучити зв’язок, що редагується"
+msgid "Remove the currently selected members from this relation"
+msgstr "Вилучити виділених членів зі зв’язку"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr "Вилучити усіх членів, що посилаються на один із виділених об’єктів"
+
+msgid "Reverse the order of the relation members"
+msgstr "Змінити порядок членів зв’язку на протилежний"
+
+msgid "Reverse"
+msgstr "У зворотному порядку"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -8110,13 +8361,6 @@ msgstr "Так, створити конфлікт і закрити"
 msgid "Click to create a conflict and close this relation editor"
 msgstr "Натисніть, щоб створити конфлікт і закрити редактор зв’язків"
 
-msgid "No, continue editing"
-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 "
@@ -8133,52 +8377,19 @@ msgstr ""
 "<html>В шарі ''{0}'' вже є конфлікт для об’єкта <br>''{1}''.<br>Будь ласка, "
 "спочатку розв’яжіть цей конфлікт, а потім спробуйте знову..</html>"
 
-msgid "Apply the current updates"
-msgstr "Застосувати поточні оновлення"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Застосувати оновлення і закрити діалог"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Скасувати оновлення та закрити діалог"
-
-msgid "Yes, save the changes and close"
-msgstr "Так, зберегти зміни та закрити"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr "Натисніть, щоб зберегти зміни та закрити редактор зв’язків"
-
-msgid "No, discard the changes and close"
-msgstr "Ні, відкинути зміни та закрити"
-
-msgid "Click to discard the changes and close this relation editor"
-msgstr "Натисніть, щоб відкинути зміни та закрити редактор зв’язків"
-
-msgid "Cancel, continue editing"
-msgstr "Скасувати, продовжити редагування"
+msgid "Select objects for selected relation members"
+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 "Не збережені зміни"
-
-msgid "Add an empty tag"
-msgstr "Додати порожній теґ"
-
-msgid "Download all incomplete members"
-msgstr "Завантажити усіх неповних членів"
-
-msgid "Download Members"
-msgstr "Завантажити членів"
-
-msgid "Relation Editor: Download Members"
-msgstr "Редактор зв’язків: Завантажити членів"
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+"Виділити членів зв’язку, які посилаються на об’єкти у поточному виділенні"
 
-msgid "Download selected incomplete members"
-msgstr "Завантажити виділених неповних членів"
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+"Виділити членів зв’язку, які посилаються на {0} об’єкт(и) у поточному "
+"виділенні"
 
 msgid "Sets a role for the selected members"
 msgstr "Встановити роль для виділених членів"
@@ -8207,72 +8418,18 @@ msgstr "Ні, не застосовувати"
 msgid "Confirm empty role"
 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 "Вибрати попередній розрив"
-
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Виділити першого члена зв’язку, який спричиняє розрив"
-
-msgid "Select next Gap"
-msgstr "Вибрати наступний розрив"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Виділити наступного члена зв’язку, який спричиняє розрив"
-
-msgid "Zoom to Gap"
-msgstr "Масштабувати до розриву"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Масштабувати до розриву у послідовності лінії"
-
-msgid "Refers to"
-msgstr "Посилається на"
-
-msgid "Download referring relations"
-msgstr "Завантажити зв’язки з посиланнями"
-
-msgid "There were {0} conflicts during import."
-msgstr "Під час імпорту виникло {0} конфлітів"
-
-msgid "including immediate children of parent relations"
-msgstr "в тому числі безпосередні нащадки батьківських зв’язків"
-
-msgid "Load parent relations"
-msgstr "Завантажити батьківські зв’язки"
-
-msgid "Reload"
-msgstr "Перезавантажити"
-
-msgid "Loading parent relations"
-msgstr "Завантаження батьківських зв’язків"
-
-msgid "Edit the currently selected relation"
-msgstr "Правити поточний зв’язок"
-
-msgid "Apply Changes"
-msgstr "Застосувати зміни"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Створити новий зв’язок у шарі ''{0}''"
+msgid "Relation Editor: Sort"
+msgstr "Редактор зв’язків: Сортування"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Правити новий зв’язок у шарі ''{0}''"
+msgid "Sort the relation members"
+msgstr "Впорядкувати членів зв’язку"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Створити зв’язок #{0} у шарі ''{1}''"
+msgid "Sort below"
+msgstr "Впорядкувати нижче"
 
-msgid "Load relation"
-msgstr "Завантажити зв’язок"
+msgid "Sort the selected relation members and all members below"
+msgstr ""
+"Впорядкувати членів виділеного зв’язку і всіх членів розташованих нижче"
 
 msgid "way is connected"
 msgstr "лінія з’єднана"
@@ -8705,6 +8862,12 @@ msgid ""
 msgstr ""
 "<html>Версію <strong>{0}</strong> створено у <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] "Цей набір змін має {0} коментар"
+msgstr[1] "Цей набір змін має {0} коментарі"
+msgstr[2] "Цей набір змін має {0} коментарів"
+
 msgid "Changeset"
 msgstr "Набір змін"
 
@@ -8831,15 +8994,15 @@ msgid "Upload"
 msgstr "Надіслати"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>Оберіть, яку дію виконувати над цим шаром, клацнувши на крайню зліва "
-"кнопку.<br/>Позначте \"upload\" для надсилання змін на сервер "
-"OSM.<br/>Позначте \"Save\" для збереження шару до файлу зазначеного "
-"ліворуч.</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "Додайте стислі пояснення для змін, які ви завантажуєте:"
@@ -9042,9 +9205,6 @@ msgid ""
 msgstr ""
 "Не вдалося отримати інформацію про поточного користувача JOSM. Виняток: {0}"
 
-msgid "Download objects"
-msgstr "Завантаження об’єктів"
-
 msgid "Initializing nodes to download ..."
 msgstr "Ініціалізація точок для завантаження …"
 
@@ -9676,7 +9836,7 @@ msgstr[0] "Вилучити {0} об’єкт:"
 msgstr[1] "Вилучити {0} об’єкти:"
 msgstr[2] "Вилучити {0} об’єктів:"
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr "Показати дані квадрата"
 
 msgid "Tile Info"
@@ -9685,16 +9845,22 @@ msgstr "Інформація про квадрат"
 msgid "Metadata "
 msgstr "Метадані "
 
-msgid "Auto Zoom"
+msgid "Load tile"
+msgstr "Завантажити квадрат"
+
+msgid "Auto zoom"
 msgstr "Автомасштабування"
 
 msgid "Auto load tiles"
 msgstr "Автозавантаження квадратів"
 
-msgid "Load All Tiles"
-msgstr "Завантажити всі квадрати мапи"
+msgid "Show errors"
+msgstr "Показати помилки"
 
-msgid "Load All Error Tiles"
+msgid "Load all tiles"
+msgstr "Завантажити всі квадрати"
+
+msgid "Load all error tiles"
 msgstr "Завантажити усі помилкові квадрати"
 
 msgid "Zoom to native resolution"
@@ -9703,26 +9869,17 @@ msgstr "Масштабувати до природної розподільчо
 msgid "Change resolution"
 msgstr "Змінити розподільчу здатність"
 
-msgid "Failed to create tile source"
-msgstr "Збій створення джерела квадратів мапи"
-
-msgid "Show Errors"
-msgstr "Показати помилки"
-
-msgid "Load Tile"
-msgstr "Завантажити квадрат мапи"
-
 msgid "Increase zoom"
 msgstr "Збільшити масштаб"
 
 msgid "Decrease zoom"
 msgstr "Зменшити масштаб"
 
-msgid "Snap to tile size"
-msgstr "Прив’язатися до розміру квадрата"
+msgid "Flush tile cache"
+msgstr "Очистити кеш квадратів"
 
-msgid "Flush Tile Cache"
-msgstr "Очистити кеш квадратів мапи"
+msgid "Failed to create tile source"
+msgstr "Збій створення джерела квадратів мапи"
 
 msgid "zoom in to load any tiles"
 msgstr "наблизитись для завантаження будь-яких квадратів мапи"
@@ -10179,6 +10336,9 @@ msgstr ""
 "Помилка зсуву.\n"
 "Очікуваний формат: {0}"
 
+msgid "Geotagged Images"
+msgstr "Зображення з геотеґами"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Видобування координат GPS з EXIF"
 
@@ -10203,9 +10363,6 @@ msgstr "Помилка читання файлів з теки {0}\n"
 msgid "One of the selected files was null"
 msgstr "Один з виділених файлів порожній"
 
-msgid "Geotagged Images"
-msgstr "Зображення з геотеґами"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "Завантажено {0} зображення."
@@ -10605,12 +10762,8 @@ msgstr[2] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Не вдалось розібрати стилі кольорів мапи з ''{0}''. Помилка: {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Виявлено застаріле значення ''{0}'' в ''{1}'', яке буде вилучене найближчим "
-"часом. Замість цього використовуйте ''{2}''."
+msgid "Failed to locate image ''{0}''"
+msgstr "Збій пошуку зображення ''{0}''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr ""
@@ -10659,6 +10812,12 @@ msgstr "Посилання мітки доступу:"
 msgid "Authorize URL:"
 msgstr "Посилання для авторизації:"
 
+msgid "OSM login URL:"
+msgstr "URL для входу в OSM:"
+
+msgid "OSM logout URL:"
+msgstr "URL для виходу з OSM:"
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Натисніть, щоб скинути налаштування OAuth на типові"
 
@@ -10731,13 +10890,6 @@ msgstr "Учасник: "
 msgid "Password: "
 msgstr "Пароль: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<strong>Попередження:</strong> JOSM виконує вхід <strong>один раз</strong> "
-"використовуючи захищене з’єднання."
-
 msgid "Granted rights"
 msgstr "Надані права"
 
@@ -10878,6 +11030,15 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Будь ласка, виберіть спосіб авторизації: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+"<strong>Попередження:</strong> Так як ви використовуєте не типовий OSM API, "
+"переконайтесь, що ви встановили Ключ користувача та Таємний ключ користувача "
+"в  <i>Розширених параметрах OAuth</i>."
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Отримати мітку доступу для ''{0}''"
 
@@ -11280,6 +11441,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr "Панель нструментів: {0}"
 
+msgid "add entry"
+msgstr "Додати пункт"
+
+msgid "Remove the selected entry"
+msgstr "Вилучити виділений пункт"
+
+msgid "Key: {0}"
+msgstr "Ключ: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Розширені налаштування"
 
@@ -11367,18 +11537,9 @@ msgstr "Оберіть файл профілю"
 msgid "Change list setting"
 msgstr "Змінити параметр списку"
 
-msgid "Key: {0}"
-msgstr "Ключ: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Змінити параметри переліку списків"
 
-msgid "add entry"
-msgstr "Додати пункт"
-
-msgid "Remove the selected entry"
-msgstr "Вилучити виділений пункт"
-
 msgid "Change list of maps setting"
 msgstr "Змінити параметри переліку мап"
 
@@ -12089,9 +12250,6 @@ msgstr "копіювати виділені типові записи"
 msgid "Please select at least one row to copy."
 msgstr "Будь ласка, виберіть принаймні один рядок для копіювання."
 
-msgid "reload defaults"
-msgstr "перезавантажити типові записи"
-
 msgid "Menu Name"
 msgstr "Назва меню"
 
@@ -12402,6 +12560,9 @@ msgstr[0] "<strong>Збій</strong> завантаження втулку:"
 msgstr[1] "<strong>Збій</strong> завантаження {0} втулків:"
 msgstr[2] "<strong>Збій</strong> завантаження {0} втулків:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>Повідомлення про помилку (без перекладу): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Будь ласка, перезавантажте JOSM, щоб активувати завантажені втулки."
 
@@ -13080,12 +13241,6 @@ msgstr "Числові значення"
 msgid "Checks for wrong numeric values"
 msgstr "Перевіряє неправильних числових значень"
 
-msgid "Power"
-msgstr "Енергетика"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Перевірка на помилки в інфраструктурі електромереж"
-
 msgid "Religion"
 msgstr "Релігія"
 
@@ -13176,6 +13331,9 @@ msgstr "Використовувати заготовку \"{0}\""
 msgid "Elements of type {0} are supported."
 msgstr "Елементи типу {0} підтримуються."
 
+msgid "This preset also sets: {0}"
+msgstr "Ця заготовка також встановлює: {0}"
+
 msgid "Edit also …"
 msgstr "Редагувати також…"
 
@@ -13249,6 +13407,9 @@ msgstr "Пошук заготовок"
 msgid "Presets"
 msgstr "Заготовки"
 
+msgid "Search for objects by preset..."
+msgstr "Пошук обʼєктів по заготовках…"
+
 msgid "Search for objects by preset"
 msgstr "Пошук об’єктів по заготовках"
 
@@ -13302,6 +13463,9 @@ msgstr ""
 "Зламаний шаблон теґів \"{0}-{1}\" — кількість елементів у "
 "''short_descriptions'' повинна дорівнювати кількості ''values''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr "Це відповідає ключу ''{0}''"
+
 msgid "More information about this feature"
 msgstr "Більш детальна інформація про цей елемент"
 
@@ -13399,16 +13563,32 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "хибність: параметр явно вимкнено"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr "false: властивість ''{0}'' явно вимкнено"
+
 msgid "true: the property is explicitly switched on"
 msgstr "істина: параметр явно увімкнено"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr "true: властивість ''{0}'' явно увімкнено"
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "частково: виділені обʼєкти мають різні значення, не змінювати"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+"partial: частина з виділених обʼєктів мають різні значення ''{0}'', не "
+"змінюйте"
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "обнулити: не встановлювати цей параметр для обраних об’єктів"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr "unset: не встановлювати властивість ''{0}''виділеним обʼєктам"
+
 msgid "Cut"
 msgstr "Вирізати"
 
@@ -13955,6 +14135,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "Неочікуване значення ''{1}'' параметру ''{0}''."
 
+msgid "OSM Server Files"
+msgstr "Файли сервера OSM"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>Виникла помилка під час збереження.<br>Помилка: <br>{0}</html>"
 
@@ -13971,9 +14154,6 @@ msgstr "Файли сервера OSM стиснені gzip"
 msgid "Parsing OSM history data ..."
 msgstr "Розбір даних історії OSM…"
 
-msgid "OSM Server Files"
-msgstr "Файли сервера OSM"
-
 msgid "Invalid dataset"
 msgstr "Неправильні дані"
 
@@ -14183,9 +14363,6 @@ msgstr "Надсилання даних…"
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Знайдено неочікуваний ідентифікатор 0 для елемента OSM"
 
-msgid "OSM Server Files zip compressed"
-msgstr "Файли сервера OSM стиснені zip"
-
 msgid "Downloading data..."
 msgstr "Звантаження даних…"
 
@@ -14379,23 +14556,29 @@ msgstr ""
 "Через Дистанційне керування отримано запит про версію протоколу. Це "
 "дозволить веб сайтам визначити, чи запущено JOSM."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-"Версія ''{0}'' мета-даних шару geoimage не підтримується. Очікувалась: 0.1"
+msgid "local file"
+msgstr "локальний файл"
+
+msgid "include"
+msgstr "додати"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Шар містить незбережені дані — зберегти у файл."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Шар не містить не збережених даних."
 
 msgid "Data:"
 msgstr "Дані:"
 
-msgid "local file"
-msgstr "локальний файл"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Посилання на OSM-файл на локальному диску"
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Посилання на файл GPX на локальному диску."
+msgid "Include OSM data in the .joz session file."
+msgstr "Додати дані OSM у файл сеансу .joz."
 
-msgid "include"
-msgstr "додати"
+msgid "Link to a GPX data file on your local disk."
+msgstr "Вкажіть шлях до вашого локального GPX-файлу."
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Додавати дані GPX до файлу сесії .joz"
@@ -14406,6 +14589,15 @@ msgstr "Невідомий тип файлу"
 msgid "GPX data will be included in the session file."
 msgstr "Дані GPX будуть додані до файлу сесії."
 
+msgid "OSM data will be included in the session file."
+msgstr "Дані OSM будуть додані у файл сеансу."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+"Версія ''{0}'' мета-даних шару geoimage не підтримується. Очікувалась: 0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14427,20 +14619,9 @@ msgid ""
 msgstr ""
 "Версія ''{0}'' метаданих маркера шару не підтримується, Очікувалась: 0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Шар містить незбережені дані — зберегти у файл."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Шар не містить не збережених даних."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Посилання на OSM-файл на локальному диску"
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Додати дані OSM у файл сеансу .joz."
-
-msgid "OSM data will be included in the session file."
-msgstr "Дані OSM будуть додані у файл сеансу."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -15337,9 +15518,6 @@ msgstr ""
 "надто великий.<br>Завантажте ділянку меншого розміру або скористайтесь "
 "файлами, які створюються OSM-спільнотою."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>Повідомлення про помилку (без перекладу): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -15384,6 +15562,9 @@ msgstr "Завантаження перенаправлено на ''{0}''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Виявлено забагато переадресувань на URL завантаження. Припинення."
 
+msgid "Fetching content..."
+msgstr "Отримання вмісту…"
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Не вдається знайти переклад мовою «{0}». Повертаємось до {1}."
 
@@ -15394,9 +15575,6 @@ msgstr ""
 "Серйозна помилка: не вдалося знайти зображення ''{0}''. Це є серйозною "
 "проблемою налаштувань. JOSM не буде працювати."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Збій пошуку зображення ''{0}''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Не вдалось обробити zip-файл ''{0}''. Виключення: {1}"
 
@@ -15437,7 +15615,7 @@ msgid "reserved"
 msgstr "зарезервовано"
 
 msgid "Unable to delete old preferences file {0}"
-msgstr ""
+msgstr "Невдалось вилучити старий файл налаштувань {0}"
 
 msgid "Outdated Java version"
 msgstr "Застаріла версія Java"
@@ -15550,7 +15728,10 @@ msgstr ""
 "об’єктів JOSM чи відповідного тексту. </p></html>"
 
 msgid "Unable to delete file {0}"
-msgstr ""
+msgstr "Невдалось вилучити файл {0}"
+
+msgid "Unable to create directory {0}"
+msgstr "Неможливо створити теку {0}"
 
 msgid "ms"
 msgstr "мс"
@@ -15883,9 +16064,6 @@ msgstr "Відкрити обраний файл"
 msgid "Open selected file."
 msgstr "Відкрити виділений файл."
 
-msgid "Refresh"
-msgstr "Оновити"
-
 msgid "Rename File"
 msgstr "Перейменувати файл"
 
@@ -15980,6 +16158,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Громадський транспорт (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Піший та велотуризм"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (німецький стиль)"
 
@@ -16046,6 +16227,9 @@ msgstr "OSM Inspector: Адреси"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Кордони (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr "SIG Національний географічний інститут Аргентини (WMTS)"
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI чорно-біла 2,5 м"
 
@@ -16142,14 +16326,17 @@ msgstr "URBIS 2015 - аерофото"
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr "SPW(allonie) цифрове зображення PICC"
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW (allonie) 2012 аерофотознімки"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr "SPW(allonie) 2015 аерофото"
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW (allonie) 2009 аерофотознімки"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr "SPW(allonie) 2012-2013 аерофото"
 
-msgid "TEC bus lines"
-msgstr "TEC - автобусні маршрути"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr "SPW(allonie) 2009-2010 аерофото"
+
+msgid "TEC bus lines (2014)"
+msgstr "TEC автобусні маршрути (2014)"
 
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Мапа міських районів"
@@ -16271,6 +16458,9 @@ msgstr "SIG L-R - Лангедок-Руссильон 2012 - 20 см"
 msgid "Route 500™©®"
 msgstr "Route 500™©®"
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr "Тулуза - ортофотоплани 2015"
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Тулуза - Ортофотоплан 2013"
 
@@ -16291,9 +16481,6 @@ msgid ""
 "- 1 m"
 msgstr "Веркор - заповідник Хайлендс Веркор - ортофото 1999 - 1 м"
 
-msgid "Hike & Bike"
-msgstr "Піший та велотуризм"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Сербська мова)"
 
@@ -16366,6 +16553,15 @@ msgstr "Знімки з дрону 2014 (Гаїті)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr "Знімки з дронів Canaan(Гаіті) Листопад 2015"
 
+msgid "FÖMI ortophoto 2000"
+msgstr "FÖMI ортофото 2000"
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr "Interspect Budapest ортофото 2014"
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr "Пять районів Будапешта: III, IV, XIII, XIV, XV"
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ірландія Міністерство оборони Великобританії 1:25000 GSGS 3906"
 
@@ -16400,11 +16596,14 @@ msgstr "OSMIE - місцеві виборчі округи"
 msgid "OSMIE Dail Election Areas"
 msgstr "OSMIE - виборчі округи Палати представників (Дойл Ерен)"
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr "OSMIE T.ie Землі по за графствами"
+
 msgid "Lodi - Italy"
 msgstr "Лоді - Італія"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Ломбардія - Італія (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr "Ломбардія - Італія (CTR DBT)"
 
 msgid "Sicily - Italy"
 msgstr "Сицилія - ​​Італія"
@@ -17126,6 +17325,9 @@ msgstr "Завантажує дані під час масштабування/
 msgid "Create a grid of ways."
 msgstr "Створює сітку з ліній."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -17162,7 +17364,7 @@ msgid ""
 "Provides the EJML library for other JOSM plugins. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
-"Надає бібліотеку EJML для інший втулків JOSM. Не призначений для "
+"Надає бібліотеку EJML для інших втулків JOSM. Не призначений для "
 "безпосереднього встановлення користувачами, встановлюється тільки як "
 "залежність для інших втулків."
 
@@ -17216,7 +17418,7 @@ msgid ""
 "Provides the GSON library for other JOSM plugins. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
-"Надає бібліотеку GSON для інший втулків JOSM. Не призначений для "
+"Надає бібліотеку GSON для інших втулків JOSM. Не призначений для "
 "безпосереднього встановлення користувачами, встановлюється тільки як "
 "залежність для інших втулків."
 
@@ -17887,6 +18089,105 @@ msgstr "обмежений"
 msgid "Brand"
 msgstr "Торгова марка (Бренд)"
 
+msgid "Cuisine"
+msgstr "Кухня"
+
+msgid "italian"
+msgstr "італійська"
+
+msgid "chinese"
+msgstr "китайська"
+
+msgid "pizza"
+msgstr "піца"
+
+msgid "burger"
+msgstr "бутерброди"
+
+msgid "greek"
+msgstr "грецька"
+
+msgid "german"
+msgstr "німецька"
+
+msgid "indian"
+msgstr "індійська"
+
+msgid "regional"
+msgstr "місцева"
+
+msgid "kebab"
+msgstr "кебаб/шашлик"
+
+msgid "turkish"
+msgstr "турецька"
+
+msgid "asian"
+msgstr "азійська"
+
+msgid "thai"
+msgstr "тайська"
+
+msgid "mexican"
+msgstr "мексиканська"
+
+msgid "japanese"
+msgstr "японська"
+
+msgid "french"
+msgstr "французька"
+
+msgid "sandwich"
+msgstr "сандвічі"
+
+msgid "coffee_shop"
+msgstr "кавʼярня"
+
+msgid "sushi"
+msgstr "суші"
+
+msgid "steak_house"
+msgstr "стейк хауз"
+
+msgid "fish_and_chips"
+msgstr "риба і чіпси"
+
+msgid "chicken"
+msgstr "курятина"
+
+msgid "american"
+msgstr "американська"
+
+msgid "ice_cream"
+msgstr "морозиво"
+
+msgid "international"
+msgstr "інтернаціональна"
+
+msgid "seafood"
+msgstr "морепродукти"
+
+msgid "spanish"
+msgstr "іспанська"
+
+msgid "vietnamese"
+msgstr "вʼєтнамська"
+
+msgid "fish"
+msgstr "риба"
+
+msgid "noodle"
+msgstr "локшина"
+
+msgid "barbecue"
+msgstr "барбекю"
+
+msgid "vegetarian"
+msgstr "вегетаріанська"
+
+msgid "korean"
+msgstr "корейська"
+
 msgid "Internet access"
 msgstr "Інтернет-доступ"
 
@@ -18458,8 +18759,11 @@ msgstr "Макс. вага (в тоннах)"
 msgid "Toll"
 msgstr "Платна"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "Чи водойма пересихає (періодично зникає)?"
+msgid "Intermittent"
+msgstr "Зникає"
+
+msgid "Seasonal"
+msgstr "В певну пору року"
 
 msgid "In the tidal range"
 msgstr "В зоні приливу"
@@ -18836,7 +19140,7 @@ msgid "Tourist buses"
 msgstr "Туристичні автобуси"
 
 msgid "Max. speed Heavy Goods Vehicles (km/h)"
-msgstr ""
+msgstr "Максимальна швидкість для вантажівок понад 3,5 т (км/г)"
 
 msgid "Min. speed (km/h)"
 msgstr "Мін. швидкість (км/г)"
@@ -19231,26 +19535,30 @@ msgstr "У разі наявності світлофора"
 msgid "Traffic Calming"
 msgstr "Засоби для обмеження швидкості"
 
-msgid "bump"
-msgstr "лежачий поліцейський"
+msgid "Bump"
+msgstr "Лежачий поліцейський"
 
-msgid "chicane"
-msgstr "шикана"
+msgid "Chicane"
+msgstr "Шикана"
 
-msgid "choker"
-msgstr "звуження"
+msgid "Choker"
+msgstr "Звуження дороги"
 
-msgid "cushion"
-msgstr "лежачий поліцейський з розривами"
+msgid "Cushion"
+msgstr "Лежачий поліцейський з розривами"
 
-msgid "hump"
-msgstr "широкий лежачий поліцейський"
+msgid "Hump"
+msgstr "Широкий лежачий поліцейський"
 
-msgid "rumble_strip"
-msgstr "рельєфна смуга"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr "Острів"
 
-msgid "table"
-msgstr "платформа"
+msgid "Rumble strip"
+msgstr "Шумові стрічки"
+
+msgid "Table"
+msgstr "Стіл"
 
 msgid "Passing Place"
 msgstr "Місце роз’їзду"
@@ -19399,6 +19707,9 @@ msgstr "Міська стіна"
 msgid "Retaining Wall"
 msgstr "Підпірна стінка"
 
+msgid "Jersey Barrier"
+msgstr "Барʼєр Джерсі"
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Канава"
@@ -19569,6 +19880,9 @@ msgstr "ріка"
 msgid "Salt Water"
 msgstr "Солона вода"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "Чи водойма пересихає (періодично зникає)?"
+
 msgid "Coastline"
 msgstr "Узбережжя"
 
@@ -19633,16 +19947,6 @@ msgid ""
 msgstr ""
 "Велика водна ділянка, що частково обмежена сушею, але має широке гирло"
 
-msgid "Cliff"
-msgstr "Скеля"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"Крута скеля, що має майже вертикальний обрив з одного боку (нижня сторона "
-"повинна бути праворуч від лінії)"
-
 msgid "Shipping"
 msgstr "Судноплавство"
 
@@ -20573,66 +20877,6 @@ msgstr "Харчування"
 msgid "Restaurant"
 msgstr "Ресторан"
 
-msgid "Cuisine"
-msgstr "Кухня"
-
-msgid "italian"
-msgstr "італійська"
-
-msgid "chinese"
-msgstr "китайська"
-
-msgid "pizza"
-msgstr "піца"
-
-msgid "burger"
-msgstr "бутерброди"
-
-msgid "greek"
-msgstr "грецька"
-
-msgid "german"
-msgstr "німецька"
-
-msgid "indian"
-msgstr "індійська"
-
-msgid "regional"
-msgstr "місцева"
-
-msgid "kebab"
-msgstr "кебаб/шашлик"
-
-msgid "turkish"
-msgstr "турецька"
-
-msgid "asian"
-msgstr "азійська"
-
-msgid "thai"
-msgstr "тайська"
-
-msgid "mexican"
-msgstr "мексиканська"
-
-msgid "japanese"
-msgstr "японська"
-
-msgid "french"
-msgstr "французька"
-
-msgid "sandwich"
-msgstr "сандвічі"
-
-msgid "coffee_shop"
-msgstr "кавʼярня"
-
-msgid "sushi"
-msgstr "суші"
-
-msgid "steak_house"
-msgstr "стейк хауз"
-
 msgid "Microbrewery"
 msgstr "Міні-пивоварня"
 
@@ -20645,19 +20889,13 @@ msgstr "Страви на винос"
 msgid "Fast Food"
 msgstr "Швидке харчування"
 
-msgid "fish_and_chips"
-msgstr "риба і чіпси"
-
-msgid "chicken"
-msgstr "курятина"
-
 msgid "Food Court"
 msgstr "Відкритий майданчик (кафе)"
 
 msgid "Cafe"
 msgstr "Кафе"
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr "морозиво"
 
 msgid "Pub"
@@ -20835,6 +21073,12 @@ msgstr "Парк розваг"
 msgid "Water Park"
 msgstr "Аквапарк"
 
+msgid "Swimming Pool"
+msgstr "Басейн"
+
+msgid "Used for the water area only."
+msgstr "Застосовується бепосередньо до вани басейну (не до будівлі)."
+
 msgid "Sauna"
 msgstr "Сауна"
 
@@ -20869,9 +21113,6 @@ msgstr "Місце для вогнища"
 msgid "Fishing"
 msgstr "Рибалка"
 
-msgid "Private Swimming Pool"
-msgstr "Приватний басейн"
-
 msgid "Night Club"
 msgstr "Нічний клуб"
 
@@ -20914,12 +21155,18 @@ msgstr "статуя"
 msgid "Artist Name"
 msgstr "Автор"
 
-msgid "Recording Studio"
-msgstr "Студія звукозапису"
+msgid "Studio"
+msgstr "Студія"
 
 msgid "audio"
 msgstr "звук"
 
+msgid "radio"
+msgstr "радіо"
+
+msgid "television"
+msgstr "телебачення"
+
 msgid "video"
 msgstr "відео"
 
@@ -21023,6 +21270,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "адвентисти сьомого дня"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr "спіритизм"
+
 msgid "Mosque"
 msgstr "Мечеть"
 
@@ -21182,30 +21433,149 @@ msgstr "(Використовуйте міжнародний код, напри
 msgid "Veterinary"
 msgstr "Ветеринар"
 
+msgid "Emergency"
+msgstr "Невідкладна допомога"
+
+msgid "Ambulance Station"
+msgstr "Станція швидкої допомоги"
+
+msgid "Automated Defibrillator"
+msgstr "Автоматизований дефібрилятор"
+
+msgid "Located inside a building?"
+msgstr "Розташований у будівлі?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "Перевірявся востаннє (YYYY-MM-DD)"
+
+msgid "Last check note"
+msgstr "Відмітка про останню перевірку"
+
+msgid "Fire Extinguisher"
+msgstr "Вогнегасник"
+
+msgid "Indoor"
+msgstr "в приміщенні"
+
+msgid "Fire Hose"
+msgstr "Пожежний рукав"
+
+msgid "Fire Hydrant"
+msgstr "Пожежний гідрант"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "підземний"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "колонка"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "настінний"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "ставок"
+
+msgid "Diameter (in mm)"
+msgstr "Діаметр (в мм)"
+
+msgid "Hydrant Position"
+msgstr "Розташування"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "провулок"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "на стоянці"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "на тротуарі"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "на газоні"
+
+msgid "Pressure (in bar)"
+msgstr "Тиск (в барах)"
+
+msgid "suction"
+msgstr "всмоктування"
+
+msgid "Count"
+msgstr "Кількість"
+
+msgid "Water Tank"
+msgstr "Резервуар з водою"
+
+msgid "Volume (in liters)"
+msgstr "Ємність (в літрах)"
+
+msgid "Assembly Point"
+msgstr "Місце збору"
+
+msgid "Emergency Phone"
+msgstr "Телефон для екстрених викликів"
+
+msgid "Siren"
+msgstr "Сирена"
+
+msgid "pneumatic"
+msgstr "пнематична"
+
+msgid "electronic"
+msgstr "електронна"
+
+msgid "mechanical"
+msgstr "механічна"
+
+msgid "Purpose"
+msgstr "Призначення"
+
+msgid "tornado"
+msgstr "торнадо"
+
+msgid "fire"
+msgstr "пожежа"
+
+msgid "air_raid"
+msgstr "повітряна тривого"
+
+msgid "civil_defense"
+msgstr "громадянська оборона"
+
+msgid "Range (in meters)"
+msgstr "Відстань чутності (у метрах)"
+
 msgid "Social Facility"
-msgstr ""
+msgstr "Соціальні послуги"
 
 msgid "Nursing Home"
 msgstr "Будинок престарілих"
 
 msgid "Group Home"
-msgstr ""
+msgstr "Будинок групового мешкання"
 
 msgid "For"
-msgstr ""
+msgstr "Призначений для"
 
 msgid "Assisted Living"
-msgstr ""
+msgstr "Будинок для осіб з обмеженими можливостями"
 
 msgid "Outreach"
-msgstr ""
+msgstr "Громадський соціальний центр"
 
 msgctxt "social_facility"
 msgid "Shelter"
-msgstr ""
+msgstr "Притулок"
 
 msgid "Food Bank"
-msgstr ""
+msgstr "Харчування"
 
 msgid "Toilets/Restrooms"
 msgstr "Туалет/Вбиральня"
@@ -21251,10 +21621,10 @@ msgstr "пісуар"
 
 msgctxt "toilets"
 msgid "Diaper"
-msgstr ""
+msgstr "Сповивальний стіл"
 
 msgid "room"
-msgstr ""
+msgstr "в окремій кімнаті"
 
 msgid "Post Box"
 msgstr "Поштова скринька"
@@ -21294,24 +21664,9 @@ msgstr "Банкноти"
 msgid "Telephone cards"
 msgstr "Телефонні картки"
 
-msgid "Emergency Phone"
-msgstr "Телефон для екстрених викликів"
-
 msgid "Internet Access"
 msgstr "Доступ в Інтернет"
 
-msgid "Automated Defibrillator"
-msgstr "Автоматизований дефібрилятор"
-
-msgid "Located inside a building?"
-msgstr "Розташований у будівлі?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "Перевірявся востаннє (YYYY-MM-DD)"
-
-msgid "Last check note"
-msgstr "Відмітка про останню перевірку"
-
 msgid "Clock"
 msgstr "Годинник"
 
@@ -21474,64 +21829,15 @@ msgctxt "height"
 msgid "full"
 msgstr "повна"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Прихована"
+msgstr ""
 
 msgid "Lock"
 msgstr "Зачиняється"
 
-msgid "Indoor"
-msgstr "в приміщенні"
-
-msgid "Fire Hydrant"
-msgstr "Пожежний гідрант"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "підземний"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "колонка"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "настінний"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "ставок"
-
-msgid "Diameter (in mm)"
-msgstr "Діаметр (в мм)"
-
-msgid "Hydrant Position"
-msgstr "Розташування"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "провулок"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "на стоянці"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "на тротуарі"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "на газоні"
-
-msgid "Pressure (in bar)"
-msgstr "Тиск (в барах)"
-
-msgid "suction"
-msgstr "всмоктування"
-
-msgid "Count"
-msgstr "Кількість"
+msgid "Water Point"
+msgstr "Питна вода"
 
 msgid "Compressed Air"
 msgstr "Компресор"
@@ -21584,9 +21890,62 @@ msgstr "тартан"
 msgid "Racetrack"
 msgstr "Бігова доріжка"
 
+msgid "Golf"
+msgstr "Гольф"
+
 msgid "Golf Course"
 msgstr "Поле для гольфу"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr "Ті"
+
+msgctxt "golf"
+msgid "Hole"
+msgstr "Лунка"
+
+msgid "Par"
+msgstr "Пар"
+
+msgid "Handicap rating"
+msgstr "Гадікап"
+
+msgctxt "golf"
+msgid "Pin"
+msgstr "Прапор"
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr "Пастка"
+
+msgctxt "golf"
+msgid "Natural"
+msgstr "Природній"
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr "Фронтальна водна перешкода"
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr "Бічна водна перешкода"
+
+msgctxt "golf"
+msgid "Green"
+msgstr "Грін"
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr "Фервей"
+
+msgctxt "golf"
+msgid "Rough"
+msgstr "Раф"
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr "Тренувальна зона"
+
 msgid "Miniature Golf"
 msgstr "Міні-гольф"
 
@@ -21811,9 +22170,6 @@ msgstr "Пляжний волейбол"
 msgid "Billiards"
 msgstr "Більярд"
 
-msgid "Golf"
-msgstr "Гольф"
-
 msgid "golf_course"
 msgstr "поле для гольфу"
 
@@ -21978,6 +22334,10 @@ msgid "gasometer"
 msgstr "газгольдер"
 
 msgctxt "building"
+msgid "silo"
+msgstr "сілос"
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "корівник"
 
@@ -21986,6 +22346,38 @@ msgid "construction"
 msgstr "будується"
 
 msgctxt "building"
+msgid "basilica"
+msgstr "базиліка"
+
+msgctxt "building"
+msgid "cathedral"
+msgstr "собор"
+
+msgctxt "building"
+msgid "chapel"
+msgstr "каплиця"
+
+msgctxt "building"
+msgid "church"
+msgstr "церква"
+
+msgctxt "building"
+msgid "temple"
+msgstr "храм"
+
+msgctxt "building"
+msgid "mosque"
+msgstr "мечеть"
+
+msgctxt "building"
+msgid "synagogue"
+msgstr "синагога"
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr "трасформаторна башта"
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Поверхи"
 
@@ -22098,6 +22490,9 @@ msgstr "Вітряк"
 msgid "Gasometer"
 msgstr "Газгольдер"
 
+msgid "Silo"
+msgstr "Сілос"
+
 msgid "Storage Tank"
 msgstr "Резервуар"
 
@@ -22499,6 +22894,14 @@ msgstr "склади"
 msgid "hardened_aircraft_shelter"
 msgstr "укріплений ангар"
 
+msgctxt "bunker"
+msgid "underground"
+msgstr "підземний"
+
+msgctxt "bunker"
+msgid "overground"
+msgstr "на поверхні"
+
 msgid "Historic"
 msgstr "історичного значення"
 
@@ -22508,6 +22911,9 @@ msgstr "Руїни"
 msgid "Range"
 msgstr "Вогневий рубіж"
 
+msgid "Power"
+msgstr "Енергетика"
+
 msgid "Power Plant"
 msgstr "Електростанція"
 
@@ -22941,11 +23347,14 @@ msgstr "1 Мвар"
 msgid "5 Mvar"
 msgstr "5 Мвар"
 
-msgid "Cable Distribution Cabinet"
-msgstr "Кабельна розподільча шафа"
+msgid "Power Street Cabinet"
+msgstr "Трасформаторна будка"
 
-msgid "Power Tower"
-msgstr "Опора ЛЕП"
+msgid "Transformer Tower"
+msgstr "Трасформаторна башта"
+
+msgid "Power Portal"
+msgstr "Портальна опора"
 
 msgid "Type of construction"
 msgstr "Тип конструкції"
@@ -22966,6 +23375,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "червоний/білий"
 
+msgid "Portal design"
+msgstr "Конструкція опори"
+
+msgctxt "power"
+msgid "portal"
+msgstr "портал"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "дворівневий портал"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "трирівневий портал"
+
+msgid "Power Tower"
+msgstr "Опора ЛЕП"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Тип башти"
@@ -23089,18 +23516,6 @@ msgid "guyed_h-frame"
 msgstr "H-подібна з розтяжками"
 
 msgctxt "power"
-msgid "portal"
-msgstr "портал"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "дворівневий портал"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "трирівневий портал"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "V-подібна з розтяжками"
 
@@ -23133,6 +23548,9 @@ msgstr "Атрибути опори:"
 msgid "Transformer Attributes:"
 msgstr "Атрибути трансформатора:"
 
+msgid "Insulator"
+msgstr "Ізолятор"
+
 msgid "Power Line"
 msgstr "Лінія електропередач"
 
@@ -23390,6 +23808,9 @@ msgstr "Меблі"
 msgid "Kitchen"
 msgstr "Все для кухні"
 
+msgid "Houseware"
+msgstr "Предмети побуту"
+
 msgid "Curtain"
 msgstr "Штори та гардини"
 
@@ -23432,12 +23853,21 @@ msgstr "Догляд за тілом"
 msgid "Chemist"
 msgstr "Побутова хімія"
 
-msgid "Hairdresser/Barber"
-msgstr "Перукарня"
+msgid "Cosmetics"
+msgstr "Косметика"
+
+msgid "Perfumery"
+msgstr "Парфуми"
 
 msgid "Beauty"
 msgstr "Салон краси"
 
+msgid "Tobacco"
+msgstr "Табак"
+
+msgid "Hairdresser/Barber"
+msgstr "Перукарня"
+
 msgid "Tattoo"
 msgstr "Тату"
 
@@ -23763,6 +24193,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr "Телекомунікаційна компанія"
 
+msgid "Craft"
+msgstr "Майстерня"
+
+msgid "Carpenter"
+msgstr "Тесляр"
+
+msgid "Shoemaker"
+msgstr "Швець"
+
+msgid "Photographer"
+msgstr "Фотограф"
+
+msgid "Metal construction"
+msgstr "Металеві вироби"
+
+msgid "Electrician"
+msgstr "Електрик"
+
+msgid "Brewery"
+msgstr "Броварня"
+
+msgid "Plumber"
+msgstr "Водопровідник"
+
+msgid "Sawmill"
+msgstr "Лісопилка"
+
+msgid "Gardener"
+msgstr "Садівництво"
+
+msgid "Winery"
+msgstr "Виноробня"
+
+msgid "Hvac"
+msgstr "Кондиціонери та вентиляція"
+
+msgid "Painter"
+msgstr "Маляр"
+
+msgid "Stonemason"
+msgstr "Каменяр"
+
+msgid "Handicraft"
+msgstr "Рукоділля"
+
+msgid "Pottery"
+msgstr "Гончарня"
+
+msgid "Key cutter"
+msgstr "Виготовлення ключів"
+
+msgid "Caterer"
+msgstr "Обслуговування бенкетів"
+
+msgid "Roofer"
+msgstr "Покрівельник"
+
+msgid "Beekeeper"
+msgstr "Бджоляр"
+
+msgid "Blacksmith"
+msgstr "Коваль"
+
+msgid "Locksmith"
+msgstr "Слюсар"
+
+msgid "Window construction"
+msgstr "Виготовлення вікон"
+
+msgid "Upholsterer"
+msgstr "Меблівник"
+
+msgid "Tiler"
+msgstr "Плиточник"
+
 msgid "Geography"
 msgstr "Географія"
 
@@ -23834,7 +24339,7 @@ msgstr "Країна"
 
 msgctxt "place"
 msgid "State"
-msgstr "Штат/Провинція"
+msgstr "Штат/Провінція"
 
 msgid "Region"
 msgstr "Область"
@@ -23935,6 +24440,16 @@ msgstr "Долина"
 msgid "A low area between hills."
 msgstr "Місцевість між пагорбами."
 
+msgid "Cliff"
+msgstr "Скеля"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"Крута скеля, що має майже вертикальний обрив з одного боку (нижня сторона "
+"повинна бути праворуч від лінії)"
+
 msgid "Cave Entrance"
 msgstr "Вхід до печери"
 
@@ -24150,6 +24665,51 @@ msgstr "Левада"
 msgid "Orchard"
 msgstr "Фруктовий сад"
 
+msgid "Trees"
+msgstr "Дерева"
+
+msgid "olive_trees"
+msgstr "оливкові дерева"
+
+msgid "apple_trees"
+msgstr "яблуні"
+
+msgid "oil_palms"
+msgstr "олійні пальми"
+
+msgid "orange_trees"
+msgstr "апельсин"
+
+msgid "almond_trees"
+msgstr "миндаль"
+
+msgid "banana_plants"
+msgstr "банани"
+
+msgid "coconut_palms"
+msgstr "кокосові пальми"
+
+msgid "hazel_plants"
+msgstr "ліщина"
+
+msgid "cherry_trees"
+msgstr "вишні"
+
+msgid "persimmon_trees"
+msgstr "хурма"
+
+msgid "walnut_trees"
+msgstr "волоські горіхи"
+
+msgid "plum_trees"
+msgstr "сливи"
+
+msgid "peach_trees"
+msgstr "персики"
+
+msgid "tea_plants"
+msgstr "чай"
+
 msgid "Vineyard"
 msgstr "Виноградник"
 
@@ -24948,9 +25508,6 @@ msgstr "{0} і {1} разом з {2} і значеннями, що спричи
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr "Підозріла комбінація тегів: {0} і {1}"
 
-msgid "{0}={1} is deprecated"
-msgstr "{0}={1} є застарілим"
-
 msgid "{0} is deprecated"
 msgstr "{0} заборонено"
 
@@ -24979,9 +25536,8 @@ msgstr ""
 "Неправильне використання теґу {0}. Вилучіть {1}, так як ясно, що назва "
 "відсутня, навіть без додаткових теґів."
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr ""
-"{0}={1} є застарілим. Будь ласка, використовуйте натомість мультиполігон."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr "{0} є застрілим. Використовуйте замість цього мультиполігон."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -25034,6 +25590,16 @@ msgstr "незвично короткий ключ"
 msgid "{0} is inaccurate"
 msgstr "{0} — неточне значення"
 
+msgid "{0} is deprecated for {1}"
+msgstr "{0} є застарілим для {1}"
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+"{0} є застрілим. Використовуйте {1}: префікс для ключа замість цього."
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} на точці. Слід застосовувати до лінії."
 
@@ -25049,6 +25615,9 @@ msgstr "{0} на лінії, замість точки."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} на лінії, а повинен бути на зв’язку"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} на точці"
 
@@ -25076,6 +25645,9 @@ msgstr "{0} має бути приєднаним до лінії"
 msgid "node connects waterway and bridge"
 msgstr "точка є спільною для мосту та водного шляху"
 
+msgid "suspicious roundabout direction"
+msgstr "сумнівний напрям кругового руху"
+
 msgid "abbreviated street name"
 msgstr "скорочене позначення вулиці"
 
@@ -25119,8 +25691,8 @@ msgstr "теґ layer із знаком «+»"
 msgid "layer should be between -5 and 5"
 msgstr "рівень повинен бути між -5 та 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "значенням level повинно бути число із можливим кроком 0.5"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr "̱{0} повине бути тільки числом (з необовʼязковим кроком 0.5)"
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -28869,8 +29441,8 @@ msgstr "знімків"
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr "Шрифт для дорожніх знаків ''{0}'' має невірний формат."
 
-msgid "Could not read font-file from ''{{0}}''."
-msgstr "Невдалося прочитати файл шрифта з  ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
+msgstr ""
 
 msgid "Mapillary"
 msgstr "Mapillary"
@@ -29190,6 +29762,9 @@ msgstr "Вхід в Mapillary"
 msgid "Login successful, return to JOSM."
 msgstr "Вдалий вхід, повертаємось в JOSM."
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr "Підтримувані формати зображень (JPG та PNG)"
+
 msgid "Downloading Mapillary images"
 msgstr "Завантаження знімків Mapillary"
 
@@ -29205,6 +29780,18 @@ msgstr "Надсилання закінчене"
 msgid "Uploading: {0}"
 msgstr "Надсилання: {0}"
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "Результати вимірювання"
 
@@ -30254,67 +30841,67 @@ msgid "Please load some photos."
 msgstr "Завантажте кілька знімків."
 
 msgid "Edit photo GPS data"
-msgstr ""
+msgstr "Реагувати GPS-дані знімка"
 
 msgid "Edit GPS data of selected photo."
-msgstr ""
+msgstr "Реагувати GPS-дані виділеного знімка"
 
 msgid "Edit Photo GPS Data"
-msgstr ""
+msgstr "Реагувати GPS-дані знімка"
 
 msgid "Please select an image first."
-msgstr ""
+msgstr "Оберіть спочатку знімок."
 
 msgid "No image selected"
-msgstr ""
+msgstr "Не обрано жодного зображення"
 
 msgid "(Empty values delete the according fields.)"
-msgstr ""
+msgstr "(Порожні значення видаляють відповідні поля.)"
 
 msgid "coordinates"
 msgstr "координати"
 
 msgid "Latitude and longitude"
-msgstr ""
+msgstr "Широта і довгота"
 
 msgid "Edit Image Coordinates"
-msgstr ""
+msgstr "Змінити координати зображення"
 
 msgid "Edit coordinates in separate editor"
-msgstr ""
+msgstr "Змінити координати в окремому редакторі"
 
 msgid "altitude"
-msgstr ""
+msgstr "висота над р.м."
 
 msgid "Altitude:"
-msgstr ""
+msgstr "Висота над р.м.:"
 
 msgid "speed"
-msgstr ""
+msgstr "швидкість"
 
 msgid "positive number or empty"
-msgstr ""
+msgstr "позитивне число або нічого"
 
 msgid "Speed:"
-msgstr ""
+msgstr "Швидкість:"
 
 msgid "direction"
-msgstr ""
+msgstr "напрямок"
 
 msgid "range -360.0 .. 360.0, or empty"
-msgstr ""
+msgstr "в діапазоні -360.0 .. 360.0 або нічого"
 
 msgid "Direction:"
-msgstr ""
+msgstr "Напрямок:"
 
 msgid "°"
-msgstr ""
+msgstr "°"
 
 msgid "Undo changes made in this dialog"
-msgstr ""
+msgstr "Відмінити зміни, зроблені в цьому діалозі"
 
 msgid "Reload GPS data from image file"
-msgstr ""
+msgstr "Перезавантажити GPS-дані з файла зображення"
 
 msgid "New layer for untagged images"
 msgstr "Новий шар для непозначених знімків"
@@ -30631,6 +31218,12 @@ msgstr "Втулок Proj4J"
 msgid "Code"
 msgstr "Код"
 
+msgid "Can''t parse a time from this string."
+msgstr "Неможливо визначити час із цього рядка."
+
+msgid "Invalid value"
+msgstr "Некоректне значення"
+
 msgid "added"
 msgstr "додано"
 
@@ -30719,15 +31312,6 @@ msgstr "Захопити"
 msgid "Join"
 msgstr "Приєднати"
 
-msgid "Enable"
-msgstr "Увімкнути"
-
-msgid "Can''t parse a time from this string."
-msgstr "Неможливо визначити час із цього рядка."
-
-msgid "Invalid value"
-msgstr "Некоректне значення"
-
 msgid "moved"
 msgstr "пересунуто"
 
@@ -32894,6 +33478,9 @@ msgstr "Лінію із виділеними точками неможливо 
 msgid "Internal error: number of nodes is {0}."
 msgstr "Внутрішня помилка: кількість точок — {0}"
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr "Копіювати всі теґи виділених обʼєктів в буфер обміну."
+
 msgid "Extract node"
 msgstr "Від’єднати точку"
 
@@ -33559,6 +34146,11 @@ msgstr[2] "Отримання {0} id Вікіданих для мови ''{1}''"
 msgid "Add Wikidata for language ''{0}''"
 msgstr "Додати Вікідані для мови ''{0}''"
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Додати назву з Вікіпедії"
 
@@ -33649,3 +34241,6 @@ msgstr "Кермувати"
 
 msgid "Drive a race car on this layer"
 msgstr "Керуйте гоночним автомобілем на цьому шарі"
+
+#~ msgid "Could not read font-file from ''{{0}}''."
+#~ msgstr "Невдалося прочитати файл шрифта з  ''{{0}}''."
diff --git a/i18n/po/ur.po b/i18n/po/ur.po
index a17b747..31e9605 100644
--- a/i18n/po/ur.po
+++ b/i18n/po/ur.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+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: 2016-01-06 05:05+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:04+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: ur\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -386,6 +386,9 @@ msgid ""
 "nodes)"
 msgstr ""
 
+msgid "Reverse Ways"
+msgstr ""
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] ""
@@ -441,6 +444,12 @@ msgstr ""
 msgid "Delete selected objects."
 msgstr ""
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr ""
 
@@ -1172,9 +1181,6 @@ msgstr ""
 msgid "Reverse way"
 msgstr ""
 
-msgid "Reverse Ways"
-msgstr ""
-
 msgid "Reverse the direction of all selected ways."
 msgstr ""
 
@@ -1507,6 +1513,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr ""
 
@@ -2225,6 +2241,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2266,6 +2287,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr ""
+
 msgid "Select in relation list"
 msgstr ""
 
@@ -2620,7 +2650,10 @@ msgid ""
 "{1}"
 msgstr ""
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
 msgstr ""
 
 msgid "Range of primitive ids expected"
@@ -3183,9 +3216,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr ""
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
 
@@ -3244,6 +3274,9 @@ msgctxt "compass"
 msgid "E"
 msgstr ""
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 
@@ -3471,6 +3504,9 @@ msgstr ""
 msgid "areatext"
 msgstr ""
 
+msgid " (at line {0}, column {1})"
+msgstr ""
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3548,12 +3584,24 @@ msgstr ""
 msgid "WGS84"
 msgstr ""
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr ""
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3563,6 +3611,24 @@ msgstr ""
 msgid "Mercator"
 msgstr ""
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4129,6 +4195,9 @@ msgstr ""
 msgid "Property values start or end with white space"
 msgstr ""
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr ""
 
@@ -4823,9 +4892,6 @@ msgstr ""
 msgid "Click to open the imagery tab in the preferences"
 msgstr ""
 
-msgid "Search menu items"
-msgstr ""
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4884,12 +4950,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr ""
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr ""
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr ""
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr ""
 
@@ -4916,6 +4976,18 @@ msgstr ""
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr ""
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr ""
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5735,6 +5807,18 @@ msgstr ""
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] ""
@@ -5851,6 +5935,9 @@ msgstr ""
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr ""
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr ""
 
@@ -6276,6 +6363,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr ""
+
 msgid "Mini map"
 msgstr ""
 
@@ -6623,19 +6713,13 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Download content"
-msgstr ""
-
-msgid "Download the changeset content from the OSM server"
-msgstr ""
-
-msgid "Update content"
+msgid "Download and show the history of the selected objects"
 msgstr ""
 
-msgid "Update the changeset content from the OSM server"
+msgid "Download objects"
 msgstr ""
 
-msgid "Download and show the history of the selected objects"
+msgid "Download the current version of the selected objects"
 msgstr ""
 
 msgid "Select in layer"
@@ -6737,6 +6821,18 @@ msgstr ""
 msgid "closed"
 msgstr ""
 
+msgid "Download content"
+msgstr ""
+
+msgid "Download the changeset content from the OSM server"
+msgstr ""
+
+msgid "Update content"
+msgstr ""
+
+msgid "Update the changeset content from the OSM server"
+msgstr ""
+
 msgid "Changeset ID: "
 msgstr ""
 
@@ -7064,7 +7160,7 @@ msgstr ""
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
+msgid "Go to OSM wiki for tag help"
 msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
@@ -7100,6 +7196,9 @@ msgstr ""
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr ""
 
@@ -7167,6 +7266,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr ""
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7279,9 +7399,6 @@ msgstr ""
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-msgstr ""
-
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
@@ -7312,108 +7429,83 @@ msgid ""
 "''{0}''.</html>"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
+msgid "Select previous Gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
+msgid "Select the previous relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Select next Gap"
 msgstr ""
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "Select the next relation member which gives rise to a gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Select objects for selected relation members"
+msgid "Refers to"
 msgstr ""
 
-msgid "Sort the relation members"
+msgid "Cannot add {0} since it is not part of dataset"
 msgstr ""
 
-msgid "Relation Editor: Sort"
+msgid "Download referring relations"
 msgstr ""
 
-msgid "Sort below"
+msgid "There were {0} conflicts during import."
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "including immediate children of parent relations"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
+msgid "Load parent relations"
 msgstr ""
 
-msgid "Reverse"
+msgid "Reload"
 msgstr ""
 
-msgid "Move the currently selected members up"
+msgid "Loading parent relations"
 msgstr ""
 
-msgid "Relation Editor: Move Up"
+msgid "Edit the currently selected relation"
 msgstr ""
 
-msgid "Move the currently selected members down"
+msgid "Apply Changes"
 msgstr ""
 
-msgid "Relation Editor: Move Down"
+msgid "Create new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Remove the currently selected members from this relation"
+msgid "Edit new relation in layer ''{0}''"
 msgstr ""
 
-msgid "Relation Editor: Remove"
+msgid "Edit relation #{0} in layer ''{1}''"
 msgstr ""
 
-msgid "Delete the currently edited relation"
+msgid "Load relation"
 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 ""
-
-msgid "Yes, create a conflict and close"
-msgstr ""
-
-msgid "Click to create a conflict and close this relation editor"
-msgstr ""
-
-msgid "No, continue editing"
-msgstr ""
-
-msgid "Click to return to the relation editor and to resume relation editing"
+"Add all objects selected in the current dataset after the last selected "
+"member"
 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>"
+"Add all objects selected in the current dataset before the first member"
 msgstr ""
 
 msgid ""
-"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
-"resolve this conflict first, then try again.</html>"
+"Add all objects selected in the current dataset before the first selected "
+"member"
 msgstr ""
 
 msgid "Apply the current updates"
 msgstr ""
 
-msgid "Apply the updates and close the dialog"
-msgstr ""
-
 msgid "Cancel the updates and close the dialog"
 msgstr ""
 
@@ -7432,6 +7524,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr ""
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr ""
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7440,48 +7535,37 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr ""
 
-msgid "Add an empty tag"
-msgstr ""
-
-msgid "Download all incomplete members"
-msgstr ""
-
-msgid "Download Members"
+msgid "Delete the currently edited relation"
 msgstr ""
 
 msgid "Relation Editor: Download Members"
 msgstr ""
 
-msgid "Download selected incomplete members"
+msgid "Download all incomplete members"
 msgstr ""
 
-msgid "Sets a role for the selected members"
+msgid "Download Members"
 msgstr ""
 
-msgid "Apply Role"
+msgid "Download selected incomplete members"
 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] ""
-
-msgid "This is equal to deleting the roles of these objects."
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
 
-msgid "Do you really want to apply the new role?"
+msgid "Relation Editor: Move Down"
 msgstr ""
 
-msgid "Yes, apply it"
+msgid "Move the currently selected members down"
 msgstr ""
 
-msgid "No, do not apply"
+msgid "Relation Editor: Move Up"
 msgstr ""
 
-msgid "Confirm empty role"
+msgid "Move the currently selected members up"
 msgstr ""
 
-msgid "Edit the relation the currently selected relation member refers to"
+msgid "Apply the updates and close the dialog"
 msgstr ""
 
 msgid ""
@@ -7489,61 +7573,125 @@ msgid ""
 "current layer"
 msgstr ""
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Refers to"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Download referring relations"
+msgid "No, continue editing"
 msgstr ""
 
-msgid "There were {0} conflicts during import."
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
 msgstr ""
 
-msgid "including immediate children of parent relations"
+msgid "Deleted relation"
 msgstr ""
 
-msgid "Load parent relations"
+msgid "Relation Editor: Remove"
 msgstr ""
 
-msgid "Reload"
+msgid "Remove the currently selected members from this relation"
 msgstr ""
 
-msgid "Loading parent relations"
+msgid "Remove all members referring to one of the selected objects"
 msgstr ""
 
-msgid "Edit the currently selected relation"
+msgid "Reverse the order of the relation members"
 msgstr ""
 
-msgid "Apply Changes"
+msgid "Reverse"
 msgstr ""
 
-msgid "Create new relation in layer ''{0}''"
+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 ""
 
-msgid "Edit new relation in layer ''{0}''"
+msgid "Yes, create a conflict and close"
 msgstr ""
 
-msgid "Edit relation #{0} in layer ''{1}''"
+msgid "Click to create a conflict and close this relation editor"
 msgstr ""
 
-msgid "Load relation"
+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 ""
+
+msgid ""
+"<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
+"resolve this conflict first, then try again.</html>"
+msgstr ""
+
+msgid "Select objects for selected relation members"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr ""
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr ""
+
+msgid "Sets a role for the selected members"
+msgstr ""
+
+msgid "Apply Role"
+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] ""
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr ""
+
+msgid "Do you really want to apply the new role?"
+msgstr ""
+
+msgid "Yes, apply it"
+msgstr ""
+
+msgid "No, do not apply"
+msgstr ""
+
+msgid "Confirm empty role"
+msgstr ""
+
+msgid "Relation Editor: Sort"
+msgstr ""
+
+msgid "Sort the relation members"
+msgstr ""
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
 msgstr ""
 
 msgid "way is connected"
@@ -7931,6 +8079,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr ""
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8217,9 +8374,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr ""
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8732,7 +8886,7 @@ msgid_plural "{0} objects to delete:"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "Show Tile Info"
+msgid "Show tile info"
 msgstr ""
 
 msgid "Tile Info"
@@ -8741,31 +8895,28 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr ""
-
-msgid "Auto load tiles"
+msgid "Load tile"
 msgstr ""
 
-msgid "Load All Tiles"
+msgid "Auto zoom"
 msgstr ""
 
-msgid "Load All Error Tiles"
+msgid "Auto load tiles"
 msgstr ""
 
-msgid "Zoom to native resolution"
+msgid "Show errors"
 msgstr ""
 
-msgid "Change resolution"
+msgid "Load all tiles"
 msgstr ""
 
-msgid "Failed to create tile source"
+msgid "Load all error tiles"
 msgstr ""
 
-msgid "Show Errors"
+msgid "Zoom to native resolution"
 msgstr ""
 
-msgid "Load Tile"
+msgid "Change resolution"
 msgstr ""
 
 msgid "Increase zoom"
@@ -8774,10 +8925,10 @@ msgstr ""
 msgid "Decrease zoom"
 msgstr ""
 
-msgid "Snap to tile size"
+msgid "Flush tile cache"
 msgstr ""
 
-msgid "Flush Tile Cache"
+msgid "Failed to create tile source"
 msgstr ""
 
 msgid "zoom in to load any tiles"
@@ -9197,6 +9348,9 @@ msgid ""
 "Expected format: {0}"
 msgstr ""
 
+msgid "Geotagged Images"
+msgstr ""
+
 msgid "Extracting GPS locations from EXIF"
 msgstr ""
 
@@ -9221,9 +9375,6 @@ msgstr ""
 msgid "One of the selected files was null"
 msgstr ""
 
-msgid "Geotagged Images"
-msgstr ""
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] ""
@@ -9574,9 +9725,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9621,6 +9770,12 @@ msgstr ""
 msgid "Authorize URL:"
 msgstr ""
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
 
@@ -9677,11 +9832,6 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-
 msgid "Granted rights"
 msgstr ""
 
@@ -9797,6 +9947,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr ""
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr ""
 
@@ -10157,6 +10313,15 @@ msgstr ""
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr ""
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr ""
+
 msgid "Advanced Preferences"
 msgstr ""
 
@@ -10238,18 +10403,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr ""
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr ""
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10901,9 +11057,6 @@ msgstr ""
 msgid "Please select at least one row to copy."
 msgstr ""
 
-msgid "reload defaults"
-msgstr ""
-
 msgid "Menu Name"
 msgstr ""
 
@@ -11175,6 +11328,9 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr ""
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr ""
 
@@ -11804,12 +11960,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr ""
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr ""
 
@@ -11899,6 +12049,9 @@ msgstr ""
 msgid "Elements of type {0} are supported."
 msgstr ""
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr ""
 
@@ -11969,6 +12122,9 @@ msgstr ""
 msgid "Presets"
 msgstr ""
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr ""
 
@@ -12012,6 +12168,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr ""
 
@@ -12100,16 +12259,30 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr ""
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr ""
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12589,6 +12762,9 @@ msgstr ""
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr ""
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 
@@ -12603,9 +12779,6 @@ msgstr ""
 msgid "Parsing OSM history data ..."
 msgstr ""
 
-msgid "OSM Server Files"
-msgstr ""
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12798,9 +12971,6 @@ msgstr ""
 msgid "Unexpected id 0 for osm primitive found"
 msgstr ""
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -12969,21 +13139,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr ""
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr ""
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr ""
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr ""
 
-msgid "local file"
+msgid "Link to a OSM data file on your local disk."
 msgstr ""
 
-msgid "Link to a GPX file on your local disk."
+msgid "Include OSM data in the .joz session file."
 msgstr ""
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -12995,6 +13172,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr ""
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13012,19 +13197,8 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr ""
-
-msgid "Layer does not contain unsaved data."
-msgstr ""
-
-msgid "Link to a OSM data file on your local disk."
-msgstr ""
-
-msgid "Include OSM data in the .joz session file."
-msgstr ""
-
-msgid "OSM data will be included in the session file."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
 msgid ""
@@ -13707,9 +13881,6 @@ msgid ""
 "the OSM community."
 msgstr ""
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr ""
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13741,6 +13912,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr ""
 
@@ -13749,9 +13923,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr ""
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13885,6 +14056,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14193,9 +14367,6 @@ msgstr ""
 msgid "Open selected file."
 msgstr ""
 
-msgid "Refresh"
-msgstr ""
-
 msgid "Rename File"
 msgstr ""
 
@@ -14289,6 +14460,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr ""
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14355,6 +14529,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14451,13 +14628,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14580,6 +14760,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14600,9 +14783,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14673,6 +14853,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14706,10 +14895,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15405,6 +15597,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr ""
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr ""
@@ -16060,25 +16255,124 @@ msgstr ""
 msgid "Brand"
 msgstr ""
 
-msgid "Internet access"
+msgid "Cuisine"
 msgstr ""
 
-msgid "wlan"
+msgid "italian"
 msgstr ""
 
-msgid "wired"
+msgid "chinese"
 msgstr ""
 
-msgid "terminal"
+msgid "pizza"
 msgstr ""
 
-msgid "Internet access fee"
+msgid "burger"
 msgstr ""
 
-msgid "Smoking"
+msgid "greek"
 msgstr ""
 
-msgid "dedicated"
+msgid "german"
+msgstr ""
+
+msgid "indian"
+msgstr ""
+
+msgid "regional"
+msgstr ""
+
+msgid "kebab"
+msgstr ""
+
+msgid "turkish"
+msgstr ""
+
+msgid "asian"
+msgstr ""
+
+msgid "thai"
+msgstr ""
+
+msgid "mexican"
+msgstr ""
+
+msgid "japanese"
+msgstr ""
+
+msgid "french"
+msgstr ""
+
+msgid "sandwich"
+msgstr ""
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr ""
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr ""
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
+msgid "Internet access"
+msgstr ""
+
+msgid "wlan"
+msgstr ""
+
+msgid "wired"
+msgstr ""
+
+msgid "terminal"
+msgstr ""
+
+msgid "Internet access fee"
+msgstr ""
+
+msgid "Smoking"
+msgstr ""
+
+msgid "dedicated"
 msgstr ""
 
 msgid "separated"
@@ -16627,7 +16921,10 @@ msgstr ""
 msgid "Toll"
 msgstr ""
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17381,25 +17678,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr ""
 
-msgid "bump"
+msgid "Bump"
 msgstr ""
 
-msgid "chicane"
+msgid "Chicane"
 msgstr ""
 
-msgid "choker"
+msgid "Choker"
 msgstr ""
 
-msgid "cushion"
+msgid "Cushion"
 msgstr ""
 
-msgid "hump"
+msgid "Hump"
+msgstr ""
+
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17549,6 +17850,9 @@ msgstr ""
 msgid "Retaining Wall"
 msgstr ""
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17719,6 +18023,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr ""
 
@@ -17781,14 +18088,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr ""
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr ""
 
@@ -18717,66 +19016,6 @@ msgstr ""
 msgid "Restaurant"
 msgstr ""
 
-msgid "Cuisine"
-msgstr ""
-
-msgid "italian"
-msgstr ""
-
-msgid "chinese"
-msgstr ""
-
-msgid "pizza"
-msgstr ""
-
-msgid "burger"
-msgstr ""
-
-msgid "greek"
-msgstr ""
-
-msgid "german"
-msgstr ""
-
-msgid "indian"
-msgstr ""
-
-msgid "regional"
-msgstr ""
-
-msgid "kebab"
-msgstr ""
-
-msgid "turkish"
-msgstr ""
-
-msgid "asian"
-msgstr ""
-
-msgid "thai"
-msgstr ""
-
-msgid "mexican"
-msgstr ""
-
-msgid "japanese"
-msgstr ""
-
-msgid "french"
-msgstr ""
-
-msgid "sandwich"
-msgstr ""
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr ""
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18789,19 +19028,13 @@ msgstr ""
 msgid "Fast Food"
 msgstr ""
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr ""
 
 msgid "Cafe"
 msgstr ""
 
-msgid "ice_cream"
+msgid "Ice cream"
 msgstr ""
 
 msgid "Pub"
@@ -18979,6 +19212,12 @@ msgstr ""
 msgid "Water Park"
 msgstr ""
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr ""
 
@@ -19013,9 +19252,6 @@ msgstr ""
 msgid "Fishing"
 msgstr ""
 
-msgid "Private Swimming Pool"
-msgstr ""
-
 msgid "Night Club"
 msgstr ""
 
@@ -19058,12 +19294,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
+msgid "Studio"
 msgstr ""
 
 msgid "audio"
 msgstr ""
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr ""
 
@@ -19167,6 +19409,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19326,6 +19572,125 @@ msgstr ""
 msgid "Veterinary"
 msgstr ""
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr ""
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19438,24 +19803,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr ""
 
-msgid "Emergency Phone"
-msgstr ""
-
 msgid "Internet Access"
 msgstr ""
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr ""
 
@@ -19618,63 +19968,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
-msgid "Hide"
-msgstr ""
-
-msgid "Lock"
-msgstr ""
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr ""
-
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
+msgctxt "hunting stand"
+msgid "Hide"
 msgstr ""
 
-msgid "suction"
+msgid "Lock"
 msgstr ""
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19728,9 +20029,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr ""
 
+msgid "Golf"
+msgstr ""
+
 msgid "Golf Course"
 msgstr ""
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr ""
 
@@ -19955,9 +20309,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr ""
-
 msgid "golf_course"
 msgstr ""
 
@@ -20122,6 +20473,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20130,6 +20485,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20242,6 +20629,9 @@ msgstr ""
 msgid "Gasometer"
 msgstr ""
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20643,6 +21033,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20652,6 +21050,9 @@ msgstr ""
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr ""
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21083,10 +21484,13 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
 msgstr ""
 
 msgid "Type of construction"
@@ -21108,6 +21512,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr ""
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21231,18 +21653,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21275,6 +21685,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr ""
 
@@ -21532,6 +21945,9 @@ msgstr ""
 msgid "Kitchen"
 msgstr ""
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21574,12 +21990,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21905,6 +22330,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr ""
 
@@ -22073,6 +22573,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr ""
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr ""
 
@@ -22273,6 +22781,51 @@ msgstr ""
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23067,9 +23620,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr ""
 
@@ -23091,7 +23641,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23135,6 +23685,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23150,6 +23709,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23177,6 +23739,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23218,7 +23783,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26642,7 +27207,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -26955,6 +27520,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -26970,6 +27538,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr ""
 
@@ -28311,6 +28891,12 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28397,15 +28983,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30392,6 +30969,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -30980,6 +31560,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr ""
 
diff --git a/i18n/po/vi.po b/i18n/po/vi.po
index b7c52d7..e5bd667 100644
--- a/i18n/po/vi.po
+++ b/i18n/po/vi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-05-14 20:17+0000\n"
 "Last-Translator: Mạnh <laituanmanh32 at gmail.com>\n"
 "Language-Team: Vietnamese <vi at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:06+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:05+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: vi\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -408,6 +408,9 @@ msgstr ""
 "Không thể kết hợp cách <br> (Họ không thể được sáp nhập vào một chuỗi duy "
 "nhất củaNút)"
 
+msgid "Reverse Ways"
+msgstr "Cách Xếp"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "Kết hợp {0} cách"
@@ -463,6 +466,12 @@ msgstr "Xóa"
 msgid "Delete selected objects."
 msgstr "Xóa đối tượng được chọn."
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "hộp thoại Chuyển đổi bảng"
 
@@ -1256,9 +1265,6 @@ msgstr "Nhấn vào đây để khởi động lại sau đó."
 msgid "Reverse way"
 msgstr "cách Xếp"
 
-msgid "Reverse Ways"
-msgstr "Cách Xếp"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "Đảo ngược hướng của tất cả các cách lựa chọn."
 
@@ -1625,6 +1631,16 @@ msgstr ""
 "Bạn muốn unglue đối tượng không đầy đủ. <br> Này sẽ gây ra vấn đềBởi vì bạn "
 "don''t thấy đối tượng thực sự. <br> Bạn có thực sự muốn unglue?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "Node Disconnect từ Way"
 
@@ -2386,6 +2402,11 @@ msgstr ""
 msgid "Add selection to relation"
 msgstr "Thêm lựa chọn để mối quan hệ"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "Thêm lựa chọn cho {0} mối quan hệ"
@@ -2428,6 +2449,15 @@ msgstr[0] ""
 msgid "Confirmation"
 msgstr "Xác nhận"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "Quan hệ Editor: {0}"
+
 msgid "Select in relation list"
 msgstr "Chọn trong danh sách mối quan hệ"
 
@@ -2803,8 +2833,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "Mong <i> min </ i> / <i> max </ i> sau khi '' dấu thời gian ''"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr "Range của id nguyên thủy dự kiến"
@@ -3391,9 +3424,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr " (ở dòng {0}, cột {1})"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "Preference thiết lập {0} đã được gỡ bỏ vì nó không còn được sử dụng."
 
@@ -3453,6 +3483,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "E"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
 "chiếu '' {0} '' không được tìm thấy, đánh dấu '' {1} '' không phải là có thể "
@@ -3705,6 +3738,9 @@ msgstr "văn bản"
 msgid "areatext"
 msgstr "areatext"
 
+msgid " (at line {0}, column {1})"
+msgstr " (ở dòng {0}, cột {1})"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3787,12 +3823,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "Thông số '' {0} '' yêu cầu."
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "Lambert Conformal Conic"
 
@@ -3802,6 +3850,24 @@ msgstr "Lat / lon (trắc địa)"
 msgid "Mercator"
 msgstr "Mercator"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "Swiss xiên Mercator"
 
@@ -4397,6 +4463,9 @@ msgstr "không gian trắng không hợp lệ trong chính tài sản"
 msgid "Property values start or end with white space"
 msgstr "giá trị tài sản bắt đầu hoặc kết thúc với không gian trắng"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "giá trị tài sản có thực thể HTML"
 
@@ -5119,9 +5188,6 @@ msgstr "sở thích Imagery"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "Nhấn vào đây để mở các tab hình ảnh trong trình ưu đãi"
 
-msgid "Search menu items"
-msgstr "mục trình đơn tìm kiếm"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -5180,12 +5246,6 @@ msgstr "thanh Status foreground: hoạt động"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "vĩ độ địa lý ở con trỏ chuột."
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "kinh độ địa lý ở con trỏ chuột."
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "(la bàn) tiêu đề của đoạn thẳng được rút ra."
 
@@ -5214,6 +5274,18 @@ msgstr "tài:"
 msgid "Do not hide status bar"
 msgstr "Đừng giấu thanh trạng thái"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "vĩ độ địa lý ở con trỏ chuột."
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "kinh độ địa lý ở con trỏ chuột."
+
 msgid "System of measurement changed to {0}"
 msgstr "Hệ thống đo lường thay đổi để {0}"
 
@@ -6092,6 +6164,18 @@ msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
 "Mở một hộp thoại hợp nhất của tất cả các mục được chọn trong danh sách trên."
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "Có {0} xung đột phát hiện."
@@ -6212,6 +6296,9 @@ msgstr "Di chuyển bộ lọc xuống."
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "Bộ lọc ẩn danh: {0} Disabled: {1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "Lỗi trong bộ lọc"
 
@@ -6650,6 +6737,9 @@ msgstr "thiết lập Style"
 msgid "Customize the style"
 msgstr "Tùy chỉnh phong cách"
 
+msgid "Search menu items"
+msgstr "mục trình đơn tìm kiếm"
+
 msgid "Mini map"
 msgstr ""
 
@@ -7007,21 +7097,15 @@ msgstr[0] ""
 "<Html> Các đối tượng được chọn không có sẵn trong hiện tại <br> chỉnh sửa "
 "layer'' {0} ''. </ Html>"
 
-msgid "Download content"
-msgstr "Tải nội dung"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "Tải nội dung từ máy chủ changeset OSM"
-
-msgid "Update content"
-msgstr "Cập nhật nội dung"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "Cập nhật các nội dung changeset từ máy chủ OSM"
-
 msgid "Download and show the history of the selected objects"
 msgstr "Tải về và hiển thị lịch sử của các đối tượng được chọn"
 
+msgid "Download objects"
+msgstr "Tải về đối tượng"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "Chọn trong lớp"
 
@@ -7128,6 +7212,18 @@ msgstr "mở"
 msgid "closed"
 msgstr "đóng cửa"
 
+msgid "Download content"
+msgstr "Tải nội dung"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "Tải nội dung từ máy chủ changeset OSM"
+
+msgid "Update content"
+msgstr "Cập nhật nội dung"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "Cập nhật các nội dung changeset từ máy chủ OSM"
+
 msgid "Changeset ID: "
 msgstr "changeset ID: "
 
@@ -7495,8 +7591,8 @@ msgstr "Chỉnh sửa các giá trị của khóa chọn cho tất cả các đ
 msgid "Edit Tags"
 msgstr "Edit Tags"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Tới OSM wiki cho tag giúp (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "trình duyệt Launch với wiki trợ giúp cho đối tượng được chọn"
@@ -7532,6 +7628,9 @@ msgstr "Sao chép tất cả các phím / giá trị"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "Sao chép chìa khóa và giá trị của tất cả các thẻ vào clipboard"
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "Tìm kiếm Key / Value / Type"
 
@@ -7597,6 +7696,27 @@ msgstr "Thiết lập số lượng thẻ được thêm gần đây"
 msgid "Remember last used tags after a restart"
 msgstr "Ghi thẻ cuối cùng sử dụng sau khi khởi động lại"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "Enable"
+
+msgid "Hide"
+msgstr "Hide"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7712,9 +7832,6 @@ msgstr ""
 "Tập trung Relation biên soạn với các mối quan hệ '' {0} '' trong lớp '' {1} "
 "''"
 
-msgid "Relation Editor: {0}"
-msgstr "Quan hệ Editor: {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 "
@@ -7756,6 +7873,73 @@ msgstr ""
 "tạo raTài liệu tham khảo thông tư và do đó không được khuyến khích. <br> "
 "Quan hệ Bỏ qua'' {0} ''. </ Html>"
 
+msgid "Select previous Gap"
+msgstr "Chọn Gap trước"
+
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "Chọn các thành viên liên quan trước đó đưa đến một khoảng cách"
+
+msgid "Select next Gap"
+msgstr "Chọn Gap tiếp theo"
+
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "Chọn các thành viên liên quan tiếp theo mà đưa đến một khoảng cách"
+
+msgid "Zoom to Gap"
+msgstr "Zoom để Gap"
+
+msgid "Zoom to the gap in the way sequence"
+msgstr "Zoom để khoảng cách về trình tự cách"
+
+msgid "Refers to"
+msgstr "Đề cập đến"
+
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
+
+msgid "Download referring relations"
+msgstr "Tải đề cập mối quan hệ"
+
+msgid "There were {0} conflicts during import."
+msgstr "Có {0} xung đột trong quá trình nhập khẩu."
+
+msgid "including immediate children of parent relations"
+msgstr "bao gồm cả trẻ em ngay lập tức các mối quan hệ cha mẹ"
+
+msgid "Load parent relations"
+msgstr "quan hệ tải trọng cha mẹ"
+
+msgid "Reload"
+msgstr "Reload"
+
+msgid "Loading parent relations"
+msgstr "quan hệ tải phụ huynh"
+
+msgid "Edit the currently selected relation"
+msgstr "Chỉnh sửa các mối quan hệ đang được chọn"
+
+msgid "Apply Changes"
+msgstr "Apply Changes"
+
+msgid "Create new relation in layer ''{0}''"
+msgstr "Tạo mối quan hệ mới trong lớp '' {0} ''"
+
+msgid "Edit new relation in layer ''{0}''"
+msgstr "Sửa đổi mối quan hệ mới trong lớp '' {0} ''"
+
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "Edit relation #{0} in layer ''{1}''"
+
+msgid "Load relation"
+msgstr "Load mối quan hệ"
+
+msgid ""
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr ""
+"Thêm tất cả các đối tượng được lựa chọn trong các số liệu hiện tại sau khi "
+"được lựa chọn cuối cùngThành viên"
+
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
@@ -7769,70 +7953,134 @@ msgstr ""
 "Thêm tất cả các đối tượng được lựa chọn trong các tập dữ liệu hiện hành "
 "trước khi lựa chọn đầu tiênThành viên"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
+msgid "Apply the current updates"
+msgstr "Áp dụng các bản cập nhật hiện nay"
+
+msgid "Cancel the updates and close the dialog"
+msgstr "Hủy bỏ các bản cập nhật và đóng hộp thoại"
+
+msgid "Yes, save the changes and close"
+msgstr "Có, lưu các thay đổi và đóng cửa"
+
+msgid "Click to save the changes and close this relation editor"
 msgstr ""
-"Thêm tất cả các đối tượng được lựa chọn trong các số liệu hiện tại sau khi "
-"được lựa chọn cuối cùngThành viên"
+"Nhấn vào đây để lưu các thay đổi và đóng trình soạn thảo mối quan hệ này"
 
-msgid "Remove all members referring to one of the selected objects"
+msgid "No, discard the changes and close"
+msgstr "Không, loại bỏ những thay đổi và gần gũi"
+
+msgid "Click to discard the changes and close this relation editor"
 msgstr ""
-"Hủy bỏ tất cả các thành viên đề cập đến một trong những đối tượng được chọn"
+"Nhấn vào đây để loại bỏ các thay đổi và đóng trình soạn thảo mối quan hệ này"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
+msgid "Cancel, continue editing"
+msgstr "Hủy bỏ, tiếp tục chỉnh sửa"
+
+msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Chọn các thành viên liên quan trong đó đề cập đến các đối tượng trong các "
-"lựa chọn hiện tại"
+"Nhấn vào đây để trở về soạn thảo liên quan và tiếp tục chỉnh sửa liên quan"
 
 msgid ""
-"Select relation members which refer to {0} objects in the current selection"
+"<html>The relation has been changed.<br><br>Do you want to save your "
+"changes?</html>"
 msgstr ""
-"Chọn các thành viên liên quan mà tham khảo {0} các đối tượng trong các lựa "
-"chọn hiện tại"
+"<Html> Các mối quan hệ đã được thay đổi. <br> Bạn có muốn tiết kiệm của "
+"bạnThay đổi? </ Html>"
 
-msgid "Select objects for selected relation members"
-msgstr "Chọn các đối tượng cho các thành viên liên quan được lựa chọn"
+msgid "Unsaved changes"
+msgstr "thay đổi chưa được lưu"
 
-msgid "Sort the relation members"
-msgstr "Sắp xếp các thành viên liên quan"
+msgid "Delete the currently edited relation"
+msgstr "Xóa các mối quan hệ hiện sửa"
 
-msgid "Relation Editor: Sort"
-msgstr "Quan hệ Editor: Phân loại"
+msgid "Relation Editor: Download Members"
+msgstr "Quan hệ Editor: Tải viên"
 
-msgid "Sort below"
-msgstr ""
+msgid "Download all incomplete members"
+msgstr "Tải về tất cả các thành viên không đầy đủ"
 
-msgid "Sort the selected relation members and all members below"
+msgid "Download Members"
+msgstr "Tải viên"
+
+msgid "Download selected incomplete members"
+msgstr "Tải về lựa chọn các thành viên không đầy đủ"
+
+msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
+"Chỉnh sửa các mối quan hệ các thành viên liên quan hiện đang được chọn dùng "
+"để chỉ"
 
-msgid "Reverse the order of the relation members"
-msgstr "Đảo ngược thứ tự của các thành viên liên quan"
+msgid "Relation Editor: Move Down"
+msgstr "Quan hệ Editor: Move Down"
 
-msgid "Reverse"
-msgstr "Đảo ngược"
+msgid "Move the currently selected members down"
+msgstr "Di chuyển các thành viên hiện đang được chọn xuống"
+
+msgid "Relation Editor: Move Up"
+msgstr "Quan hệ Editor: Move Up"
 
 msgid "Move the currently selected members up"
 msgstr "Di chuyển các thành viên hiện đang được chọn lên"
 
-msgid "Relation Editor: Move Up"
-msgstr "Quan hệ Editor: Move Up"
+msgid "Apply the updates and close the dialog"
+msgstr "Áp dụng các bản cập nhật và đóng hộp thoại"
 
-msgid "Move the currently selected members down"
-msgstr "Di chuyển các thành viên hiện đang được chọn xuống"
+msgid ""
+"Members from paste buffer cannot be added because they are not included in "
+"current layer"
+msgstr ""
+"Thành viên từ dán đệm không thể được thêm vào bởi vì họ không được bao gồm "
+"trongLayer hiện tại"
 
-msgid "Relation Editor: Move Down"
-msgstr "Quan hệ Editor: Move Down"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Remove the currently selected members from this relation"
-msgstr "Hủy bỏ các thành viên hiện đang được chọn từ mối quan hệ này"
+msgid "Refresh relation from data layer"
+msgstr ""
+
+msgid "Refresh"
+msgstr "Làm mới"
+
+msgid "Yes, discard changes and reload"
+msgstr ""
+
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
+
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
+
+msgid "Click to close window"
+msgstr ""
+
+msgid "No, continue editing"
+msgstr "Không, tiếp tục chỉnh sửa"
+
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
+
+msgid "Deleted relation"
+msgstr ""
 
 msgid "Relation Editor: Remove"
 msgstr "Quan hệ Editor: Hủy bỏ"
 
-msgid "Delete the currently edited relation"
-msgstr "Xóa các mối quan hệ hiện sửa"
+msgid "Remove the currently selected members from this relation"
+msgstr "Hủy bỏ các thành viên hiện đang được chọn từ mối quan hệ này"
+
+msgid "Remove all members referring to one of the selected objects"
+msgstr ""
+"Hủy bỏ tất cả các thành viên đề cập đến một trong những đối tượng được chọn"
+
+msgid "Reverse the order of the relation members"
+msgstr "Đảo ngược thứ tự của các thành viên liên quan"
+
+msgid "Reverse"
+msgstr "Đảo ngược"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
@@ -7851,13 +8099,6 @@ msgstr ""
 "Nhấn vào đây để tạo ra một cuộc xung đột và đóng trình soạn thảo mối quan hệ "
 "này"
 
-msgid "No, continue editing"
-msgstr "Không, tiếp tục chỉnh sửa"
-
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr ""
-"Nhấn vào đây để trở về soạn thảo liên quan và tiếp tục chỉnh sửa liên quan"
-
 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 "
@@ -7874,56 +8115,20 @@ msgstr ""
 "<Html> layer '' {0} '' đã có một cuộc xung đột với đối tượng <br> '' {1} ''. "
 "<br> HãyGiải quyết cuộc xung đột này đầu tiên, sau đó thử lại. </ Html>"
 
-msgid "Apply the current updates"
-msgstr "Áp dụng các bản cập nhật hiện nay"
-
-msgid "Apply the updates and close the dialog"
-msgstr "Áp dụng các bản cập nhật và đóng hộp thoại"
-
-msgid "Cancel the updates and close the dialog"
-msgstr "Hủy bỏ các bản cập nhật và đóng hộp thoại"
-
-msgid "Yes, save the changes and close"
-msgstr "Có, lưu các thay đổi và đóng cửa"
-
-msgid "Click to save the changes and close this relation editor"
-msgstr ""
-"Nhấn vào đây để lưu các thay đổi và đóng trình soạn thảo mối quan hệ này"
-
-msgid "No, discard the changes and close"
-msgstr "Không, loại bỏ những thay đổi và gần gũi"
+msgid "Select objects for selected relation members"
+msgstr "Chọn các đối tượng cho các thành viên liên quan được lựa chọn"
 
-msgid "Click to discard the changes and close this relation editor"
+msgid ""
+"Select relation members which refer to objects in the current selection"
 msgstr ""
-"Nhấn vào đây để loại bỏ các thay đổi và đóng trình soạn thảo mối quan hệ này"
-
-msgid "Cancel, continue editing"
-msgstr "Hủy bỏ, tiếp tục chỉnh sửa"
+"Chọn các thành viên liên quan trong đó đề cập đến các đối tượng trong các "
+"lựa chọn hiện tại"
 
 msgid ""
-"<html>The relation has been changed.<br><br>Do you want to save your "
-"changes?</html>"
+"Select relation members which refer to {0} objects in the current selection"
 msgstr ""
-"<Html> Các mối quan hệ đã được thay đổi. <br> Bạn có muốn tiết kiệm của "
-"bạnThay đổi? </ Html>"
-
-msgid "Unsaved changes"
-msgstr "thay đổi chưa được lưu"
-
-msgid "Add an empty tag"
-msgstr "Thêm một thẻ trống"
-
-msgid "Download all incomplete members"
-msgstr "Tải về tất cả các thành viên không đầy đủ"
-
-msgid "Download Members"
-msgstr "Tải viên"
-
-msgid "Relation Editor: Download Members"
-msgstr "Quan hệ Editor: Tải viên"
-
-msgid "Download selected incomplete members"
-msgstr "Tải về lựa chọn các thành viên không đầy đủ"
+"Chọn các thành viên liên quan mà tham khảo {0} các đối tượng trong các lựa "
+"chọn hiện tại"
 
 msgid "Sets a role for the selected members"
 msgstr "Thiết lập một vai trò cho các thành viên được lựa chọn"
@@ -7950,74 +8155,17 @@ msgstr "Không, không áp dụng"
 msgid "Confirm empty role"
 msgstr "Xác nhận vai trò trống rỗng"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr ""
-"Chỉnh sửa các mối quan hệ các thành viên liên quan hiện đang được chọn dùng "
-"để chỉ"
-
-msgid ""
-"Members from paste buffer cannot be added because they are not included in "
-"current layer"
-msgstr ""
-"Thành viên từ dán đệm không thể được thêm vào bởi vì họ không được bao gồm "
-"trongLayer hiện tại"
-
-msgid "Select previous Gap"
-msgstr "Chọn Gap trước"
-
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Chọn các thành viên liên quan trước đó đưa đến một khoảng cách"
-
-msgid "Select next Gap"
-msgstr "Chọn Gap tiếp theo"
-
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "Chọn các thành viên liên quan tiếp theo mà đưa đến một khoảng cách"
-
-msgid "Zoom to Gap"
-msgstr "Zoom để Gap"
-
-msgid "Zoom to the gap in the way sequence"
-msgstr "Zoom để khoảng cách về trình tự cách"
-
-msgid "Refers to"
-msgstr "Đề cập đến"
-
-msgid "Download referring relations"
-msgstr "Tải đề cập mối quan hệ"
-
-msgid "There were {0} conflicts during import."
-msgstr "Có {0} xung đột trong quá trình nhập khẩu."
-
-msgid "including immediate children of parent relations"
-msgstr "bao gồm cả trẻ em ngay lập tức các mối quan hệ cha mẹ"
-
-msgid "Load parent relations"
-msgstr "quan hệ tải trọng cha mẹ"
-
-msgid "Reload"
-msgstr "Reload"
-
-msgid "Loading parent relations"
-msgstr "quan hệ tải phụ huynh"
-
-msgid "Edit the currently selected relation"
-msgstr "Chỉnh sửa các mối quan hệ đang được chọn"
-
-msgid "Apply Changes"
-msgstr "Apply Changes"
-
-msgid "Create new relation in layer ''{0}''"
-msgstr "Tạo mối quan hệ mới trong lớp '' {0} ''"
+msgid "Relation Editor: Sort"
+msgstr "Quan hệ Editor: Phân loại"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "Sửa đổi mối quan hệ mới trong lớp '' {0} ''"
+msgid "Sort the relation members"
+msgstr "Sắp xếp các thành viên liên quan"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "Edit relation #{0} in layer ''{1}''"
+msgid "Sort below"
+msgstr ""
 
-msgid "Load relation"
-msgstr "Load mối quan hệ"
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "cách được kết nối"
@@ -8448,6 +8596,11 @@ msgstr ""
 "<Html> Phiên bản <strong> {0} </ strong> tạo ra trên <strong> {1} </ strong> "
 "</ html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "changeset"
 
@@ -8574,15 +8727,15 @@ msgid "Upload"
 msgstr "Upload"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<Html> Chọn hành động để thực hiện cho lớp này, nếu bạn nhấp vàoNút ngoài "
-"cùng bên trái. <br/> Kiểm tra \" upload \"để tải lên các thay đổi đối với "
-"OSMServer. <br/> Kiểm tra \" Save \"để lưu các layer vào một file nào "
-"trênTrái. </ Html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr ""
@@ -8780,9 +8933,6 @@ msgid ""
 msgstr ""
 ". Exception Không truy infos sử dụng cho người sử dụng JOSM hiện tại là: {0}"
 
-msgid "Download objects"
-msgstr "Tải về đối tượng"
-
 msgid "Initializing nodes to download ..."
 msgstr "Đang khởi tạo các nút để tải về ..."
 
@@ -9346,8 +9496,8 @@ msgid "{0} object to delete:"
 msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} đối tượng để xóa:"
 
-msgid "Show Tile Info"
-msgstr "Show Tile Info"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr ""
@@ -9355,17 +9505,23 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr "Auto Zoom"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "gạch tải Auto"
 
-msgid "Load All Tiles"
-msgstr "Tải tất cả các gạch"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "Tải tất cả các gạch Error"
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "Zoom để độ phân giải gốc"
@@ -9373,26 +9529,17 @@ msgstr "Zoom để độ phân giải gốc"
 msgid "Change resolution"
 msgstr "Thay đổi độ phân giải"
 
-msgid "Failed to create tile source"
-msgstr ""
-
-msgid "Show Errors"
-msgstr "Hiển thị lỗi"
-
-msgid "Load Tile"
-msgstr "Load Tile"
-
 msgid "Increase zoom"
 msgstr "Tăng zoom"
 
 msgid "Decrease zoom"
 msgstr "Giảm zoom"
 
-msgid "Snap to tile size"
-msgstr "Snap to kích thước gạch"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "Flush Tile Cache"
+msgid "Failed to create tile source"
+msgstr ""
 
 msgid "zoom in to load any tiles"
 msgstr "phóng to để tải bất kỳ gạch"
@@ -9821,6 +9968,9 @@ msgstr ""
 "Lỗi khi phân tích cú pháp bù đắp. \n"
 "Định dạng dự kiến: {0}"
 
+msgid "Geotagged Images"
+msgstr "Những hình ảnh gắn thẻ địa lý"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "Extracting vị trí GPS từ EXIF"
 
@@ -9845,9 +9995,6 @@ msgstr "Lỗi trong khi nhận được tập tin từ thư mục {0}\n"
 msgid "One of the selected files was null"
 msgstr "Một trong các tập tin được lựa chọn là vô giá trị"
 
-msgid "Geotagged Images"
-msgstr "Những hình ảnh gắn thẻ địa lý"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "{0} hình ảnh được tải."
@@ -10230,12 +10377,8 @@ msgstr[0] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "Không phân tích Mappaint phong cách từ '' {0} '' Lỗi là:. {1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr ""
-"Phát hiện bị phản đối '' {0} '' trong '' {1} '' đó sẽ sớm bị xóa. Sử dụng'' "
-"{2} '' thay thế."
+msgid "Failed to locate image ''{0}''"
+msgstr "Không thể xác định vị trí hình ảnh '' {0} ''"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "mẫu gạch ngang bất hợp pháp, giá trị phải được tích cực"
@@ -10282,6 +10425,12 @@ msgstr "Access token URL:"
 msgid "Authorize URL:"
 msgstr "Ủy URL:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Nhấn vào đây để thiết lập lại các thiết lập OAuth giá trị mặc định"
 
@@ -10355,13 +10504,6 @@ msgstr "Tên đăng nhập: "
 msgid "Password: "
 msgstr "Mật khẩu: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr ""
-"<Strong> Cảnh báo: </ strong> JOSM không đăng nhập <strong> lần </ strong> "
-"bằng cách sử dụng mộtBảo đảm kết nối."
-
 msgid "Granted rights"
 msgstr "quyền Cấp"
 
@@ -10504,6 +10646,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "Hãy chọn một thủ tục ủy quyền: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "Nhận được một thẻ truy cập cho '' {0} ''"
 
@@ -10900,6 +11048,15 @@ msgstr "hành động đăng ký thanh công cụ {0} ghi đè: {1} được {2}
 msgid "Toolbar: {0}"
 msgstr "Thanh công cụ: {0}"
 
+msgid "add entry"
+msgstr "thêm mục"
+
+msgid "Remove the selected entry"
+msgstr "Hủy bỏ các mục được chọn"
+
+msgid "Key: {0}"
+msgstr "Key: {0}"
+
 msgid "Advanced Preferences"
 msgstr "Nâng cao Tuỳ chọn"
 
@@ -10988,18 +11145,9 @@ msgstr "Chọn tập tin hồ sơ"
 msgid "Change list setting"
 msgstr "Thay đổi thiết lập danh sách"
 
-msgid "Key: {0}"
-msgstr "Key: {0}"
-
 msgid "Change list of lists setting"
 msgstr "Thay đổi danh sách các danh mục thiết lập"
 
-msgid "add entry"
-msgstr "thêm mục"
-
-msgid "Remove the selected entry"
-msgstr "Hủy bỏ các mục được chọn"
-
 msgid "Change list of maps setting"
 msgstr "Thay đổi danh sách bản đồ thiết lập"
 
@@ -11698,9 +11846,6 @@ msgstr "sao chép mặc định được chọn"
 msgid "Please select at least one row to copy."
 msgstr "Hãy chọn ít nhất một dòng để sao chép."
 
-msgid "reload defaults"
-msgstr "reload mặc định"
-
 msgid "Menu Name"
 msgstr "Menu Name"
 
@@ -12002,6 +12147,9 @@ msgid_plural ""
 "Downloading the following {0} plugins has <strong>failed</strong>:"
 msgstr[0] "Tải các plugin sau đây đã <strong> không </ strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br> Thông báo lỗi (chưa được dịch): {0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "Hãy khởi động lại JOSM để kích hoạt các plugin tải về."
 
@@ -12680,12 +12828,6 @@ msgstr "Các giá trị số"
 msgid "Checks for wrong numeric values"
 msgstr "Kiểm tra cho các giá trị số sai"
 
-msgid "Power"
-msgstr "Power"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "Kiểm tra các lỗi trên cơ sở hạ tầng năng lượng"
-
 msgid "Religion"
 msgstr "Tôn giáo"
 
@@ -12774,6 +12916,9 @@ msgstr "Sử dụng đặt trước '' {0} ''"
 msgid "Elements of type {0} are supported."
 msgstr "Các yếu tố của loại {0} được hỗ trợ."
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "Edit cũng ..."
 
@@ -12843,6 +12988,9 @@ msgstr "Tìm kiếm cài đặt trước"
 msgid "Presets"
 msgstr "Presets"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "Tìm kiếm cho các đối tượng bằng cách cài sẵn"
 
@@ -12896,6 +13044,9 @@ msgstr ""
 "Broken tagging preset \" {0} - {1} \"- số mục trong'' Short_descriptions '' "
 "phải giống như trong '' giá trị ''"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "Thông tin thêm về tính năng này"
 
@@ -12991,19 +13142,33 @@ msgstr ""
 msgid "false: the property is explicitly switched off"
 msgstr "false: tài sản được một cách rõ ràng tắt"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "true: tài sản được một cách rõ ràng bật"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr ""
 "Một phần: đối tượng được lựa chọn khác nhau có giá trị khác nhau, không thay "
 "đổi"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr ""
 "unset: không thiết lập thuộc tính này trên các đối tượng được lựa chọn"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "Cắt"
 
@@ -13540,6 +13705,9 @@ msgstr "Không thể ký một kết nối HTTP với một tiêu đề OAuth x
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "giá trị bất ngờ cho sở thích '' {0} ''. Chấn '' {1} ''."
 
+msgid "OSM Server Files"
+msgstr "OSM chủ Files"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr ""
 "<html> Một lỗi xảy ra trong khi tiết kiệm <br> Lỗi là:. <br> {0} </ html>"
@@ -13557,9 +13725,6 @@ msgstr "OSM máy chủ tập tin nén gzip"
 msgid "Parsing OSM history data ..."
 msgstr "Phân tích lịch sử dữ liệu OSM ..."
 
-msgid "OSM Server Files"
-msgstr "OSM chủ Files"
-
 msgid "Invalid dataset"
 msgstr "bộ dữ liệu không hợp lệ"
 
@@ -13768,9 +13933,6 @@ msgstr "Tải lên dữ liệu ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "Unexpected id 0 cho OSM nguyên thủy được tìm thấy"
 
-msgid "OSM Server Files zip compressed"
-msgstr "OSM máy chủ tập tin zip nén"
-
 msgid "Downloading data..."
 msgstr "Tải dữ liệu ..."
 
@@ -13950,24 +14112,29 @@ msgstr ""
 "Điều khiển từ xa đã được yêu cầu báo cáo phiên bản giao thức của nó. Điều "
 "này cho phépTrang web để phát hiện một JOSM chạy."
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr ""
-". Phiên bản '' {0} '' dữ liệu meta cho lớp geoimage không được hỗ trợ dự "
-"kiến:0.1"
+msgid "local file"
+msgstr "tập tin địa phương"
+
+msgid "include"
+msgstr "bao gồm"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "Layer chứa dữ liệu chưa lưu - lưu vào tập tin."
+
+msgid "Layer does not contain unsaved data."
+msgstr "Layer không chứa dữ liệu chưa được lưu."
 
 msgid "Data:"
 msgstr "Dữ liệu"
 
-msgid "local file"
-msgstr "tập tin địa phương"
+msgid "Link to a OSM data file on your local disk."
+msgstr "Liên kết đến một tập tin dữ liệu OSM trên ổ đĩa của bạn."
 
-msgid "Link to a GPX file on your local disk."
-msgstr "Liên kết đến một tập tin GPX trên ổ đĩa của bạn."
+msgid "Include OSM data in the .joz session file."
+msgstr "Bao gồm dữ liệu OSM trong tập tin phiên .joz."
 
-msgid "include"
-msgstr "bao gồm"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr "Bao gồm dữ liệu trong tập tin GPX phiên .joz."
@@ -13978,6 +14145,16 @@ msgstr "Không liên kết tập tin"
 msgid "GPX data will be included in the session file."
 msgstr "dữ liệu GPX sẽ được bao gồm trong các tập tin phiên."
 
+msgid "OSM data will be included in the session file."
+msgstr "dữ liệu OSM sẽ được bao gồm trong các tập tin phiên."
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+". Phiên bản '' {0} '' dữ liệu meta cho lớp geoimage không được hỗ trợ dự "
+"kiến:0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -14001,20 +14178,9 @@ msgstr ""
 "Phiên bản '' {0} '' dữ liệu meta cho lớp đánh dấu không được hỗ trợ dự "
 "kiến:. 0,1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "Layer chứa dữ liệu chưa lưu - lưu vào tập tin."
-
-msgid "Layer does not contain unsaved data."
-msgstr "Layer không chứa dữ liệu chưa được lưu."
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "Liên kết đến một tập tin dữ liệu OSM trên ổ đĩa của bạn."
-
-msgid "Include OSM data in the .joz session file."
-msgstr "Bao gồm dữ liệu OSM trong tập tin phiên .joz."
-
-msgid "OSM data will be included in the session file."
-msgstr "dữ liệu OSM sẽ được bao gồm trong các tập tin phiên."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -14822,9 +14988,6 @@ msgstr ""
 "Hoặc là yêu cầu một diện tích nhỏ hơn hoặc sử dụng một tập tin xuất khẩu "
 "cung cấp bởiCộng đồng OSM."
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br> Thông báo lỗi (chưa được dịch): {0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -14869,6 +15032,9 @@ msgstr "Download chuyển hướng đến '' {0} ''"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "Quá nhiều chuyển hướng đến URL tải phát hiện. hủy bỏ."
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Không tìm thấy bản dịch là các địa phương {0}. Lùi lại đến {1}."
 
@@ -14879,9 +15045,6 @@ msgstr ""
 "Fatal: không thể xác định vị trí hình ảnh '' {0} '' Đây là một cấu hình "
 "nghiêm trọng.Vấn đề JOSM. Sẽ ngừng làm việc."
 
-msgid "Failed to locate image ''{0}''"
-msgstr "Không thể xác định vị trí hình ảnh '' {0} ''"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Không thể xử lý các tập tin zip '' {0} '' ngoại lệ là:. {1}"
 
@@ -15036,6 +15199,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr "ms"
 
@@ -15363,9 +15529,6 @@ msgstr "Mở tập tin đã chọn"
 msgid "Open selected file."
 msgstr "Mở tập tin được chọn."
 
-msgid "Refresh"
-msgstr "Làm mới"
-
 msgid "Rename File"
 msgstr "Đổi tên File"
 
@@ -15459,6 +15622,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "Giao thông vận tải công cộng (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr "Hike & Bike"
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (German Style)"
 
@@ -15525,6 +15691,9 @@ msgstr "OSM Inspector: Địa chỉ"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM Inspector: Ranh giới (EU)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr "AGRI 2.5m màu đen và trắng"
 
@@ -15621,13 +15790,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
-msgstr "SPW (allonie) 2012 aerial hình ảnh"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
-msgstr "SPW (allonie) 2009 hình ảnh trên không"
+msgid "SPW(allonie) 2012-2013 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2009-2010 aerial imagery"
+msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -15750,6 +15922,9 @@ msgstr "SIG LR - Languedoc-Roussillon 2012-20 cm"
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr "Toulouse - Orthophotoplan 2013"
 
@@ -15772,9 +15947,6 @@ msgstr ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999-"
 " 1 m"
 
-msgid "Hike & Bike"
-msgstr "Hike & Bike"
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr "OpenStreetMap (Sorbian Language)"
 
@@ -15845,6 +16017,15 @@ msgstr "Drone Hình ảnh 2014 (Haiti)"
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr "Ireland British War Văn phòng 1: 25k GSGS 3906"
 
@@ -15878,11 +16059,14 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr "Lodi - Italy"
 
-msgid "Lombardia - Italy (CTR)"
-msgstr "Lombardia - Ý (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
+msgstr ""
 
 msgid "Sicily - Italy"
 msgstr "Sicily - Italy"
@@ -16594,6 +16778,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "Tạo một mạng lưới các cách khác nhau."
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "Tạo ra và xử lý các nút địa chỉ và các tòa nhà trong Cộng hòa Séc."
@@ -17342,6 +17529,105 @@ msgstr "giới hạn"
 msgid "Brand"
 msgstr "Nhãn hiệu"
 
+msgid "Cuisine"
+msgstr "Ẩm thực"
+
+msgid "italian"
+msgstr "tiếng"
+
+msgid "chinese"
+msgstr "Trung Quốc"
+
+msgid "pizza"
+msgstr "pizza"
+
+msgid "burger"
+msgstr "hamburger"
+
+msgid "greek"
+msgstr "greek"
+
+msgid "german"
+msgstr "Đức"
+
+msgid "indian"
+msgstr "Ấn Độ"
+
+msgid "regional"
+msgstr "khu vực"
+
+msgid "kebab"
+msgstr "kebab"
+
+msgid "turkish"
+msgstr "Thổ Nhĩ Kỳ"
+
+msgid "asian"
+msgstr "Châu Á"
+
+msgid "thai"
+msgstr "Thái"
+
+msgid "mexican"
+msgstr "mexican"
+
+msgid "japanese"
+msgstr "japanese"
+
+msgid "french"
+msgstr "Pháp"
+
+msgid "sandwich"
+msgstr "sandwich"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "sushi"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "fish_and_chips"
+
+msgid "chicken"
+msgstr "gà"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "ice_cream"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "truy cập Internet"
 
@@ -17913,8 +18199,11 @@ msgstr "Max. trọng lượng (tấn)"
 msgid "Toll"
 msgstr "Toll"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "có phải là cơ thể nước liên tục (biến mất theo mùa)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
+msgstr ""
 
 msgid "In the tidal range"
 msgstr ""
@@ -18683,26 +18972,30 @@ msgstr "Trong trường hợp của các tín hiệu giao thông:"
 msgid "Traffic Calming"
 msgstr "Traffic Calming"
 
-msgid "bump"
-msgstr "đẩy"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
+msgstr ""
 
-msgid "chicane"
-msgstr "biện luận"
+msgid "Choker"
+msgstr ""
 
-msgid "choker"
-msgstr "choker"
+msgid "Cushion"
+msgstr ""
 
-msgid "cushion"
-msgstr "đệm"
+msgid "Hump"
+msgstr ""
 
-msgid "hump"
-msgstr "bướu"
+msgctxt "traffic_calming"
+msgid "Island"
+msgstr ""
 
-msgid "rumble_strip"
-msgstr "rumble_strip"
+msgid "Rumble strip"
+msgstr ""
 
-msgid "table"
-msgstr "bảng"
+msgid "Table"
+msgstr ""
 
 msgid "Passing Place"
 msgstr "Passing Place"
@@ -18853,6 +19146,9 @@ msgstr "phố Wall"
 msgid "Retaining Wall"
 msgstr "Tường"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr "Mương"
@@ -19023,6 +19319,9 @@ msgstr "sông"
 msgid "Salt Water"
 msgstr "Salt Water"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "có phải là cơ thể nước liên tục (biến mất theo mùa)?"
+
 msgid "Coastline"
 msgstr "Coastline"
 
@@ -19087,16 +19386,6 @@ msgid ""
 msgstr ""
 "Một số lượng nước lớn bao bọc bởi một phần đất nhưng với một cái miệng rộng."
 
-msgid "Cliff"
-msgstr "Cliff"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-"A tiếp xúc với mặt đá dốc đứng, với một dọc đáng kể, hoặc gần thẳng đứng(Rời "
-"khỏi mặt dưới bên phải của con đường)."
-
 msgid "Shipping"
 msgstr "Vận chuyển"
 
@@ -20027,66 +20316,6 @@ msgstr "Food + Drinks"
 msgid "Restaurant"
 msgstr "Restaurant"
 
-msgid "Cuisine"
-msgstr "Ẩm thực"
-
-msgid "italian"
-msgstr "tiếng"
-
-msgid "chinese"
-msgstr "Trung Quốc"
-
-msgid "pizza"
-msgstr "pizza"
-
-msgid "burger"
-msgstr "hamburger"
-
-msgid "greek"
-msgstr "greek"
-
-msgid "german"
-msgstr "Đức"
-
-msgid "indian"
-msgstr "Ấn Độ"
-
-msgid "regional"
-msgstr "khu vực"
-
-msgid "kebab"
-msgstr "kebab"
-
-msgid "turkish"
-msgstr "Thổ Nhĩ Kỳ"
-
-msgid "asian"
-msgstr "Châu Á"
-
-msgid "thai"
-msgstr "Thái"
-
-msgid "mexican"
-msgstr "mexican"
-
-msgid "japanese"
-msgstr "japanese"
-
-msgid "french"
-msgstr "Pháp"
-
-msgid "sandwich"
-msgstr "sandwich"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "sushi"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr "Microbrewery"
 
@@ -20099,20 +20328,14 @@ msgstr ""
 msgid "Fast Food"
 msgstr "Thức ăn nhanh"
 
-msgid "fish_and_chips"
-msgstr "fish_and_chips"
-
-msgid "chicken"
-msgstr "gà"
-
 msgid "Food Court"
 msgstr "Food Court"
 
 msgid "Cafe"
 msgstr "Cafe"
 
-msgid "ice_cream"
-msgstr "ice_cream"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "Pub"
@@ -20291,6 +20514,12 @@ msgstr "Amusement / Theme Park"
 msgid "Water Park"
 msgstr "Công viên nước"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "hơi"
 
@@ -20325,9 +20554,6 @@ msgstr "firepit"
 msgid "Fishing"
 msgstr "Câu cá"
 
-msgid "Private Swimming Pool"
-msgstr "riêng Bể bơi"
-
 msgid "Night Club"
 msgstr "Night Club"
 
@@ -20370,12 +20596,18 @@ msgstr "bức tượng"
 msgid "Artist Name"
 msgstr "Artist Name"
 
-msgid "Recording Studio"
-msgstr "Recording Studio"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "audio"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "video"
 
@@ -20479,6 +20711,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "seventh_day_adventist"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "Nhà thờ Hồi giáo"
 
@@ -20638,6 +20874,125 @@ msgstr "(Sử dụng mã quốc tế, như + 12-345-67890)"
 msgid "Veterinary"
 msgstr "thú y"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "tự động khử rung tim"
+
+msgid "Located inside a building?"
+msgstr "Nằm trong một tòa nhà?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "cuối ngày kiểm tra (YYYY-MM-DD)"
+
+msgid "Last check note"
+msgstr "kiểm tra lưu ý cuối cùng"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr "trong nhà"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "chữa cháy"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "ngầm"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "trụ cột"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "bức tường"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "ao"
+
+msgid "Diameter (in mm)"
+msgstr "Đường kính (mm)"
+
+msgid "Hydrant Position"
+msgstr "vòi Position"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "lane"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "parking_lot"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "vỉa hè"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "xanh"
+
+msgid "Pressure (in bar)"
+msgstr "Áp lực (thanh)"
+
+msgid "suction"
+msgstr "hút"
+
+msgid "Count"
+msgstr "đếm"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "khẩn cấp Điện thoại"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -20750,24 +21105,9 @@ msgstr "Notes"
 msgid "Telephone cards"
 msgstr "Thẻ điện thoại"
 
-msgid "Emergency Phone"
-msgstr "khẩn cấp Điện thoại"
-
 msgid "Internet Access"
 msgstr "Truy cập Internet"
 
-msgid "Automated Defibrillator"
-msgstr "tự động khử rung tim"
-
-msgid "Located inside a building?"
-msgstr "Nằm trong một tòa nhà?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "cuối ngày kiểm tra (YYYY-MM-DD)"
-
-msgid "Last check note"
-msgstr "kiểm tra lưu ý cuối cùng"
-
 msgid "Clock"
 msgstr "Đồng hồ"
 
@@ -20930,64 +21270,15 @@ msgctxt "height"
 msgid "full"
 msgstr "đầy đủ"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "Hide"
+msgstr ""
 
 msgid "Lock"
 msgstr "Lock"
 
-msgid "Indoor"
-msgstr "trong nhà"
-
-msgid "Fire Hydrant"
-msgstr "chữa cháy"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "ngầm"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "trụ cột"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "bức tường"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "ao"
-
-msgid "Diameter (in mm)"
-msgstr "Đường kính (mm)"
-
-msgid "Hydrant Position"
-msgstr "vòi Position"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "lane"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "parking_lot"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "vỉa hè"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "xanh"
-
-msgid "Pressure (in bar)"
-msgstr "Áp lực (thanh)"
-
-msgid "suction"
-msgstr "hút"
-
-msgid "Count"
-msgstr "đếm"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr ""
@@ -21040,9 +21331,62 @@ msgstr "sọc"
 msgid "Racetrack"
 msgstr "Đường đua"
 
+msgid "Golf"
+msgstr "Golf"
+
 msgid "Golf Course"
 msgstr "Golf Course"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "Golf Miniature"
 
@@ -21267,9 +21611,6 @@ msgstr "Bóng chuyền bãi biển"
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "Golf"
-
 msgid "golf_course"
 msgstr "golf_course"
 
@@ -21434,6 +21775,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "chuồng bò"
 
@@ -21442,6 +21787,38 @@ msgid "construction"
 msgstr "xây dựng"
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "Levels"
 
@@ -21554,6 +21931,9 @@ msgstr "Cối xay gió"
 msgid "Gasometer"
 msgstr "khí kế"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -21955,6 +22335,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -21964,6 +22352,9 @@ msgstr "Ruins"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "Power"
+
 msgid "Power Plant"
 msgstr "Nhà máy điện"
 
@@ -22397,11 +22788,14 @@ msgstr "1 MVAr"
 msgid "5 Mvar"
 msgstr "5 MVAr"
 
-msgid "Cable Distribution Cabinet"
-msgstr "cáp Tủ phân phối"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "Tower Power"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr "Loại công trình"
@@ -22422,6 +22816,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "màu đỏ / trắng"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr "cổng thông tin"
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr "portal_two cấp"
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr "portal_three cấp"
+
+msgid "Power Tower"
+msgstr "Tower Power"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "Tower loại"
@@ -22545,18 +22957,6 @@ msgid "guyed_h-frame"
 msgstr "guyed_h-frame"
 
 msgctxt "power"
-msgid "portal"
-msgstr "cổng thông tin"
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr "portal_two cấp"
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr "portal_three cấp"
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr "guyed_v-frame"
 
@@ -22589,6 +22989,9 @@ msgstr "Cực thuộc tính:"
 msgid "Transformer Attributes:"
 msgstr "Transformer thuộc tính:"
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "Power Line"
 
@@ -22846,6 +23249,9 @@ msgstr "Furniture"
 msgid "Kitchen"
 msgstr "nhà bếp"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "Curtain"
 
@@ -22888,12 +23294,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "Nhà hóa học"
 
-msgid "Hairdresser/Barber"
-msgstr "Thợ làm tóc / Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "Beauty"
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr "Thợ làm tóc / Barber"
+
 msgid "Tattoo"
 msgstr "Tattoo"
 
@@ -23219,6 +23634,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "Địa lý"
 
@@ -23390,6 +23880,16 @@ msgstr "thung lũng"
 msgid "A low area between hills."
 msgstr "Một khu vực thấp giữa những ngọn đồi."
 
+msgid "Cliff"
+msgstr "Cliff"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+"A tiếp xúc với mặt đá dốc đứng, với một dọc đáng kể, hoặc gần thẳng đứng(Rời "
+"khỏi mặt dưới bên phải của con đường)."
+
 msgid "Cave Entrance"
 msgstr "Cave Entrance"
 
@@ -23603,6 +24103,51 @@ msgstr "Meadow"
 msgid "Orchard"
 msgstr "Orchard"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "Vineyard"
 
@@ -24402,9 +24947,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr "{0} = {1} là bị phản đối"
-
 msgid "{0} is deprecated"
 msgstr "{0} bị phản đối"
 
@@ -24431,8 +24973,8 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr "{0} = {1} là bị phản đối. Vui lòng sử dụng thay vì một multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
+msgstr ""
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
@@ -24482,6 +25024,15 @@ msgstr "chìa khóa ngắn không phổ biến"
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr "{0} trên một nút. Nên được sử dụng trên một con đường."
 
@@ -24497,6 +25048,9 @@ msgstr "{0} trên một cách. Nên được sử dụng trên một nút."
 msgid "{0} on a way. Should be used in a relation"
 msgstr "{0} trên một cách. Nên được sử dụng trong một mối quan hệ"
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr "{0} vào một nút"
 
@@ -24524,6 +25078,9 @@ msgstr "{0} phải được kết nối một cách"
 msgid "node connects waterway and bridge"
 msgstr "nút kết nối đường thủy và cầu nối"
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "tên đường tắt"
 
@@ -24567,8 +25124,8 @@ msgstr "layer tag với + dấu hiệu"
 msgid "layer should be between -5 and 5"
 msgstr "lớp nên được giữa -5 và 5"
 
-msgid "level should be numbers with optional .5 increments"
-msgstr "mức nên số với gia số tùy chọn 0,5"
+msgid "{0} should have numbers only with optional .5 increments"
+msgstr ""
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -28268,7 +28825,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -28581,6 +29138,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -28596,6 +29156,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "đo giá trị"
 
@@ -30004,6 +30576,12 @@ msgstr "Proj4J Plugin"
 msgid "Code"
 msgstr "Code"
 
+msgid "Can''t parse a time from this string."
+msgstr "can''t phân tích một thời gian từ chuỗi này."
+
+msgid "Invalid value"
+msgstr "giá trị không hợp lệ"
+
 msgid "added"
 msgstr "bổ sung"
 
@@ -30092,15 +30670,6 @@ msgstr "Catch"
 msgid "Join"
 msgstr "Tham gia"
 
-msgid "Enable"
-msgstr "Enable"
-
-msgid "Can''t parse a time from this string."
-msgstr "can''t phân tích một thời gian từ chuỗi này."
-
-msgid "Invalid value"
-msgstr "giá trị không hợp lệ"
-
 msgid "moved"
 msgstr "di chuyển"
 
@@ -32231,6 +32800,9 @@ msgstr "chiều với các nút lựa chọn không thể đứng thẳng."
 msgid "Internal error: number of nodes is {0}."
 msgstr "Lỗi nội bộ: số nút là {0}."
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "Extract nút"
 
@@ -32890,6 +33462,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "Thêm tên từ Wikipedia"
 
diff --git a/i18n/po/zh_CN.po b/i18n/po/zh_CN.po
index 594f2d8..781b707 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: 2016-01-06 03:38+0100\n"
-"PO-Revision-Date: 2016-01-04 11:41+0000\n"
-"Last-Translator: rc1028 <q371320247 at live.com>\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
+"PO-Revision-Date: 2016-01-08 11:37+0000\n"
+"Last-Translator: Boyuan Yang <073plan at gmail.com>\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: 2016-01-06 05:08+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:08+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: zh_CN\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -389,6 +389,9 @@ msgid ""
 "nodes)"
 msgstr "无法合并路径<br>(它们无法合并成单串节点)"
 
+msgid "Reverse Ways"
+msgstr "反转路径"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "合并 {0} 条路径"
@@ -443,6 +446,12 @@ msgstr "删除"
 msgid "Delete selected objects."
 msgstr "删除选择的对象。"
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "切换对话框面板"
 
@@ -1183,9 +1192,6 @@ msgstr "单击以稍后重启。"
 msgid "Reverse way"
 msgstr "反转路径"
 
-msgid "Reverse Ways"
-msgstr "反转路径"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "反转所有选定路径的方向。"
 
@@ -1513,6 +1519,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr "您将要拆开不完整的对象。<br>这会导致一些问题,因为您没有看到真正的对象。<br>您真的要拆开吗?"
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "从路径中断开节点"
 
@@ -2228,6 +2244,11 @@ msgstr "将目前数据集合中的所有对象添加到最后一个成员之后
 msgid "Add selection to relation"
 msgstr "添加选择到关系"
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] "添加选择到 {0} 个关系"
@@ -2267,6 +2288,15 @@ msgstr[0] "您将同时打开<b>{0}</b>个关系编辑器。<br/>要继续吗?
 msgid "Confirmation"
 msgstr "确认"
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "关系编辑器:{0}"
+
 msgid "Select in relation list"
 msgstr "在关系列表中选择"
 
@@ -2631,8 +2661,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "预计的“timestamp”后的<i>最小</i>/<i>最大</i>值"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr "预期元素 id 范围"
@@ -3177,9 +3210,6 @@ msgid ""
 "startup)."
 msgstr "尝试启用 IPv6 网络,优先使用 IPv6(只适用于 IPv6 早期启动时)。"
 
-msgid " (at line {0}, column {1})"
-msgstr " (在 {0} 行,{1} 列)"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "首选项 {0} 已经被删除,因为它已不再使用了。"
 
@@ -3238,6 +3268,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "东"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr "找不到投影法“{0}”,无法使用书签“{1}”"
 
@@ -3464,6 +3497,9 @@ msgstr "文字"
 msgid "areatext"
 msgstr "区域文字"
 
+msgid " (at line {0}, column {1})"
+msgstr " (在 {0} 行,{1} 列)"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr "UTM 投影(''+proj=utm'')需要“+zone=...”参数。"
 
@@ -3541,12 +3577,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "需要参数“{0}”。"
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr "兰勃特等角投影"
 
@@ -3556,6 +3604,24 @@ msgstr "纬度/经度(大地)"
 msgid "Mercator"
 msgstr "麦卡托投影"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr "瑞士斜轴麦卡托"
 
@@ -4127,6 +4193,9 @@ msgstr "属性键值中有无效的空白字节"
 msgid "Property values start or end with white space"
 msgstr "属性数值以空白字节开头或结尾"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "属性数值含有 HTML 标记"
 
@@ -4820,9 +4889,6 @@ msgstr "图像首选项"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "点击以在首选项中打开图像选项卡"
 
-msgid "Search menu items"
-msgstr "搜索菜单项"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr "音频(U)"
@@ -4881,12 +4947,6 @@ msgstr "状态栏前景:活动"
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "鼠标指针所在的地理纬度。"
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "鼠标指针所在的地理经度。"
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "绘出线段的(指南针)箭头。"
 
@@ -4913,6 +4973,18 @@ msgstr "用户:"
 msgid "Do not hide status bar"
 msgstr "不要隐藏状态栏"
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "鼠标指针所在的地理纬度。"
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "鼠标指针所在的地理经度。"
+
 msgid "System of measurement changed to {0}"
 msgstr "测量系统更改为 {0}"
 
@@ -5733,6 +5805,18 @@ msgstr "调解"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "打开上列列表中,所有选定的项目的合并对话框。"
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "检测到 {0} 个冲突。"
@@ -5848,6 +5932,9 @@ msgstr "将过滤器下移。"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "过滤隐藏:{0} 停用:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "过滤器中的错误"
 
@@ -6285,6 +6372,9 @@ msgstr "样式设置"
 msgid "Customize the style"
 msgstr "自定义样式"
 
+msgid "Search menu items"
+msgstr "搜索菜单项"
+
 msgid "Mini map"
 msgstr "小地图"
 
@@ -6635,21 +6725,15 @@ msgid_plural ""
 "''{0}''.</html>"
 msgstr[0] "<html>在目前编辑的图层“{0}”中没有选定的<br>对象可用。</html>"
 
-msgid "Download content"
-msgstr "下载内容"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "从 OSM 服务器下载修改集合内容"
-
-msgid "Update content"
-msgstr "更新内容"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "从 OSM 服务器更新修改集合内容"
-
 msgid "Download and show the history of the selected objects"
 msgstr "下载并显示选定对象的历史记录"
 
+msgid "Download objects"
+msgstr "下载对象"
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "在图层中选择"
 
@@ -6749,6 +6833,18 @@ msgstr "打开"
 msgid "closed"
 msgstr "关闭"
 
+msgid "Download content"
+msgstr "下载内容"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "从 OSM 服务器下载修改集合内容"
+
+msgid "Update content"
+msgstr "更新内容"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "从 OSM 服务器更新修改集合内容"
+
 msgid "Changeset ID: "
 msgstr "修改集合 ID: "
 
@@ -7076,8 +7172,8 @@ msgstr "编辑所有对象选定设定键的数值"
 msgid "Edit Tags"
 msgstr "编辑标签"
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "转到 OSM 的维基页面查看标签的帮助内容(F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "启动浏览器并显示选定对象的维基说明"
@@ -7112,6 +7208,9 @@ msgstr "复制所有的键值/数值"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr "复制所有标签的键值对到剪切板"
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "搜索键/值/类型"
 
@@ -7175,6 +7274,27 @@ msgstr "设置最近添加的标签数"
 msgid "Remember last used tags after a restart"
 msgstr "重启后仍记住最近使用的标签"
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr "启用"
+
+msgid "Hide"
+msgstr "隐藏"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr "以应用第一条建议"
 
@@ -7283,9 +7403,6 @@ msgstr "新关系"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr "转移关系编辑器到层“{1}”中的关系“{0}”"
 
-msgid "Relation Editor: {0}"
-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 "
@@ -7319,110 +7436,82 @@ msgid ""
 msgstr ""
 "<html>您正尝试将关系添加到它自己。<br><br>这样会建立循环参照,因此不建议这么做。<br>正跳过关系“{0}”。</html>"
 
-msgid ""
-"Add all objects selected in the current dataset before the first member"
-msgstr "将目前数据集合中的所有对象添加到第一个成员之前"
+msgid "Select previous Gap"
+msgstr "选择上一个间隙"
 
-msgid ""
-"Add all objects selected in the current dataset before the first selected "
-"member"
-msgstr "将目前数据集合中的所有对象添加到第一个选定的成员之前"
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr "选择上一个产生间隙的关系成员"
 
-msgid ""
-"Add all objects selected in the current dataset after the last selected "
-"member"
-msgstr "将目前数据集合中的所有对象添加到最后一个选定的成员之后"
+msgid "Select next Gap"
+msgstr "下一个空白间选择"
 
-msgid "Remove all members referring to one of the selected objects"
-msgstr "删除所有参照到选定对象之一的所有成员"
+msgid "Select the next relation member which gives rise to a gap"
+msgstr "选择下一个产生间隙的关系成员"
 
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr "选定参照到目前选择范围的关系成员"
+msgid "Zoom to Gap"
+msgstr "缩放到空白点"
 
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr "在目前的选择范围中选择了参照到 {0} 的关系成员"
+msgid "Zoom to the gap in the way sequence"
+msgstr "缩放到道序列的空白点"
 
-msgid "Select objects for selected relation members"
-msgstr "选择已选定关系成员中的对象"
+msgid "Refers to"
+msgstr "参照到"
 
-msgid "Sort the relation members"
-msgstr "排序关系成员"
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
 
-msgid "Relation Editor: Sort"
-msgstr "关系编辑器:排序"
+msgid "Download referring relations"
+msgstr "下载参照的关系"
 
-msgid "Sort below"
-msgstr "排序下列内容"
+msgid "There were {0} conflicts during import."
+msgstr "输入时有 {0} 个冲突。"
 
-msgid "Sort the selected relation members and all members below"
-msgstr "排序已选择的关系成员和以下所有成员"
+msgid "including immediate children of parent relations"
+msgstr "包含父关系的直接子项"
 
-msgid "Reverse the order of the relation members"
-msgstr "反转关系成员的顺序"
+msgid "Load parent relations"
+msgstr "加载父关系"
 
-msgid "Reverse"
-msgstr "反转"
+msgid "Reload"
+msgstr "重新加载"
 
-msgid "Move the currently selected members up"
-msgstr "将目前选定的成员上移"
+msgid "Loading parent relations"
+msgstr "正在加载父关系"
 
-msgid "Relation Editor: Move Up"
-msgstr "关系编辑器:上移"
+msgid "Edit the currently selected relation"
+msgstr "编辑目前选定的关系"
 
-msgid "Move the currently selected members down"
-msgstr "将目前选定的成员下移"
+msgid "Apply Changes"
+msgstr "应用修改"
 
-msgid "Relation Editor: Move Down"
-msgstr "关系编辑器:下移"
+msgid "Create new relation in layer ''{0}''"
+msgstr "在图层“{0}”中建立一个新的关系"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "将目前选定的成员从这个关系中删除"
+msgid "Edit new relation in layer ''{0}''"
+msgstr "编辑图层“{0}”中的新关系"
 
-msgid "Relation Editor: Remove"
-msgstr "关系编辑器:删除"
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "编辑图层“{1}”的关系 #{0}"
 
-msgid "Delete the currently edited relation"
-msgstr "删除目前编辑的关系"
+msgid "Load relation"
+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"
-"它们已经从关系成员列表删除了。"
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr "将目前数据集合中的所有对象添加到最后一个选定的成员之后"
 
-msgid "Yes, create a conflict and close"
-msgstr "是,建立冲突并关闭"
+msgid ""
+"Add all objects selected in the current dataset before the first member"
+msgstr "将目前数据集合中的所有对象添加到第一个成员之前"
 
-msgid "Click to create a conflict and close this relation editor"
-msgstr "点击以建立冲突项目,并关闭这个关系编辑器"
+msgid ""
+"Add all objects selected in the current dataset before the first selected "
+"member"
+msgstr "将目前数据集合中的所有对象添加到第一个选定的成员之前"
 
-msgid "No, continue editing"
-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 "应用目前的更新"
-
-msgid "Apply the updates and close the dialog"
-msgstr "应用更新并关闭此对话框"
+msgid "Apply the current updates"
+msgstr "应用目前的更新"
 
 msgid "Cancel the updates and close the dialog"
 msgstr "取消更新并关闭此对话框"
@@ -7442,6 +7531,9 @@ msgstr "点击以放弃更改并关闭这个关系编辑器"
 msgid "Cancel, continue editing"
 msgstr "取消,继续编辑"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr "点击以返回关系编辑器,并继续关系的编辑"
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7450,8 +7542,11 @@ msgstr "<html>关系已改变。<br><br>您想保存您的更改吗?</html>"
 msgid "Unsaved changes"
 msgstr "未保存的更改"
 
-msgid "Add an empty tag"
-msgstr "添加空的标签"
+msgid "Delete the currently edited relation"
+msgstr "删除目前编辑的关系"
+
+msgid "Relation Editor: Download Members"
+msgstr "关系编辑器:下载成员"
 
 msgid "Download all incomplete members"
 msgstr "下载所有不完整的成员"
@@ -7459,101 +7554,154 @@ msgstr "下载所有不完整的成员"
 msgid "Download Members"
 msgstr "下载成员"
 
-msgid "Relation Editor: Download Members"
-msgstr "关系编辑器:下载成员"
-
 msgid "Download selected incomplete members"
 msgstr "下载选定的不完整成员"
 
-msgid "Sets a role for the selected members"
-msgstr "为选定的成员设定角色"
-
-msgid "Apply Role"
-msgstr "应用角色"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "您在 {0} 个对象中设定了空的角色。"
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "这样等于删除这些对象的角色。"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "编辑目前选定关系成员所参照的关系"
 
-msgid "Do you really want to apply the new role?"
-msgstr "您确定要应用新的角色吗?"
+msgid "Relation Editor: Move Down"
+msgstr "关系编辑器:下移"
 
-msgid "Yes, apply it"
-msgstr "是,应用它"
+msgid "Move the currently selected members down"
+msgstr "将目前选定的成员下移"
 
-msgid "No, do not apply"
-msgstr "否,不应用"
+msgid "Relation Editor: Move Up"
+msgstr "关系编辑器:上移"
 
-msgid "Confirm empty role"
-msgstr "确认空白角色"
+msgid "Move the currently selected members up"
+msgstr "将目前选定的成员上移"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "编辑目前选定关系成员所参照的关系"
+msgid "Apply the updates and close the dialog"
+msgstr "应用更新并关闭此对话框"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
 "current layer"
 msgstr "从剪贴板中的成员不能被添加,因为它们不被包含在当前图层中"
 
-msgid "Select previous Gap"
-msgstr "选择上一个间隙"
+msgid "Relation Editor: Refresh"
+msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
-msgstr "选择上一个产生间隙的关系成员"
+msgid "Refresh relation from data layer"
+msgstr ""
 
-msgid "Select next Gap"
-msgstr "下一个空白间选择"
+msgid "Refresh"
+msgstr "重新整理"
 
-msgid "Select the next relation member which gives rise to a gap"
-msgstr "选择下一个产生间隙的关系成员"
+msgid "Yes, discard changes and reload"
+msgstr ""
 
-msgid "Zoom to Gap"
-msgstr "缩放到空白点"
+msgid "Click to discard the changes and reload data from layer"
+msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
-msgstr "缩放到道序列的空白点"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
+msgstr ""
 
-msgid "Refers to"
-msgstr "参照到"
+msgid "Click to close window"
+msgstr ""
 
-msgid "Download referring relations"
-msgstr "下载参照的关系"
+msgid "No, continue editing"
+msgstr "否,继续编辑"
 
-msgid "There were {0} conflicts during import."
-msgstr "输入时有 {0} 个冲突。"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "including immediate children of parent relations"
-msgstr "包含父关系的直接子项"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "Load parent relations"
-msgstr "加载父关系"
+msgid "Relation Editor: Remove"
+msgstr "关系编辑器:删除"
 
-msgid "Reload"
-msgstr "重新加载"
+msgid "Remove the currently selected members from this relation"
+msgstr "将目前选定的成员从这个关系中删除"
 
-msgid "Loading parent relations"
-msgstr "正在加载父关系"
+msgid "Remove all members referring to one of the selected objects"
+msgstr "删除所有参照到选定对象之一的所有成员"
 
-msgid "Edit the currently selected relation"
-msgstr "编辑目前选定的关系"
+msgid "Reverse the order of the relation members"
+msgstr "反转关系成员的顺序"
 
-msgid "Apply Changes"
-msgstr "应用修改"
+msgid "Reverse"
+msgstr "反转"
 
-msgid "Create new relation in layer ''{0}''"
-msgstr "在图层“{0}”中建立一个新的关系"
+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 "Edit new relation in layer ''{0}''"
-msgstr "编辑图层“{0}”中的新关系"
+msgid "Yes, create a conflict and close"
+msgstr "是,建立冲突并关闭"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "编辑图层“{1}”的关系 #{0}"
+msgid "Click to create a conflict and close this relation editor"
+msgstr "点击以建立冲突项目,并关闭这个关系编辑器"
 
-msgid "Load relation"
-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 "Select objects for selected relation members"
+msgstr "选择已选定关系成员中的对象"
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr "选定参照到目前选择范围的关系成员"
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr "在目前的选择范围中选择了参照到 {0} 的关系成员"
+
+msgid "Sets a role for the selected members"
+msgstr "为选定的成员设定角色"
+
+msgid "Apply Role"
+msgstr "应用角色"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "您在 {0} 个对象中设定了空的角色。"
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "这样等于删除这些对象的角色。"
+
+msgid "Do you really want to apply the new role?"
+msgstr "您确定要应用新的角色吗?"
+
+msgid "Yes, apply it"
+msgstr "是,应用它"
+
+msgid "No, do not apply"
+msgstr "否,不应用"
+
+msgid "Confirm empty role"
+msgstr "确认空白角色"
+
+msgid "Relation Editor: Sort"
+msgstr "关系编辑器:排序"
+
+msgid "Sort the relation members"
+msgstr "排序关系成员"
+
+msgid "Sort below"
+msgstr "排序下列内容"
+
+msgid "Sort the selected relation members and all members below"
+msgstr "排序已选择的关系成员和以下所有成员"
 
 msgid "way is connected"
 msgstr "路径已连接"
@@ -7951,6 +8099,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr "<html>版本 <strong>{0}</strong> 建立于 <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr "修改集合"
 
@@ -8063,13 +8216,15 @@ msgid "Upload"
 msgstr "上传"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
-"<html>如果您点击最左边的按钮,将会选择在这一图层执行什么动作。<br/>点击“上传”以上传到 OSM "
-"服务器。<br/>点击“保存”以保存图层到左边指定的文件。</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr "提供您的修改的一些简短说明:"
@@ -8249,9 +8404,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr "无法获取当前JOSM用户的信息。有以下异常:{0}"
 
-msgid "Download objects"
-msgstr "下载对象"
-
 msgid "Initializing nodes to download ..."
 msgstr "正在初始化节点以下载..."
 
@@ -8765,8 +8917,8 @@ msgid "{0} object to delete:"
 msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} 个对象要删除:"
 
-msgid "Show Tile Info"
-msgstr "显示瓦片信息"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr "瓦片信息"
@@ -8774,17 +8926,23 @@ msgstr "瓦片信息"
 msgid "Metadata "
 msgstr "元数据 "
 
-msgid "Auto Zoom"
-msgstr "自动缩放"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "自动加载瓦片"
 
-msgid "Load All Tiles"
-msgstr "加载所有瓦片"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "加载所有错误的瓦片"
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr "缩放到原始分辨率"
@@ -8792,26 +8950,17 @@ msgstr "缩放到原始分辨率"
 msgid "Change resolution"
 msgstr "更改分辨率"
 
-msgid "Failed to create tile source"
-msgstr "无法创建瓦片源"
-
-msgid "Show Errors"
-msgstr "显示错误"
-
-msgid "Load Tile"
-msgstr "加载瓦片"
-
 msgid "Increase zoom"
 msgstr "增加缩放"
 
 msgid "Decrease zoom"
 msgstr "减少缩放"
 
-msgid "Snap to tile size"
-msgstr "贴紧瓦片大小"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "清除瓦片缓存"
+msgid "Failed to create tile source"
+msgstr "无法创建瓦片源"
 
 msgid "zoom in to load any tiles"
 msgstr "放大以加载瓦片"
@@ -9240,6 +9389,9 @@ msgstr ""
 "在分析补偿时发生错误。\n"
 "期望的格式:{0}"
 
+msgid "Geotagged Images"
+msgstr "有地理标记的图片"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "正在从 EXIF 中提取 GPS 位置"
 
@@ -9264,9 +9416,6 @@ msgstr "从目录 {0} 取得文件时发生错误\n"
 msgid "One of the selected files was null"
 msgstr "选定的文件中有一个为空"
 
-msgid "Geotagged Images"
-msgstr "有地理标记的图片"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "已加载 {0} 张图片。"
@@ -9624,10 +9773,8 @@ msgstr[0] "加载这种样式时发生了 {0} 个错误。查看详细信息,
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr "从“{0}”解析地图绘画风格失败。错误为:{1}"
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
-msgstr "检查到不建议使用的即将废弃的\"{1}\"键值\"{0}\"。应使用\"{2}\"替代。"
+msgid "Failed to locate image ''{0}''"
+msgstr "定位图像“{0}”时失败"
 
 msgid "Illegal dash pattern, values must be positive"
 msgstr "非法的虚线模式,值必须为正"
@@ -9671,6 +9818,12 @@ msgstr "访问令牌的 URL:"
 msgid "Authorize URL:"
 msgstr "验证 URL:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "按这里将 OAuth 设定值重设为默认值"
 
@@ -9734,11 +9887,6 @@ msgstr "用户名: "
 msgid "Password: "
 msgstr "密码: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr "<strong>警告:</strong>JOSM 只会使用安全连接登录<strong>一次</strong>。"
-
 msgid "Granted rights"
 msgstr "授权的行为"
 
@@ -9863,6 +10011,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "请选择一种授权程序: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "取得“{0}”的访问令牌"
 
@@ -10238,6 +10392,15 @@ msgstr "覆盖已注册的工具栏动作 {0}:{1} 得到 {2}"
 msgid "Toolbar: {0}"
 msgstr "工具栏:{0}"
 
+msgid "add entry"
+msgstr "添加条目"
+
+msgid "Remove the selected entry"
+msgstr "删除所选条目"
+
+msgid "Key: {0}"
+msgstr "键:{0}"
+
 msgid "Advanced Preferences"
 msgstr "高级首选项"
 
@@ -10321,18 +10484,9 @@ msgstr "选择个人资料文件"
 msgid "Change list setting"
 msgstr "更改列表设置"
 
-msgid "Key: {0}"
-msgstr "键:{0}"
-
 msgid "Change list of lists setting"
 msgstr "更改列表设置的列表"
 
-msgid "add entry"
-msgstr "添加条目"
-
-msgid "Remove the selected entry"
-msgstr "删除所选条目"
-
 msgid "Change list of maps setting"
 msgstr "更改地图设置的列表"
 
@@ -10984,9 +11138,6 @@ msgstr "复制选定的默认值"
 msgid "Please select at least one row to copy."
 msgstr "请选择至少一列来复制。"
 
-msgid "reload defaults"
-msgstr "重新加载默认值"
-
 msgid "Menu Name"
 msgstr "菜单名称"
 
@@ -11269,6 +11420,9 @@ msgid_plural ""
 "Downloading the following {0} plugins has <strong>failed</strong>:"
 msgstr[0] "下载以下 {0} 个插件<strong>失败</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>错误信息(未翻译):{0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "请重新启动 JOSM,让下载的插件生效。"
 
@@ -11905,12 +12059,6 @@ msgstr "数值"
 msgid "Checks for wrong numeric values"
 msgstr "检查数值错误"
 
-msgid "Power"
-msgstr "电力"
-
-msgid "Checks for errors on power infrastructures"
-msgstr "检查电力设施错误"
-
 msgid "Religion"
 msgstr "宗教"
 
@@ -11999,6 +12147,9 @@ msgstr "使用预设组合“{0}”"
 msgid "Elements of type {0} are supported."
 msgstr "支持类型 {0} 的元素。"
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "亦编辑…"
 
@@ -12068,6 +12219,9 @@ msgstr "搜索预设组合"
 msgid "Presets"
 msgstr "预设组合(P)"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "按预设组合搜索对象"
 
@@ -12111,6 +12265,9 @@ msgid ""
 "''short_descriptions'' must be the same as in ''values''"
 msgstr "预设标签“{0}-{1}”损坏 - 在“short_descriptions”中的项目数量必须与“values”中的相同"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "关于这个功能的更多信息"
 
@@ -12199,16 +12356,30 @@ msgstr "目前的数值不是有效的 OSM ID。请输入大于 0 的整数值"
 msgid "false: the property is explicitly switched off"
 msgstr "false:该属性已经被确实关闭了"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "true:该属性已经被确实打开了"
 
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
 msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "部分:不同选定的对象有不同的数值,不要改变"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "取消设定:不要在选定的对象上设定这个属性"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr "剪切"
 
@@ -12688,6 +12859,9 @@ msgstr "无法以 OAuth 验证标头签署 HTTP 连接"
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr "首选项\"{0}\"值意外。得到\"{1}\"。"
 
+msgid "OSM Server Files"
+msgstr "OSM 服务器文件"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>在保存时发生错误。<br>错误为:<br>{0}</html>"
 
@@ -12702,9 +12876,6 @@ msgstr "OSM 服务器文件(gzip 压缩)"
 msgid "Parsing OSM history data ..."
 msgstr "正在分析 OSM 历史记录数据 ..."
 
-msgid "OSM Server Files"
-msgstr "OSM 服务器文件"
-
 msgid "Invalid dataset"
 msgstr "无效的数据集合"
 
@@ -12897,9 +13068,6 @@ msgstr "正在上传数据..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "发现意外的 id 0 osm 原型"
 
-msgid "OSM Server Files zip compressed"
-msgstr "OSM 服务器 zip 压缩文件"
-
 msgid "Downloading data..."
 msgstr "正在下载数据..."
 
@@ -13071,22 +13239,29 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr "远程控制被要求报告通讯协议版本。这会让网站能检测执行中的 JOSM。"
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
-msgstr "不支持版本“{0}”的地理照片图层元数据。预期:0.1"
+msgid "local file"
+msgstr "本地文件"
+
+msgid "include"
+msgstr "包含"
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "图层包含未保存的数据 - 保存到文件。"
+
+msgid "Layer does not contain unsaved data."
+msgstr "图层不包含未保存的数据。"
 
 msgid "Data:"
 msgstr "数据:"
 
-msgid "local file"
-msgstr "本地文件"
+msgid "Link to a OSM data file on your local disk."
+msgstr "连接到本地磁盘上的一个 OSM 数据文件。"
 
-msgid "Link to a GPX file on your local disk."
-msgstr "关联到本地磁盘中的 GPX 文件"
+msgid "Include OSM data in the .joz session file."
+msgstr "将 OSM 数据包含在 .joz 会话文件。"
 
-msgid "include"
-msgstr "包含"
+msgid "Link to a GPX data file on your local disk."
+msgstr ""
 
 msgid "Include GPX data in the .joz session file."
 msgstr "将 GPX 数据包含在 .joz 会话文件中"
@@ -13097,6 +13272,14 @@ msgstr "没有文件关联"
 msgid "GPX data will be included in the session file."
 msgstr "GPX 数据将包含于 .joz 会话文件中"
 
+msgid "OSM data will be included in the session file."
+msgstr "OSM 数据将会包含在会话文件中。"
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr "不支持版本“{0}”的地理照片图层元数据。预期:0.1"
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13114,20 +13297,9 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr "标注图层元数据版本\"{0}\"不再支持,应为0.1"
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "图层包含未保存的数据 - 保存到文件。"
-
-msgid "Layer does not contain unsaved data."
-msgstr "图层不包含未保存的数据。"
-
-msgid "Link to a OSM data file on your local disk."
-msgstr "连接到本地磁盘上的一个 OSM 数据文件。"
-
-msgid "Include OSM data in the .joz session file."
-msgstr "将 OSM 数据包含在 .joz 会话文件。"
-
-msgid "OSM data will be included in the session file."
-msgstr "OSM 数据将会包含在会话文件中。"
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
+msgstr ""
 
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
@@ -13817,9 +13989,6 @@ msgid ""
 "the OSM community."
 msgstr "您尝试下载的区域太大,或是您的要求太大。<br>可以要求小一点的区域,或是使用 OSM 社区提供的输出文件。"
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>错误信息(未翻译):{0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13856,6 +14025,9 @@ msgstr "下载重定向到“{0}”"
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr "检测到下载 URL 重定向过多。正在中止。"
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "找不到地区设定 {0} 的翻译。回复为 {1}。"
 
@@ -13864,9 +14036,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr "致命错误:无法定位图片“{0}”。这是严重的配置问题。JOSM 将停止工作。"
 
-msgid "Failed to locate image ''{0}''"
-msgstr "定位图像“{0}”时失败"
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "无法处理压缩文件“{0}”。异常为:{1}"
 
@@ -14002,6 +14171,9 @@ msgid ""
 msgstr "<html><p>对不起,无法解析缓存中的标签,缓存中没有 JOSM 对象或适当的文本。</p></html>"
 
 msgid "Unable to delete file {0}"
+msgstr "无法删除文件 {0}"
+
+msgid "Unable to create directory {0}"
 msgstr ""
 
 msgid "ms"
@@ -14311,9 +14483,6 @@ msgstr "打开选定的文件"
 msgid "Open selected file."
 msgstr "打开选定的文件。"
 
-msgid "Refresh"
-msgstr "重新整理"
-
 msgid "Rename File"
 msgstr "更改文件名"
 
@@ -14407,6 +14576,9 @@ msgstr "MapQuest OSM"
 msgid "Public Transport (ÖPNV)"
 msgstr "公共交通(ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (德国样式)"
 
@@ -14473,6 +14645,9 @@ msgstr "OSM 检查器:地址"
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr "OSM 检查器:边界(欧盟)"
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14569,13 +14744,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14698,6 +14876,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14718,9 +14899,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14791,6 +14969,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14824,10 +15011,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15523,6 +15713,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "建立路径的格线。"
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "建立并处理捷克共和国中的地址节点与建筑。"
@@ -16178,6 +16371,105 @@ msgstr "有限"
 msgid "Brand"
 msgstr "品牌"
 
+msgid "Cuisine"
+msgstr "烹调风格"
+
+msgid "italian"
+msgstr "意式"
+
+msgid "chinese"
+msgstr "中式"
+
+msgid "pizza"
+msgstr "披萨"
+
+msgid "burger"
+msgstr "汉堡"
+
+msgid "greek"
+msgstr "希腊式"
+
+msgid "german"
+msgstr "德式"
+
+msgid "indian"
+msgstr "印式"
+
+msgid "regional"
+msgstr "本地"
+
+msgid "kebab"
+msgstr "土耳其烤肉"
+
+msgid "turkish"
+msgstr "土耳其式"
+
+msgid "asian"
+msgstr "亚式"
+
+msgid "thai"
+msgstr "泰式"
+
+msgid "mexican"
+msgstr "墨西哥式"
+
+msgid "japanese"
+msgstr "日式"
+
+msgid "french"
+msgstr "法式"
+
+msgid "sandwich"
+msgstr "三明治"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "寿司"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr "鱼和薯条"
+
+msgid "chicken"
+msgstr "鸡肉"
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "冰激凌"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "网络接入"
 
@@ -16745,8 +17037,11 @@ msgstr "限重(吨)"
 msgid "Toll"
 msgstr "收费"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "时令水体(季节性消失)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
+msgstr ""
 
 msgid "In the tidal range"
 msgstr ""
@@ -17499,25 +17794,29 @@ msgstr "如遇交通信号:"
 msgid "Traffic Calming"
 msgstr "道路减速设施"
 
-msgid "bump"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
 msgstr ""
 
-msgid "chicane"
+msgid "Choker"
 msgstr ""
 
-msgid "choker"
+msgid "Cushion"
 msgstr ""
 
-msgid "cushion"
+msgid "Hump"
 msgstr ""
 
-msgid "hump"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17667,6 +17966,9 @@ msgstr "城墙"
 msgid "Retaining Wall"
 msgstr "挡土墙"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17837,6 +18139,9 @@ msgstr "河"
 msgid "Salt Water"
 msgstr "咸水"
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr "时令水体(季节性消失)?"
+
 msgid "Coastline"
 msgstr "海岸线"
 
@@ -17899,14 +18204,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr "大片水体,部分由土地包围,但有一个宽阔出口。"
 
-msgid "Cliff"
-msgstr "断崖"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr "船运"
 
@@ -18835,95 +19132,29 @@ msgstr "食物+饮料"
 msgid "Restaurant"
 msgstr "餐厅"
 
-msgid "Cuisine"
-msgstr "烹调风格"
+msgid "Microbrewery"
+msgstr "自酿酒"
 
-msgid "italian"
-msgstr "意式"
+msgid "Outdoor seating"
+msgstr ""
 
-msgid "chinese"
-msgstr "中式"
+msgid "Takeaway"
+msgstr ""
 
-msgid "pizza"
-msgstr "披萨"
+msgid "Fast Food"
+msgstr "快餐"
 
-msgid "burger"
-msgstr "汉堡"
+msgid "Food Court"
+msgstr "美食广场"
 
-msgid "greek"
-msgstr "希腊式"
+msgid "Cafe"
+msgstr "咖啡"
 
-msgid "german"
-msgstr "德式"
+msgid "Ice cream"
+msgstr ""
 
-msgid "indian"
-msgstr "印式"
-
-msgid "regional"
-msgstr "本地"
-
-msgid "kebab"
-msgstr "土耳其烤肉"
-
-msgid "turkish"
-msgstr "土耳其式"
-
-msgid "asian"
-msgstr "亚式"
-
-msgid "thai"
-msgstr "泰式"
-
-msgid "mexican"
-msgstr "墨西哥式"
-
-msgid "japanese"
-msgstr "日式"
-
-msgid "french"
-msgstr "法式"
-
-msgid "sandwich"
-msgstr "三明治"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "寿司"
-
-msgid "steak_house"
-msgstr ""
-
-msgid "Microbrewery"
-msgstr "自酿酒"
-
-msgid "Outdoor seating"
-msgstr ""
-
-msgid "Takeaway"
-msgstr ""
-
-msgid "Fast Food"
-msgstr "快餐"
-
-msgid "fish_and_chips"
-msgstr "鱼和薯条"
-
-msgid "chicken"
-msgstr "鸡肉"
-
-msgid "Food Court"
-msgstr "美食广场"
-
-msgid "Cafe"
-msgstr "咖啡"
-
-msgid "ice_cream"
-msgstr "冰激凌"
-
-msgid "Pub"
-msgstr "酒店"
+msgid "Pub"
+msgstr "酒店"
 
 msgid "Beer Garden"
 msgstr "啤酒花园"
@@ -19097,6 +19328,12 @@ msgstr "主题公园"
 msgid "Water Park"
 msgstr "水上乐园"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "桑拿"
 
@@ -19131,9 +19368,6 @@ msgstr "火塘"
 msgid "Fishing"
 msgstr "钓鱼"
 
-msgid "Private Swimming Pool"
-msgstr "私人游泳池"
-
 msgid "Night Club"
 msgstr "夜店"
 
@@ -19176,12 +19410,18 @@ msgstr "雕像"
 msgid "Artist Name"
 msgstr "艺术家姓名"
 
-msgid "Recording Studio"
-msgstr "录音室"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "音频"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "视频"
 
@@ -19285,6 +19525,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr "复临安息日会"
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr "清真寺"
 
@@ -19444,6 +19688,125 @@ msgstr "(使用国际码,像是 +12-345-67890)"
 msgid "Veterinary"
 msgstr "兽医"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr "自动除颤器"
+
+msgid "Located inside a building?"
+msgstr "位于建筑物内?"
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr "最后检查日期(YYYY-MM-DD)"
+
+msgid "Last check note"
+msgstr "最后检查说明"
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr "室内"
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "消防栓"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "地下"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr "立柱"
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr "墙上"
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr "池塘"
+
+msgid "Diameter (in mm)"
+msgstr "直径(毫米)"
+
+msgid "Hydrant Position"
+msgstr "消防栓"
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr "车道"
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr "停车场"
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr "人行道"
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr "绿地"
+
+msgid "Pressure (in bar)"
+msgstr "压力(巴)"
+
+msgid "suction"
+msgstr "吸"
+
+msgid "Count"
+msgstr "数目"
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "紧急电话"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19556,24 +19919,9 @@ msgstr "备注"
 msgid "Telephone cards"
 msgstr "电话卡"
 
-msgid "Emergency Phone"
-msgstr "紧急电话"
-
 msgid "Internet Access"
 msgstr "互联网访问"
 
-msgid "Automated Defibrillator"
-msgstr "自动除颤器"
-
-msgid "Located inside a building?"
-msgstr "位于建筑物内?"
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr "最后检查日期(YYYY-MM-DD)"
-
-msgid "Last check note"
-msgstr "最后检查说明"
-
 msgid "Clock"
 msgstr "时钟"
 
@@ -19736,64 +20084,15 @@ msgctxt "height"
 msgid "full"
 msgstr "全"
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "隐藏"
+msgstr ""
 
 msgid "Lock"
 msgstr "锁"
 
-msgid "Indoor"
-msgstr "室内"
-
-msgid "Fire Hydrant"
-msgstr "消防栓"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "地下"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr "立柱"
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr "墙上"
-
-msgctxt "pipeline"
-msgid "pond"
-msgstr "池塘"
-
-msgid "Diameter (in mm)"
-msgstr "直径(毫米)"
-
-msgid "Hydrant Position"
-msgstr "消防栓"
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr "车道"
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr "停车场"
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr "人行道"
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr "绿地"
-
-msgid "Pressure (in bar)"
-msgstr "压力(巴)"
-
-msgid "suction"
-msgstr "吸"
-
-msgid "Count"
-msgstr "数目"
+msgid "Water Point"
+msgstr ""
 
 msgid "Compressed Air"
 msgstr ""
@@ -19819,35 +20118,88 @@ msgstr "广告栏"
 msgid "Billboard"
 msgstr "公告板"
 
-msgid "Sports"
-msgstr "运动"
+msgid "Sports"
+msgstr "运动"
+
+msgid "Sport Facilities"
+msgstr "运动设施"
+
+msgid "Stadium"
+msgstr "竞技场"
+
+msgid "Sports Centre"
+msgstr "运动中心"
+
+msgid "Pitch"
+msgstr "场地"
+
+msgid "artificial_turf"
+msgstr "人工草皮"
+
+msgid "decoturf"
+msgstr ""
+
+msgid "tartan"
+msgstr "塑胶"
+
+msgid "Racetrack"
+msgstr "跑道"
+
+msgid "Golf"
+msgstr "高尔夫"
+
+msgid "Golf Course"
+msgstr "高尔夫路线"
+
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
 
-msgid "Sport Facilities"
-msgstr "运动设施"
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
 
-msgid "Stadium"
-msgstr "竞技场"
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
 
-msgid "Sports Centre"
-msgstr "运动中心"
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
 
-msgid "Pitch"
-msgstr "场地"
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
 
-msgid "artificial_turf"
-msgstr "人工草皮"
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
 
-msgid "decoturf"
+msgctxt "golf"
+msgid "Green"
 msgstr ""
 
-msgid "tartan"
-msgstr "塑胶"
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
 
-msgid "Racetrack"
-msgstr "跑道"
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
 
-msgid "Golf Course"
-msgstr "高尔夫路线"
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
 
 msgid "Miniature Golf"
 msgstr "迷你高尔夫"
@@ -20073,9 +20425,6 @@ msgstr "沙滩排球"
 msgid "Billiards"
 msgstr "台球"
 
-msgid "Golf"
-msgstr "高尔夫"
-
 msgid "golf_course"
 msgstr "高尔夫路线"
 
@@ -20240,6 +20589,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr "牛舍"
 
@@ -20248,6 +20601,38 @@ msgid "construction"
 msgstr "在建"
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr "层数"
 
@@ -20360,6 +20745,9 @@ msgstr "风车"
 msgid "Gasometer"
 msgstr "贮气桶"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr "储罐"
 
@@ -20761,6 +21149,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20770,6 +21166,9 @@ msgstr "遗迹"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "电力"
+
 msgid "Power Plant"
 msgstr "发电厂"
 
@@ -21201,11 +21600,14 @@ msgstr "1 Mvar"
 msgid "5 Mvar"
 msgstr "5 Mvar"
 
-msgid "Cable Distribution Cabinet"
-msgstr "电缆配电柜"
+msgid "Power Street Cabinet"
+msgstr ""
 
-msgid "Power Tower"
-msgstr "电塔"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr "建筑类型"
@@ -21226,6 +21628,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr "红/白"
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "电塔"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr "电塔类型"
@@ -21349,18 +21769,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21393,6 +21801,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "电线"
 
@@ -21650,6 +22061,9 @@ msgstr "家俱"
 msgid "Kitchen"
 msgstr "炊具"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr "窗帘"
 
@@ -21692,12 +22106,21 @@ msgstr ""
 msgid "Chemist"
 msgstr "化妆品店"
 
-msgid "Hairdresser/Barber"
-msgstr "美发/理发"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
+msgstr ""
 
 msgid "Beauty"
 msgstr "美容"
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr "美发/理发"
+
 msgid "Tattoo"
 msgstr "文身"
 
@@ -22023,6 +22446,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "地理"
 
@@ -22191,6 +22689,14 @@ msgstr "山谷"
 msgid "A low area between hills."
 msgstr "山间的较低区域。"
 
+msgid "Cliff"
+msgstr "断崖"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "洞口"
 
@@ -22391,6 +22897,51 @@ msgstr "牧场"
 msgid "Orchard"
 msgstr "果园"
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr "葡萄园"
 
@@ -23185,9 +23736,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr "{0} 已过时"
 
@@ -23209,7 +23757,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23253,6 +23801,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23268,6 +23825,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23295,6 +23855,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "缩写的街道名称"
 
@@ -23336,7 +23899,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26887,7 +27450,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27200,6 +27763,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27215,6 +27781,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "测量的数值"
 
@@ -28551,6 +29129,12 @@ msgstr ""
 msgid "Code"
 msgstr "代码"
 
+msgid "Can''t parse a time from this string."
+msgstr "无法从这个字符串中解析时间。"
+
+msgid "Invalid value"
+msgstr "无效的数值"
+
 msgid "added"
 msgstr "已添加"
 
@@ -28637,15 +29221,6 @@ msgstr "抓取"
 msgid "Join"
 msgstr "联结"
 
-msgid "Enable"
-msgstr "启用"
-
-msgid "Can''t parse a time from this string."
-msgstr "无法从这个字符串中解析时间。"
-
-msgid "Invalid value"
-msgstr "无效的数值"
-
 msgid "moved"
 msgstr "已移动"
 
@@ -30659,6 +31234,9 @@ msgstr "有选定节点的路径不能被拉直。"
 msgid "Internal error: number of nodes is {0}."
 msgstr "内部错误:节点的数目为 {0}。"
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr "提取节点"
 
@@ -31268,6 +31846,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr "添加{0}语言的维基数据(Wikidata)"
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "添加维基百科的名称"
 
diff --git a/i18n/po/zh_TW.po b/i18n/po/zh_TW.po
index 31b0408..c33216a 100644
--- a/i18n/po/zh_TW.po
+++ b/i18n/po/zh_TW.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-06 03:38+0100\n"
+"POT-Creation-Date: 2016-02-12 03:38+0100\n"
 "PO-Revision-Date: 2015-12-18 19:32+0000\n"
 "Last-Translator: yellowsoar <Unknown>\n"
 "Language-Team: Traditional Chinese\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-01-06 05:08+0000\n"
-"X-Generator: Launchpad (build 17876)\n"
+"X-Launchpad-Export-Date: 2016-02-12 05:07+0000\n"
+"X-Generator: Launchpad (build 17923)\n"
 "Language: zh_TW\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -388,6 +388,9 @@ msgid ""
 "nodes)"
 msgstr "無法結合兩條路線<br>(無法將他們合併為單一路線)"
 
+msgid "Reverse Ways"
+msgstr "反轉路徑"
+
 msgid "Combine {0} way"
 msgid_plural "Combine {0} ways"
 msgstr[0] "結合{0}條路線"
@@ -442,6 +445,12 @@ msgstr "刪除"
 msgid "Delete selected objects."
 msgstr "刪除選擇的物件"
 
+msgid "Delete Layer"
+msgstr ""
+
+msgid "Delete the active layer. Does not delete the associated file."
+msgstr ""
+
 msgid "Toggle dialogs panel"
 msgstr "切換對話盒面板"
 
@@ -1176,9 +1185,6 @@ msgstr "稍後重新啟動"
 msgid "Reverse way"
 msgstr "反轉路徑"
 
-msgid "Reverse Ways"
-msgstr "反轉路徑"
-
 msgid "Reverse the direction of all selected ways."
 msgstr "反轉所有選取路徑的方向。"
 
@@ -1508,6 +1514,16 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 
+msgid "Unglueing affected {0} relation: {1}"
+msgid_plural "Unglueing affected {0} relations: {1}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Ensure that the relation has not been broken!"
+msgid_plural "Ensure that the relations have not been broken!"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Disconnect Node from Way"
 msgstr "從路徑中分離節點"
 
@@ -2222,6 +2238,11 @@ msgstr "將目前資料組合中所有物件加入到最後一個成員之後"
 msgid "Add selection to relation"
 msgstr ""
 
+msgid ""
+"<html><strong>Add selection to relation</strong>: Control every single "
+"relation to avoid damage!"
+msgstr ""
+
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
 msgstr[0] ""
@@ -2263,6 +2284,15 @@ msgstr[1] ""
 msgid "Confirmation"
 msgstr ""
 
+msgid "List of recent relations"
+msgstr ""
+
+msgid "Open recent relation"
+msgstr ""
+
+msgid "Relation Editor: {0}"
+msgstr "關係編輯器:{0}"
+
 msgid "Select in relation list"
 msgstr "在關係清單中選擇"
 
@@ -2626,8 +2656,11 @@ msgstr ""
 "\n"
 "{1}"
 
-msgid "Expecting <i>min</i>/<i>max</i> after ''timestamp''"
-msgstr "在 ''timestamp'' 之後預期應有 <i>min</i>/<i>max</i>"
+msgid "Cannot parse timestamp ''{0}''"
+msgstr ""
+
+msgid "Expecting {0} after {1}"
+msgstr ""
 
 msgid "Range of primitive ids expected"
 msgstr ""
@@ -3179,9 +3212,6 @@ msgid ""
 "startup)."
 msgstr ""
 
-msgid " (at line {0}, column {1})"
-msgstr " (於第 {0} 列,第 {1} 欄)"
-
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr "偏好設定 {0} 已經被移除,因為它已不再使用了。"
 
@@ -3240,6 +3270,9 @@ msgctxt "compass"
 msgid "E"
 msgstr "東"
 
+msgid "Update default entries"
+msgstr ""
+
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr "找不到投影法「{0}」,書籤「{1}」無法使用"
 
@@ -3464,6 +3497,9 @@ msgstr "文字"
 msgid "areatext"
 msgstr "區域文字"
 
+msgid " (at line {0}, column {1})"
+msgstr " (於第 {0} 列,第 {1} 欄)"
+
 msgid "UTM projection (''+proj=utm'') requires ''+zone=...'' parameter."
 msgstr ""
 
@@ -3541,12 +3577,24 @@ msgstr "GRS80"
 msgid "WGS84"
 msgstr "WGS84"
 
-msgid "Double Stereographic"
+msgid "Albers Equal Area"
 msgstr ""
 
 msgid "Parameter ''{0}'' required."
 msgstr "需要「{0}」參數。"
 
+msgid "standard parallels are opposite"
+msgstr ""
+
+msgid "Cassini-Soldner"
+msgstr ""
+
+msgid "Double Stereographic"
+msgstr ""
+
+msgid "Lambert Azimuthal Equal Area"
+msgstr ""
+
 msgid "Lambert Conformal Conic"
 msgstr ""
 
@@ -3556,6 +3604,24 @@ msgstr ""
 msgid "Mercator"
 msgstr "麥卡托投影"
 
+msgid "Oblique Mercator"
+msgstr ""
+
+msgid "Unsuitable parameters ''{0}'' and ''{1}'' for two point method."
+msgstr ""
+
+msgid "Illegal value for parameter ''{0}'': {1}"
+msgstr ""
+
+msgid "error in initialization"
+msgstr ""
+
+msgid "Polar Stereographic"
+msgstr ""
+
+msgid "Polar Stereographic: Parameter ''{0}'' must be 90 or -90."
+msgstr ""
+
 msgid "Swiss Oblique Mercator"
 msgstr ""
 
@@ -4126,6 +4192,9 @@ msgstr "屬性設定鍵中有無效的空白字元"
 msgid "Property values start or end with white space"
 msgstr "屬性數值以空白字元開頭或結尾"
 
+msgid "Property values contain multiple white spaces"
+msgstr ""
+
 msgid "Property values contain HTML entity"
 msgstr "屬性數值含有 HTML 標記"
 
@@ -4818,9 +4887,6 @@ msgstr "圖片偏好設定"
 msgid "Click to open the imagery tab in the preferences"
 msgstr "點選以開啟偏好設定的圖片分頁"
 
-msgid "Search menu items"
-msgstr "搜尋選單項目"
-
 msgctxt "menu"
 msgid "Audio"
 msgstr ""
@@ -4879,12 +4945,6 @@ msgstr ""
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
 
-msgid "The geographic latitude at the mouse pointer."
-msgstr "滑鼠指標所在的地理緯度。"
-
-msgid "The geographic longitude at the mouse pointer."
-msgstr "滑鼠指標所在的地理經度。"
-
 msgid "The (compass) heading of the line segment being drawn."
 msgstr "繪出線段的(指南針)箭頭。"
 
@@ -4911,6 +4971,18 @@ msgstr "使用者:"
 msgid "Do not hide status bar"
 msgstr ""
 
+msgid "The northing at the mouse pointer."
+msgstr ""
+
+msgid "The easting at the mouse pointer."
+msgstr ""
+
+msgid "The geographic latitude at the mouse pointer."
+msgstr "滑鼠指標所在的地理緯度。"
+
+msgid "The geographic longitude at the mouse pointer."
+msgstr "滑鼠指標所在的地理經度。"
+
 msgid "System of measurement changed to {0}"
 msgstr ""
 
@@ -5722,6 +5794,18 @@ msgstr "解決"
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr "開啟上列清單所有選取的項目的合併對話盒。"
 
+msgid "Resolve to my versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''my'' version"
+msgstr ""
+
+msgid "Resolve to their versions"
+msgstr ""
+
+msgid "Resolves all unresolved conflicts to ''their'' version"
+msgstr ""
+
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
 msgstr[0] "偵測到 {0} 個衝突。"
@@ -5839,6 +5923,9 @@ msgstr "將過濾條件下移。"
 msgid "Filter Hidden:{0} Disabled:{1}"
 msgstr "過濾隱藏:{0} 停用:{1}"
 
+msgid "<html>Error in filter <code>{0}</code>:<br>{1}"
+msgstr ""
+
 msgid "Error in filter"
 msgstr "過濾條件發生錯誤"
 
@@ -6265,6 +6352,9 @@ msgstr ""
 msgid "Customize the style"
 msgstr ""
 
+msgid "Search menu items"
+msgstr "搜尋選單項目"
+
 msgid "Mini map"
 msgstr ""
 
@@ -6612,21 +6702,15 @@ msgid_plural ""
 "''{0}''.</html>"
 msgstr[0] "<html>在目前編輯的圖層「{0}」中沒有選取的<br>物件可用。</html>"
 
-msgid "Download content"
-msgstr "下載內容"
-
-msgid "Download the changeset content from the OSM server"
-msgstr "從 OSM 伺服器下載變更組合內容"
-
-msgid "Update content"
-msgstr "更新內容"
-
-msgid "Update the changeset content from the OSM server"
-msgstr "從 OSM 伺服器更新變更組合內容"
-
 msgid "Download and show the history of the selected objects"
 msgstr "下載並顯示選取物件的歷史紀錄"
 
+msgid "Download objects"
+msgstr "下載物件.."
+
+msgid "Download the current version of the selected objects"
+msgstr ""
+
 msgid "Select in layer"
 msgstr "在圖層中選擇"
 
@@ -6726,6 +6810,18 @@ msgstr "開啟"
 msgid "closed"
 msgstr "關閉"
 
+msgid "Download content"
+msgstr "下載內容"
+
+msgid "Download the changeset content from the OSM server"
+msgstr "從 OSM 伺服器下載變更組合內容"
+
+msgid "Update content"
+msgstr "更新內容"
+
+msgid "Update the changeset content from the OSM server"
+msgstr "從 OSM 伺服器更新變更組合內容"
+
 msgid "Changeset ID: "
 msgstr "變更組合 ID: "
 
@@ -7055,8 +7151,8 @@ msgstr "編輯所有物件選取設定鍵的數值"
 msgid "Edit Tags"
 msgstr ""
 
-msgid "Go to OSM wiki for tag help (F1)"
-msgstr "前往 OSM wiki 取得標籤說明 (F1)"
+msgid "Go to OSM wiki for tag help"
+msgstr ""
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "執行瀏覽器顯示選取物件的 wiki 說明"
@@ -7091,6 +7187,9 @@ msgstr "複製所有的設定鍵/數值"
 msgid "Copy the key and value of all the tags to clipboard"
 msgstr ""
 
+msgid "Copy Tags"
+msgstr ""
+
 msgid "Search Key/Value/Type"
 msgstr "搜尋設定鍵/數值/類型"
 
@@ -7154,6 +7253,27 @@ msgstr ""
 msgid "Remember last used tags after a restart"
 msgstr ""
 
+msgid "Recent tags with existing key"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid "Hide"
+msgstr "隱藏"
+
+msgid "Refresh recent tags list after applying tag"
+msgstr ""
+
+msgid "No refresh"
+msgstr ""
+
+msgid "Refresh tag status only (enabled / disabled)"
+msgstr ""
+
+msgid "Refresh tag status and list of recently added tags"
+msgstr ""
+
 msgid "to apply first suggestion"
 msgstr ""
 
@@ -7262,9 +7382,6 @@ msgstr "新關係"
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
 
-msgid "Relation Editor: {0}"
-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 "
@@ -7297,111 +7414,83 @@ msgid ""
 "''{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 "移除所有參照到選取物件之一的所有成員"
-
-msgid ""
-"Select relation members which refer to objects in the current selection"
-msgstr "選取參照到目前選擇區域的關係成員"
-
-msgid ""
-"Select relation members which refer to {0} objects in the current selection"
-msgstr "在目前的選擇區域中選擇了參照到 {0} 的關係成員"
+msgid "Select previous Gap"
+msgstr ""
 
-msgid "Select objects for selected relation members"
-msgstr "選擇已選取關係成員中的物件"
+msgid "Select the previous relation member which gives rise to a gap"
+msgstr ""
 
-msgid "Sort the relation members"
-msgstr "排序關係成員"
+msgid "Select next Gap"
+msgstr ""
 
-msgid "Relation Editor: Sort"
-msgstr "關係編輯器:排序"
+msgid "Select the next relation member which gives rise to a gap"
+msgstr ""
 
-msgid "Sort below"
+msgid "Zoom to Gap"
 msgstr ""
 
-msgid "Sort the selected relation members and all members below"
+msgid "Zoom to the gap in the way sequence"
 msgstr ""
 
-msgid "Reverse the order of the relation members"
-msgstr "反轉關係成員的順序"
+msgid "Refers to"
+msgstr "參照到"
 
-msgid "Reverse"
-msgstr "反轉"
+msgid "Cannot add {0} since it is not part of dataset"
+msgstr ""
 
-msgid "Move the currently selected members up"
-msgstr "將目前選取的成員上移"
+msgid "Download referring relations"
+msgstr "下載參照的關係"
 
-msgid "Relation Editor: Move Up"
-msgstr "關係編輯器:上移"
+msgid "There were {0} conflicts during import."
+msgstr "匯入時有 {0} 個衝突。"
 
-msgid "Move the currently selected members down"
-msgstr "將目前選取的成員下移"
+msgid "including immediate children of parent relations"
+msgstr "包含父關係的直接子項"
 
-msgid "Relation Editor: Move Down"
-msgstr "關係編輯器:下移"
+msgid "Load parent relations"
+msgstr "載入上層關係"
 
-msgid "Remove the currently selected members from this relation"
-msgstr "將目前選取的成員從這個關係中移除"
+msgid "Reload"
+msgstr "重新載入"
 
-msgid "Relation Editor: Remove"
-msgstr "關係編輯器:移除"
+msgid "Loading parent relations"
+msgstr "正在載入上層關係"
 
-msgid "Delete the currently edited relation"
-msgstr "刪除目前編輯的關係"
+msgid "Edit the currently selected relation"
+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 "Apply Changes"
+msgstr "套用變更"
 
-msgid "Yes, create a conflict and close"
-msgstr "是,建立衝突並關閉"
+msgid "Create new relation in layer ''{0}''"
+msgstr "在圖層「{0}」中建立一個新的關係"
 
-msgid "Click to create a conflict and close this relation editor"
-msgstr "點選以建立衝突項目並關閉這個關係編輯器"
+msgid "Edit new relation in layer ''{0}''"
+msgstr "編輯圖層「{0}」中的新關係"
 
-msgid "No, continue editing"
-msgstr "否,繼續編輯"
+msgid "Edit relation #{0} in layer ''{1}''"
+msgstr "編輯圖層「{1}」的關係 #{0}"
 
-msgid "Click to return to the relation editor and to resume relation editing"
-msgstr "點選以返回關係編輯器並繼續關係的編輯"
+msgid "Load relation"
+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>"
+"Add all objects selected in the current dataset after the last selected "
+"member"
+msgstr "將目前資料組合中所有物件加入到最後一個選取的成員之後"
 
 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>"
+"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 "Apply the current updates"
 msgstr "套用目前的更新"
 
-msgid "Apply the updates and close the dialog"
-msgstr "套用更新並關閉此對話盒"
-
 msgid "Cancel the updates and close the dialog"
 msgstr "取消更新並關閉此對話盒"
 
@@ -7420,6 +7509,9 @@ msgstr ""
 msgid "Cancel, continue editing"
 msgstr "否,繼續編輯"
 
+msgid "Click to return to the relation editor and to resume relation editing"
+msgstr "點選以返回關係編輯器並繼續關係的編輯"
+
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
@@ -7428,8 +7520,11 @@ msgstr ""
 msgid "Unsaved changes"
 msgstr "未儲存的變更"
 
-msgid "Add an empty tag"
-msgstr "加入空的標籤"
+msgid "Delete the currently edited relation"
+msgstr "刪除目前編輯的關係"
+
+msgid "Relation Editor: Download Members"
+msgstr "關係編輯器:下載成員"
 
 msgid "Download all incomplete members"
 msgstr "下載所有未完成的成員"
@@ -7437,101 +7532,154 @@ msgstr "下載所有未完成的成員"
 msgid "Download Members"
 msgstr "下載成員"
 
-msgid "Relation Editor: Download Members"
-msgstr "關係編輯器:下載成員"
-
 msgid "Download selected incomplete members"
 msgstr "下載選取的未完成成員"
 
-msgid "Sets a role for the selected members"
-msgstr "為選取的成員設定角色"
-
-msgid "Apply Role"
-msgstr "套用角色"
-
-msgid "You are setting an empty role on {0} object."
-msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] "您在 {0} 個物件中設定了空的角色。"
-
-msgid "This is equal to deleting the roles of these objects."
-msgstr "這樣等於刪除這些物件的角色。"
+msgid "Edit the relation the currently selected relation member refers to"
+msgstr "編輯目前選取關係成員所參照的關係"
 
-msgid "Do you really want to apply the new role?"
-msgstr "您確定要套用新的角色嗎?"
+msgid "Relation Editor: Move Down"
+msgstr "關係編輯器:下移"
 
-msgid "Yes, apply it"
-msgstr "是,套用它"
+msgid "Move the currently selected members down"
+msgstr "將目前選取的成員下移"
 
-msgid "No, do not apply"
-msgstr "否,不套用"
+msgid "Relation Editor: Move Up"
+msgstr "關係編輯器:上移"
 
-msgid "Confirm empty role"
-msgstr "確認空白角色"
+msgid "Move the currently selected members up"
+msgstr "將目前選取的成員上移"
 
-msgid "Edit the relation the currently selected relation member refers to"
-msgstr "編輯目前選取關係成員所參照的關係"
+msgid "Apply the updates and close the dialog"
+msgstr "套用更新並關閉此對話盒"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
 "current layer"
 msgstr "不能加入來自貼上緩衝區的成員,因為它們不包含在目前的圖層裡"
 
-msgid "Select previous Gap"
+msgid "Relation Editor: Refresh"
 msgstr ""
 
-msgid "Select the previous relation member which gives rise to a gap"
+msgid "Refresh relation from data layer"
 msgstr ""
 
-msgid "Select next Gap"
+msgid "Refresh"
+msgstr "重新整理"
+
+msgid "Yes, discard changes and reload"
 msgstr ""
 
-msgid "Select the next relation member which gives rise to a gap"
+msgid "Click to discard the changes and reload data from layer"
 msgstr ""
 
-msgid "Zoom to Gap"
+msgid ""
+"<html>You have unsaved changes in this editor window.<br><br>Do you want to "
+"discard these changes and reload data from layer?</html>"
 msgstr ""
 
-msgid "Zoom to the gap in the way sequence"
+msgid "Click to close window"
 msgstr ""
 
-msgid "Refers to"
-msgstr "參照到"
+msgid "No, continue editing"
+msgstr "否,繼續編輯"
 
-msgid "Download referring relations"
-msgstr "下載參照的關係"
+msgid ""
+"<html>Relation has been deleted outside editor.<br><br>Do you want to close "
+"this window?</html>"
+msgstr ""
 
-msgid "There were {0} conflicts during import."
-msgstr "匯入時有 {0} 個衝突。"
+msgid "Deleted relation"
+msgstr ""
 
-msgid "including immediate children of parent relations"
-msgstr "包含父關係的直接子項"
+msgid "Relation Editor: Remove"
+msgstr "關係編輯器:移除"
 
-msgid "Load parent relations"
-msgstr "載入上層關係"
+msgid "Remove the currently selected members from this relation"
+msgstr "將目前選取的成員從這個關係中移除"
 
-msgid "Reload"
-msgstr "重新載入"
+msgid "Remove all members referring to one of the selected objects"
+msgstr "移除所有參照到選取物件之一的所有成員"
 
-msgid "Loading parent relations"
-msgstr "正在載入上層關係"
+msgid "Reverse the order of the relation members"
+msgstr "反轉關係成員的順序"
 
-msgid "Edit the currently selected relation"
-msgstr "編輯目前選取的關係"
+msgid "Reverse"
+msgstr "反轉"
 
-msgid "Apply Changes"
-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 "Create new relation in layer ''{0}''"
-msgstr "在圖層「{0}」中建立一個新的關係"
+msgid "Yes, create a conflict and close"
+msgstr "是,建立衝突並關閉"
 
-msgid "Edit new relation in layer ''{0}''"
-msgstr "編輯圖層「{0}」中的新關係"
+msgid "Click to create a conflict and close this relation editor"
+msgstr "點選以建立衝突項目並關閉這個關係編輯器"
 
-msgid "Edit relation #{0} in layer ''{1}''"
-msgstr "編輯圖層「{1}」的關係 #{0}"
+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 "Load relation"
-msgstr "載入關係"
+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 "Select objects for selected relation members"
+msgstr "選擇已選取關係成員中的物件"
+
+msgid ""
+"Select relation members which refer to objects in the current selection"
+msgstr "選取參照到目前選擇區域的關係成員"
+
+msgid ""
+"Select relation members which refer to {0} objects in the current selection"
+msgstr "在目前的選擇區域中選擇了參照到 {0} 的關係成員"
+
+msgid "Sets a role for the selected members"
+msgstr "為選取的成員設定角色"
+
+msgid "Apply Role"
+msgstr "套用角色"
+
+msgid "You are setting an empty role on {0} object."
+msgid_plural "You are setting an empty role on {0} objects."
+msgstr[0] "您在 {0} 個物件中設定了空的角色。"
+
+msgid "This is equal to deleting the roles of these objects."
+msgstr "這樣等於刪除這些物件的角色。"
+
+msgid "Do you really want to apply the new role?"
+msgstr "您確定要套用新的角色嗎?"
+
+msgid "Yes, apply it"
+msgstr "是,套用它"
+
+msgid "No, do not apply"
+msgstr "否,不套用"
+
+msgid "Confirm empty role"
+msgstr "確認空白角色"
+
+msgid "Relation Editor: Sort"
+msgstr "關係編輯器:排序"
+
+msgid "Sort the relation members"
+msgstr "排序關係成員"
+
+msgid "Sort below"
+msgstr ""
+
+msgid "Sort the selected relation members and all members below"
+msgstr ""
 
 msgid "way is connected"
 msgstr "路徑已連接"
@@ -7923,6 +8071,11 @@ msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr "<html>版本 <strong>{0}</strong> 建立於 <strong>{1}</strong></html>"
 
+msgid "This changeset has {0} comment"
+msgid_plural "This changeset has {0} comments"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Changeset"
 msgstr ""
 
@@ -8034,10 +8187,14 @@ msgid "Upload"
 msgstr "上傳"
 
 msgid ""
-"<html>Select which actions to perform for this layer, if you click the "
-"leftmost button.<br/>Check \"upload\" to upload the changes to the OSM "
-"server.<br/>Check \"Save\" to save the layer to the file specified on the "
-"left.</html>"
+"Select which actions to perform for this layer, if you click the leftmost "
+"button."
+msgstr ""
+
+msgid "Check \"Upload\" to upload the changes to the OSM server."
+msgstr ""
+
+msgid "Check \"Save\" to save the layer to the file specified on the left."
 msgstr ""
 
 msgid "Provide a brief comment for the changes you are uploading:"
@@ -8219,9 +8376,6 @@ msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
 
-msgid "Download objects"
-msgstr "下載物件.."
-
 msgid "Initializing nodes to download ..."
 msgstr ""
 
@@ -8734,8 +8888,8 @@ msgid "{0} object to delete:"
 msgid_plural "{0} objects to delete:"
 msgstr[0] "{0} 個物件要刪除:"
 
-msgid "Show Tile Info"
-msgstr "顯示拼貼資訊"
+msgid "Show tile info"
+msgstr ""
 
 msgid "Tile Info"
 msgstr ""
@@ -8743,17 +8897,23 @@ msgstr ""
 msgid "Metadata "
 msgstr ""
 
-msgid "Auto Zoom"
-msgstr "自動縮放"
+msgid "Load tile"
+msgstr ""
+
+msgid "Auto zoom"
+msgstr ""
 
 msgid "Auto load tiles"
 msgstr "自動載入拼貼"
 
-msgid "Load All Tiles"
-msgstr "載入所有拼貼"
+msgid "Show errors"
+msgstr ""
+
+msgid "Load all tiles"
+msgstr ""
 
-msgid "Load All Error Tiles"
-msgstr "載入所有錯誤的拼貼"
+msgid "Load all error tiles"
+msgstr ""
 
 msgid "Zoom to native resolution"
 msgstr ""
@@ -8761,26 +8921,17 @@ msgstr ""
 msgid "Change resolution"
 msgstr "改變解析度"
 
-msgid "Failed to create tile source"
-msgstr ""
-
-msgid "Show Errors"
-msgstr "顯示錯誤"
-
-msgid "Load Tile"
-msgstr "載入拼貼"
-
 msgid "Increase zoom"
 msgstr "增加縮放"
 
 msgid "Decrease zoom"
 msgstr "減少縮放"
 
-msgid "Snap to tile size"
-msgstr "貼緊拼貼大小"
+msgid "Flush tile cache"
+msgstr ""
 
-msgid "Flush Tile Cache"
-msgstr "清除拼貼快取"
+msgid "Failed to create tile source"
+msgstr ""
 
 msgid "zoom in to load any tiles"
 msgstr "拉近以讀取任何拼貼"
@@ -9199,6 +9350,9 @@ msgstr ""
 "在分析補償時發生錯誤。\n"
 "預期的格式:{0}"
 
+msgid "Geotagged Images"
+msgstr "有 Geotag 的圖片"
+
 msgid "Extracting GPS locations from EXIF"
 msgstr "從 EXIF 中解出 GPS 位置"
 
@@ -9223,9 +9377,6 @@ msgstr "從目錄 {0} 取得檔案時發生錯誤\n"
 msgid "One of the selected files was null"
 msgstr "選取的檔案中有一個是 null"
 
-msgid "Geotagged Images"
-msgstr "有 Geotag 的圖片"
-
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
 msgstr[0] "已載入 {0} 張圖片。"
@@ -9577,9 +9728,7 @@ msgstr[1] ""
 msgid "Failed to parse Mappaint styles from ''{0}''. Error was: {1}"
 msgstr ""
 
-msgid ""
-"Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
-"''{2}'' instead."
+msgid "Failed to locate image ''{0}''"
 msgstr ""
 
 msgid "Illegal dash pattern, values must be positive"
@@ -9624,6 +9773,12 @@ msgstr "存取記號 URL:"
 msgid "Authorize URL:"
 msgstr "驗證 URL:"
 
+msgid "OSM login URL:"
+msgstr ""
+
+msgid "OSM logout URL:"
+msgstr ""
+
 msgid "Click to reset the OAuth settings to default values"
 msgstr "按這裡將 OAuth 設定值重設為預設值"
 
@@ -9684,11 +9839,6 @@ msgstr "使用者名稱: "
 msgid "Password: "
 msgstr "密碼: "
 
-msgid ""
-"<strong>Warning:</strong> JOSM does login <strong>once</strong> using a "
-"secure connection."
-msgstr "<strong>警告:</strong> JOSM 會使用安全連線登入<strong>一次</strong>。"
-
 msgid "Granted rights"
 msgstr "取得權利"
 
@@ -9813,6 +9963,12 @@ msgstr ""
 msgid "Please select an authorization procedure: "
 msgstr "請選擇一種授權程序: "
 
+msgid ""
+"<strong>Warning:</strong> Since you are using not the default OSM API, make "
+"sure to set an OAuth consumer key and secret in the <i>Advanced OAuth "
+"parameters</i>."
+msgstr ""
+
 msgid "Get an Access Token for ''{0}''"
 msgstr "取得「{0}」的存取記號"
 
@@ -10186,6 +10342,15 @@ msgstr "註冊的工具列動作 {0} 被覆蓋:{1} 得到 {2}"
 msgid "Toolbar: {0}"
 msgstr ""
 
+msgid "add entry"
+msgstr "加入項目"
+
+msgid "Remove the selected entry"
+msgstr ""
+
+msgid "Key: {0}"
+msgstr "設定鍵:{0}"
+
 msgid "Advanced Preferences"
 msgstr "進階的偏好設定"
 
@@ -10267,18 +10432,9 @@ msgstr ""
 msgid "Change list setting"
 msgstr ""
 
-msgid "Key: {0}"
-msgstr "設定鍵:{0}"
-
 msgid "Change list of lists setting"
 msgstr ""
 
-msgid "add entry"
-msgstr "加入項目"
-
-msgid "Remove the selected entry"
-msgstr ""
-
 msgid "Change list of maps setting"
 msgstr ""
 
@@ -10930,9 +11086,6 @@ msgstr "複製選取的預設值"
 msgid "Please select at least one row to copy."
 msgstr "請選擇至少一列來複製。"
 
-msgid "reload defaults"
-msgstr "重新載入預設值"
-
 msgid "Menu Name"
 msgstr "選單名稱"
 
@@ -11216,6 +11369,9 @@ msgid_plural ""
 "Downloading the following {0} plugins has <strong>failed</strong>:"
 msgstr[0] "下載以下 {0} 外掛程式<strong>失敗</strong>:"
 
+msgid "<br>Error message(untranslated): {0}"
+msgstr "<br>錯誤訊息 (未翻譯):{0}"
+
 msgid "Please restart JOSM to activate the downloaded plugins."
 msgstr "請重新啟動 JOSM 讓下載的外掛程式生效。"
 
@@ -11850,12 +12006,6 @@ msgstr ""
 msgid "Checks for wrong numeric values"
 msgstr ""
 
-msgid "Power"
-msgstr "電力"
-
-msgid "Checks for errors on power infrastructures"
-msgstr ""
-
 msgid "Religion"
 msgstr "宗教"
 
@@ -11944,6 +12094,9 @@ msgstr "使用預設組合「{0}」"
 msgid "Elements of type {0} are supported."
 msgstr "類型 {0} 的元件已支援。"
 
+msgid "This preset also sets: {0}"
+msgstr ""
+
 msgid "Edit also …"
 msgstr "同時編輯…"
 
@@ -12013,6 +12166,9 @@ msgstr "搜尋預設組合"
 msgid "Presets"
 msgstr "預設組合"
 
+msgid "Search for objects by preset..."
+msgstr ""
+
 msgid "Search for objects by preset"
 msgstr "依預設組合搜尋物件"
 
@@ -12058,6 +12214,9 @@ msgid ""
 msgstr ""
 "損壞的標籤預先設定 \"{0}-{1}\" - 在 ''short_descriptions'' 中的項目數量必須與 ''values'' 中的相同"
 
+msgid "This corresponds to the key ''{0}''"
+msgstr ""
+
 msgid "More information about this feature"
 msgstr "更多關於這個功能的資訊"
 
@@ -12146,16 +12305,30 @@ msgstr "目前的數值不是有效的 OSM ID。請輸入大於 0 的整數值"
 msgid "false: the property is explicitly switched off"
 msgstr "false:該屬性已經被確實關上了"
 
+msgid "false: the property ''{0}'' is explicitly switched off"
+msgstr ""
+
 msgid "true: the property is explicitly switched on"
 msgstr "true:該屬性已經被確實開啟了"
 
-msgid ""
+msgid "true: the property ''{0}'' is explicitly switched on"
+msgstr ""
+
+msgid ""
 "partial: different selected objects have different values, do not change"
 msgstr "部分:不同選取的物件有不同的數值,不要改變"
 
+msgid ""
+"partial: different selected objects have different values for ''{0}'', do "
+"not change"
+msgstr ""
+
 msgid "unset: do not set this property on the selected objects"
 msgstr "取消設定:不要在選取的物件上設定這個屬性"
 
+msgid "unset: do not set the property ''{0}'' on the selected objects"
+msgstr ""
+
 msgid "Cut"
 msgstr ""
 
@@ -12636,6 +12809,9 @@ msgstr "無法以 OAuth 驗證標頭簽署 HTTP 連線"
 msgid "Unexpected value for preference ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "OSM Server Files"
+msgstr "OSM 伺服器檔案"
+
 msgid "<html>An error occurred while saving.<br>Error is:<br>{0}</html>"
 msgstr "<html>在儲存時發生錯誤。<br>錯誤為:<br>{0}</html>"
 
@@ -12650,9 +12826,6 @@ msgstr "OSM 伺服器檔案(以 gzip 壓縮)"
 msgid "Parsing OSM history data ..."
 msgstr "正在分析 OSM 歷史紀錄資料 ..."
 
-msgid "OSM Server Files"
-msgstr "OSM 伺服器檔案"
-
 msgid "Invalid dataset"
 msgstr ""
 
@@ -12843,9 +13016,6 @@ msgstr "正在上傳資料 ..."
 msgid "Unexpected id 0 for osm primitive found"
 msgstr "發現未預期的 id 0 osm 原型"
 
-msgid "OSM Server Files zip compressed"
-msgstr ""
-
 msgid "Downloading data..."
 msgstr ""
 
@@ -13017,21 +13187,28 @@ msgid ""
 "web sites to detect a running JOSM."
 msgstr "遠端控制已要求回報通訊協定版本。這會讓網站能偵測執行中的 JOSM。"
 
-msgid ""
-"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
-"0.1"
+msgid "local file"
+msgstr "本地檔案"
+
+msgid "include"
+msgstr ""
+
+msgid "Layer contains unsaved data - save to file."
+msgstr "圖層包含未儲存的資料 - 儲存為檔案。"
+
+msgid "Layer does not contain unsaved data."
 msgstr ""
 
 msgid "Data:"
 msgstr "資料:"
 
-msgid "local file"
-msgstr "本地檔案"
+msgid "Link to a OSM data file on your local disk."
+msgstr "連結到您本地磁碟的 OSM 資料檔案。"
 
-msgid "Link to a GPX file on your local disk."
-msgstr ""
+msgid "Include OSM data in the .joz session file."
+msgstr "在 .joz 作業階段檔案中包含 OSM 資料。"
 
-msgid "include"
+msgid "Link to a GPX data file on your local disk."
 msgstr ""
 
 msgid "Include GPX data in the .joz session file."
@@ -13043,6 +13220,14 @@ msgstr ""
 msgid "GPX data will be included in the session file."
 msgstr ""
 
+msgid "OSM data will be included in the session file."
+msgstr "OSM 資料會包含於作業階段檔案中。"
+
+msgid ""
+"Version ''{0}'' of meta data for geoimage layer is not supported. Expected: "
+"0.1"
+msgstr ""
+
 msgid ""
 "Version ''{0}'' of meta data for gpx track layer is not supported. Expected: "
 "0.1"
@@ -13060,21 +13245,10 @@ msgid ""
 "Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Layer contains unsaved data - save to file."
-msgstr "圖層包含未儲存的資料 - 儲存為檔案。"
-
-msgid "Layer does not contain unsaved data."
+msgid ""
+"Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1"
 msgstr ""
 
-msgid "Link to a OSM data file on your local disk."
-msgstr "連結到您本地磁碟的 OSM 資料檔案。"
-
-msgid "Include OSM data in the .joz session file."
-msgstr "在 .joz 作業階段檔案中包含 OSM 資料。"
-
-msgid "OSM data will be included in the session file."
-msgstr "OSM 資料會包含於作業階段檔案中。"
-
 msgid ""
 "Version ''{0}'' of meta data for osm data layer is not supported. Expected: "
 "0.1"
@@ -13762,9 +13936,6 @@ msgid ""
 "the OSM community."
 msgstr "您嘗試下載的區域太大或是您的要求太大。<br>可以要求小一點的區域或是使用 OSM 社群提供的匯出檔案。"
 
-msgid "<br>Error message(untranslated): {0}"
-msgstr "<br>錯誤訊息 (未翻譯):{0}"
-
 msgid ""
 "The OSM server ''{0}'' does not know about an object<br>you tried to read, "
 "update, or delete. Either the respective object<br>does not exist on the "
@@ -13800,6 +13971,9 @@ msgstr ""
 msgid "Too many redirects to the download URL detected. Aborting."
 msgstr ""
 
+msgid "Fetching content..."
+msgstr ""
+
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "找不到地區設定 {0} 的翻譯檔。回復為 {1}。"
 
@@ -13808,9 +13982,6 @@ msgid ""
 "problem. JOSM will stop working."
 msgstr "嚴重的錯誤:無法定位圖片「{0}」。這是嚴重的組態問題。JOSM 會停止運作。"
 
-msgid "Failed to locate image ''{0}''"
-msgstr ""
-
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr ""
 
@@ -13944,6 +14115,9 @@ msgstr ""
 msgid "Unable to delete file {0}"
 msgstr ""
 
+msgid "Unable to create directory {0}"
+msgstr ""
+
 msgid "ms"
 msgstr ""
 
@@ -14252,9 +14426,6 @@ msgstr "開啟選取的檔案"
 msgid "Open selected file."
 msgstr "開啟選取的檔案。"
 
-msgid "Refresh"
-msgstr "重新整理"
-
 msgid "Rename File"
 msgstr "更改檔案名稱"
 
@@ -14348,6 +14519,9 @@ msgstr ""
 msgid "Public Transport (ÖPNV)"
 msgstr "大眾運輸 (ÖPNV)"
 
+msgid "Hike & Bike"
+msgstr ""
+
 msgid "OpenStreetMap (German Style)"
 msgstr ""
 
@@ -14414,6 +14588,9 @@ msgstr ""
 msgid "OSM Inspector: Boundaries (EU)"
 msgstr ""
 
+msgid "SIG Instituto Geográfico Nacional (WMTS)"
+msgstr ""
+
 msgid "AGRI black-and-white 2.5m"
 msgstr ""
 
@@ -14510,13 +14687,16 @@ msgstr ""
 msgid "SPW(allonie) PICC numerical imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2012 aerial imagery"
+msgid "SPW(allonie) 2015 aerial imagery"
+msgstr ""
+
+msgid "SPW(allonie) 2012-2013 aerial imagery"
 msgstr ""
 
-msgid "SPW(allonie) 2009 aerial imagery"
+msgid "SPW(allonie) 2009-2010 aerial imagery"
 msgstr ""
 
-msgid "TEC bus lines"
+msgid "TEC bus lines (2014)"
 msgstr ""
 
 msgid "IBGE Mapa de Setores Urbanos"
@@ -14639,6 +14819,9 @@ msgstr ""
 msgid "Route 500™©®"
 msgstr ""
 
+msgid "Toulouse - Orthophotoplan 2015"
+msgstr ""
+
 msgid "Toulouse - Orthophotoplan 2013"
 msgstr ""
 
@@ -14659,9 +14842,6 @@ msgid ""
 "- 1 m"
 msgstr ""
 
-msgid "Hike & Bike"
-msgstr ""
-
 msgid "OpenStreetMap (Sorbian Language)"
 msgstr ""
 
@@ -14732,6 +14912,15 @@ msgstr ""
 msgid "Drone Imagery Canaan(Haiti) November 2015"
 msgstr ""
 
+msgid "FÖMI ortophoto 2000"
+msgstr ""
+
+msgid "Interspect Budapest ortophoto 2014"
+msgstr ""
+
+msgid "Five districts of Budapest: III, IV, XIII, XIV, XV"
+msgstr ""
+
 msgid "Ireland British War Office 1:25k GSGS 3906"
 msgstr ""
 
@@ -14765,10 +14954,13 @@ msgstr ""
 msgid "OSMIE Dail Election Areas"
 msgstr ""
 
+msgid "OSMIE T.ie Land not in Counties"
+msgstr ""
+
 msgid "Lodi - Italy"
 msgstr ""
 
-msgid "Lombardia - Italy (CTR)"
+msgid "Lombardia - Italy (CTR DBT)"
 msgstr ""
 
 msgid "Sicily - Italy"
@@ -15464,6 +15656,9 @@ msgstr ""
 msgid "Create a grid of ways."
 msgstr "建立路徑的格線。"
 
+msgid "Customizing of public transport stops."
+msgstr ""
+
 msgid ""
 "Creating and handling address nodes and buildings within Czech Republic."
 msgstr "建立並處理捷克共和國中的地址節點與建築。"
@@ -16121,6 +16316,105 @@ msgstr ""
 msgid "Brand"
 msgstr "品牌"
 
+msgid "Cuisine"
+msgstr "烹調風格"
+
+msgid "italian"
+msgstr "義式料理"
+
+msgid "chinese"
+msgstr "中式料理"
+
+msgid "pizza"
+msgstr "披薩"
+
+msgid "burger"
+msgstr "漢堡"
+
+msgid "greek"
+msgstr "希臘料理"
+
+msgid "german"
+msgstr "德式料理"
+
+msgid "indian"
+msgstr "印度料理"
+
+msgid "regional"
+msgstr "地方料理"
+
+msgid "kebab"
+msgstr "烤肉串"
+
+msgid "turkish"
+msgstr "土耳其料理"
+
+msgid "asian"
+msgstr "亞洲料理"
+
+msgid "thai"
+msgstr "泰式料理"
+
+msgid "mexican"
+msgstr "墨西哥料理"
+
+msgid "japanese"
+msgstr "日本料理"
+
+msgid "french"
+msgstr "法式料理"
+
+msgid "sandwich"
+msgstr "三明治"
+
+msgid "coffee_shop"
+msgstr ""
+
+msgid "sushi"
+msgstr "壽司"
+
+msgid "steak_house"
+msgstr ""
+
+msgid "fish_and_chips"
+msgstr ""
+
+msgid "chicken"
+msgstr ""
+
+msgid "american"
+msgstr ""
+
+msgid "ice_cream"
+msgstr "冰淇淋"
+
+msgid "international"
+msgstr ""
+
+msgid "seafood"
+msgstr ""
+
+msgid "spanish"
+msgstr ""
+
+msgid "vietnamese"
+msgstr ""
+
+msgid "fish"
+msgstr ""
+
+msgid "noodle"
+msgstr ""
+
+msgid "barbecue"
+msgstr ""
+
+msgid "vegetarian"
+msgstr ""
+
+msgid "korean"
+msgstr ""
+
 msgid "Internet access"
 msgstr "附設網際網路"
 
@@ -16688,7 +16982,10 @@ msgstr "總重限制(噸)"
 msgid "Toll"
 msgstr "通行費"
 
-msgid "Is the water body intermittent (disappears seasonally)?"
+msgid "Intermittent"
+msgstr ""
+
+msgid "Seasonal"
 msgstr ""
 
 msgid "In the tidal range"
@@ -17442,25 +17739,29 @@ msgstr ""
 msgid "Traffic Calming"
 msgstr "道路減速設施"
 
-msgid "bump"
+msgid "Bump"
+msgstr ""
+
+msgid "Chicane"
 msgstr ""
 
-msgid "chicane"
+msgid "Choker"
 msgstr ""
 
-msgid "choker"
+msgid "Cushion"
 msgstr ""
 
-msgid "cushion"
+msgid "Hump"
 msgstr ""
 
-msgid "hump"
+msgctxt "traffic_calming"
+msgid "Island"
 msgstr ""
 
-msgid "rumble_strip"
+msgid "Rumble strip"
 msgstr ""
 
-msgid "table"
+msgid "Table"
 msgstr ""
 
 msgid "Passing Place"
@@ -17610,6 +17911,9 @@ msgstr "城牆"
 msgid "Retaining Wall"
 msgstr "擋土牆"
 
+msgid "Jersey Barrier"
+msgstr ""
+
 msgctxt "Barrier"
 msgid "Ditch"
 msgstr ""
@@ -17780,6 +18084,9 @@ msgstr ""
 msgid "Salt Water"
 msgstr ""
 
+msgid "Is the water body intermittent (disappears seasonally)?"
+msgstr ""
+
 msgid "Coastline"
 msgstr "海岸線"
 
@@ -17842,14 +18149,6 @@ msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
 
-msgid "Cliff"
-msgstr "斷崖"
-
-msgid ""
-"A steep rock face exposure, with a significant vertical, or near vertical "
-"(leave the lower face to the right of the way)."
-msgstr ""
-
 msgid "Shipping"
 msgstr "船運"
 
@@ -18778,66 +19077,6 @@ msgstr "食物+飲料"
 msgid "Restaurant"
 msgstr "餐廳"
 
-msgid "Cuisine"
-msgstr "烹調風格"
-
-msgid "italian"
-msgstr "義式料理"
-
-msgid "chinese"
-msgstr "中式料理"
-
-msgid "pizza"
-msgstr "披薩"
-
-msgid "burger"
-msgstr "漢堡"
-
-msgid "greek"
-msgstr "希臘料理"
-
-msgid "german"
-msgstr "德式料理"
-
-msgid "indian"
-msgstr "印度料理"
-
-msgid "regional"
-msgstr "地方料理"
-
-msgid "kebab"
-msgstr "烤肉串"
-
-msgid "turkish"
-msgstr "土耳其料理"
-
-msgid "asian"
-msgstr "亞洲料理"
-
-msgid "thai"
-msgstr "泰式料理"
-
-msgid "mexican"
-msgstr "墨西哥料理"
-
-msgid "japanese"
-msgstr "日本料理"
-
-msgid "french"
-msgstr "法式料理"
-
-msgid "sandwich"
-msgstr "三明治"
-
-msgid "coffee_shop"
-msgstr ""
-
-msgid "sushi"
-msgstr "壽司"
-
-msgid "steak_house"
-msgstr ""
-
 msgid "Microbrewery"
 msgstr ""
 
@@ -18850,20 +19089,14 @@ msgstr ""
 msgid "Fast Food"
 msgstr "速食"
 
-msgid "fish_and_chips"
-msgstr ""
-
-msgid "chicken"
-msgstr ""
-
 msgid "Food Court"
 msgstr "美食街"
 
 msgid "Cafe"
 msgstr "咖啡"
 
-msgid "ice_cream"
-msgstr "冰淇淋"
+msgid "Ice cream"
+msgstr ""
 
 msgid "Pub"
 msgstr "酒店"
@@ -19040,6 +19273,12 @@ msgstr ""
 msgid "Water Park"
 msgstr "水上樂園"
 
+msgid "Swimming Pool"
+msgstr ""
+
+msgid "Used for the water area only."
+msgstr ""
+
 msgid "Sauna"
 msgstr "三溫暖"
 
@@ -19074,9 +19313,6 @@ msgstr ""
 msgid "Fishing"
 msgstr "釣魚"
 
-msgid "Private Swimming Pool"
-msgstr "私人游泳池"
-
 msgid "Night Club"
 msgstr "夜店"
 
@@ -19119,12 +19355,18 @@ msgstr ""
 msgid "Artist Name"
 msgstr ""
 
-msgid "Recording Studio"
-msgstr "錄音室"
+msgid "Studio"
+msgstr ""
 
 msgid "audio"
 msgstr "音樂"
 
+msgid "radio"
+msgstr ""
+
+msgid "television"
+msgstr ""
+
 msgid "video"
 msgstr "影片"
 
@@ -19228,6 +19470,10 @@ msgctxt "christian"
 msgid "seventh_day_adventist"
 msgstr ""
 
+msgctxt "christian"
+msgid "spiritist"
+msgstr ""
+
 msgid "Mosque"
 msgstr ""
 
@@ -19387,6 +19633,125 @@ msgstr "(使用國際碼,像是 +12-345-67890)"
 msgid "Veterinary"
 msgstr "獸醫"
 
+msgid "Emergency"
+msgstr ""
+
+msgid "Ambulance Station"
+msgstr ""
+
+msgid "Automated Defibrillator"
+msgstr ""
+
+msgid "Located inside a building?"
+msgstr ""
+
+msgid "Last check date (YYYY-MM-DD)"
+msgstr ""
+
+msgid "Last check note"
+msgstr ""
+
+msgid "Fire Extinguisher"
+msgstr ""
+
+msgid "Indoor"
+msgstr ""
+
+msgid "Fire Hose"
+msgstr ""
+
+msgid "Fire Hydrant"
+msgstr "消防栓"
+
+msgctxt "pipeline"
+msgid "underground"
+msgstr "地下"
+
+msgctxt "pipeline"
+msgid "pillar"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "wall"
+msgstr ""
+
+msgctxt "pipeline"
+msgid "pond"
+msgstr ""
+
+msgid "Diameter (in mm)"
+msgstr ""
+
+msgid "Hydrant Position"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "lane"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "parking_lot"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "sidewalk"
+msgstr ""
+
+msgctxt "hydrant position"
+msgid "green"
+msgstr ""
+
+msgid "Pressure (in bar)"
+msgstr ""
+
+msgid "suction"
+msgstr ""
+
+msgid "Count"
+msgstr ""
+
+msgid "Water Tank"
+msgstr ""
+
+msgid "Volume (in liters)"
+msgstr ""
+
+msgid "Assembly Point"
+msgstr ""
+
+msgid "Emergency Phone"
+msgstr "緊急電話"
+
+msgid "Siren"
+msgstr ""
+
+msgid "pneumatic"
+msgstr ""
+
+msgid "electronic"
+msgstr ""
+
+msgid "mechanical"
+msgstr ""
+
+msgid "Purpose"
+msgstr ""
+
+msgid "tornado"
+msgstr ""
+
+msgid "fire"
+msgstr ""
+
+msgid "air_raid"
+msgstr ""
+
+msgid "civil_defense"
+msgstr ""
+
+msgid "Range (in meters)"
+msgstr ""
+
 msgid "Social Facility"
 msgstr ""
 
@@ -19499,24 +19864,9 @@ msgstr ""
 msgid "Telephone cards"
 msgstr "電話卡"
 
-msgid "Emergency Phone"
-msgstr "緊急電話"
-
 msgid "Internet Access"
 msgstr "網路存取點"
 
-msgid "Automated Defibrillator"
-msgstr ""
-
-msgid "Located inside a building?"
-msgstr ""
-
-msgid "Last check date (YYYY-MM-DD)"
-msgstr ""
-
-msgid "Last check note"
-msgstr ""
-
 msgid "Clock"
 msgstr "時鐘"
 
@@ -19679,63 +20029,14 @@ msgctxt "height"
 msgid "full"
 msgstr ""
 
+msgctxt "hunting stand"
 msgid "Hide"
-msgstr "隱藏"
-
-msgid "Lock"
-msgstr "鎖"
-
-msgid "Indoor"
-msgstr ""
-
-msgid "Fire Hydrant"
-msgstr "消防栓"
-
-msgctxt "pipeline"
-msgid "underground"
-msgstr "地下"
-
-msgctxt "pipeline"
-msgid "pillar"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "wall"
-msgstr ""
-
-msgctxt "pipeline"
-msgid "pond"
 msgstr ""
 
-msgid "Diameter (in mm)"
-msgstr ""
-
-msgid "Hydrant Position"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "lane"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "parking_lot"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "sidewalk"
-msgstr ""
-
-msgctxt "hydrant position"
-msgid "green"
-msgstr ""
-
-msgid "Pressure (in bar)"
-msgstr ""
-
-msgid "suction"
-msgstr ""
+msgid "Lock"
+msgstr "鎖"
 
-msgid "Count"
+msgid "Water Point"
 msgstr ""
 
 msgid "Compressed Air"
@@ -19789,9 +20090,62 @@ msgstr ""
 msgid "Racetrack"
 msgstr "跑道"
 
+msgid "Golf"
+msgstr "高爾夫"
+
 msgid "Golf Course"
 msgstr "高爾夫路線"
 
+msgctxt "golf"
+msgid "Tee"
+msgstr ""
+
+msgctxt "golf"
+msgid "Hole"
+msgstr ""
+
+msgid "Par"
+msgstr ""
+
+msgid "Handicap rating"
+msgstr ""
+
+msgctxt "golf"
+msgid "Pin"
+msgstr ""
+
+msgctxt "golf"
+msgid "Bunker"
+msgstr ""
+
+msgctxt "golf"
+msgid "Natural"
+msgstr ""
+
+msgctxt "golf"
+msgid "Frontal Water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Lateral water hazard"
+msgstr ""
+
+msgctxt "golf"
+msgid "Green"
+msgstr ""
+
+msgctxt "golf"
+msgid "Fairway"
+msgstr ""
+
+msgctxt "golf"
+msgid "Rough"
+msgstr ""
+
+msgctxt "golf"
+msgid "Driving range"
+msgstr ""
+
 msgid "Miniature Golf"
 msgstr "迷你高爾夫"
 
@@ -20016,9 +20370,6 @@ msgstr ""
 msgid "Billiards"
 msgstr ""
 
-msgid "Golf"
-msgstr "高爾夫"
-
 msgid "golf_course"
 msgstr "高爾夫路線"
 
@@ -20183,6 +20534,10 @@ msgid "gasometer"
 msgstr ""
 
 msgctxt "building"
+msgid "silo"
+msgstr ""
+
+msgctxt "building"
 msgid "cowshed"
 msgstr ""
 
@@ -20191,6 +20546,38 @@ msgid "construction"
 msgstr ""
 
 msgctxt "building"
+msgid "basilica"
+msgstr ""
+
+msgctxt "building"
+msgid "cathedral"
+msgstr ""
+
+msgctxt "building"
+msgid "chapel"
+msgstr ""
+
+msgctxt "building"
+msgid "church"
+msgstr ""
+
+msgctxt "building"
+msgid "temple"
+msgstr ""
+
+msgctxt "building"
+msgid "mosque"
+msgstr ""
+
+msgctxt "building"
+msgid "synagogue"
+msgstr ""
+
+msgctxt "building"
+msgid "transformer_tower"
+msgstr ""
+
+msgctxt "building"
 msgid "Levels"
 msgstr ""
 
@@ -20303,6 +20690,9 @@ msgstr "風車"
 msgid "Gasometer"
 msgstr "貯氣桶"
 
+msgid "Silo"
+msgstr ""
+
 msgid "Storage Tank"
 msgstr ""
 
@@ -20704,6 +21094,14 @@ msgstr ""
 msgid "hardened_aircraft_shelter"
 msgstr ""
 
+msgctxt "bunker"
+msgid "underground"
+msgstr ""
+
+msgctxt "bunker"
+msgid "overground"
+msgstr ""
+
 msgid "Historic"
 msgstr ""
 
@@ -20713,6 +21111,9 @@ msgstr "遺跡"
 msgid "Range"
 msgstr ""
 
+msgid "Power"
+msgstr "電力"
+
 msgid "Power Plant"
 msgstr ""
 
@@ -21144,11 +21545,14 @@ msgstr ""
 msgid "5 Mvar"
 msgstr ""
 
-msgid "Cable Distribution Cabinet"
+msgid "Power Street Cabinet"
 msgstr ""
 
-msgid "Power Tower"
-msgstr "電塔"
+msgid "Transformer Tower"
+msgstr ""
+
+msgid "Power Portal"
+msgstr ""
 
 msgid "Type of construction"
 msgstr ""
@@ -21169,6 +21573,24 @@ msgctxt "color"
 msgid "red/white"
 msgstr ""
 
+msgid "Portal design"
+msgstr ""
+
+msgctxt "power"
+msgid "portal"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_two-level"
+msgstr ""
+
+msgctxt "power"
+msgid "portal_three-level"
+msgstr ""
+
+msgid "Power Tower"
+msgstr "電塔"
+
 msgctxt "power"
 msgid "Tower type"
 msgstr ""
@@ -21292,18 +21714,6 @@ msgid "guyed_h-frame"
 msgstr ""
 
 msgctxt "power"
-msgid "portal"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_two-level"
-msgstr ""
-
-msgctxt "power"
-msgid "portal_three-level"
-msgstr ""
-
-msgctxt "power"
 msgid "guyed_v-frame"
 msgstr ""
 
@@ -21336,6 +21746,9 @@ msgstr ""
 msgid "Transformer Attributes:"
 msgstr ""
 
+msgid "Insulator"
+msgstr ""
+
 msgid "Power Line"
 msgstr "電線"
 
@@ -21593,6 +22006,9 @@ msgstr "傢俱類"
 msgid "Kitchen"
 msgstr "廚房"
 
+msgid "Houseware"
+msgstr ""
+
 msgid "Curtain"
 msgstr ""
 
@@ -21635,12 +22051,21 @@ msgstr ""
 msgid "Chemist"
 msgstr ""
 
-msgid "Hairdresser/Barber"
+msgid "Cosmetics"
+msgstr ""
+
+msgid "Perfumery"
 msgstr ""
 
 msgid "Beauty"
 msgstr ""
 
+msgid "Tobacco"
+msgstr ""
+
+msgid "Hairdresser/Barber"
+msgstr ""
+
 msgid "Tattoo"
 msgstr ""
 
@@ -21966,6 +22391,81 @@ msgctxt "office"
 msgid "Telecommunication"
 msgstr ""
 
+msgid "Craft"
+msgstr ""
+
+msgid "Carpenter"
+msgstr ""
+
+msgid "Shoemaker"
+msgstr ""
+
+msgid "Photographer"
+msgstr ""
+
+msgid "Metal construction"
+msgstr ""
+
+msgid "Electrician"
+msgstr ""
+
+msgid "Brewery"
+msgstr ""
+
+msgid "Plumber"
+msgstr ""
+
+msgid "Sawmill"
+msgstr ""
+
+msgid "Gardener"
+msgstr ""
+
+msgid "Winery"
+msgstr ""
+
+msgid "Hvac"
+msgstr ""
+
+msgid "Painter"
+msgstr ""
+
+msgid "Stonemason"
+msgstr ""
+
+msgid "Handicraft"
+msgstr ""
+
+msgid "Pottery"
+msgstr ""
+
+msgid "Key cutter"
+msgstr ""
+
+msgid "Caterer"
+msgstr ""
+
+msgid "Roofer"
+msgstr ""
+
+msgid "Beekeeper"
+msgstr ""
+
+msgid "Blacksmith"
+msgstr ""
+
+msgid "Locksmith"
+msgstr ""
+
+msgid "Window construction"
+msgstr ""
+
+msgid "Upholsterer"
+msgstr ""
+
+msgid "Tiler"
+msgstr ""
+
 msgid "Geography"
 msgstr "地理學"
 
@@ -22134,6 +22634,14 @@ msgstr ""
 msgid "A low area between hills."
 msgstr ""
 
+msgid "Cliff"
+msgstr "斷崖"
+
+msgid ""
+"A steep rock face exposure, with a significant vertical, or near vertical "
+"(leave the lower face to the right of the way)."
+msgstr ""
+
 msgid "Cave Entrance"
 msgstr "洞窟入口"
 
@@ -22334,6 +22842,51 @@ msgstr "青草地"
 msgid "Orchard"
 msgstr ""
 
+msgid "Trees"
+msgstr ""
+
+msgid "olive_trees"
+msgstr ""
+
+msgid "apple_trees"
+msgstr ""
+
+msgid "oil_palms"
+msgstr ""
+
+msgid "orange_trees"
+msgstr ""
+
+msgid "almond_trees"
+msgstr ""
+
+msgid "banana_plants"
+msgstr ""
+
+msgid "coconut_palms"
+msgstr ""
+
+msgid "hazel_plants"
+msgstr ""
+
+msgid "cherry_trees"
+msgstr ""
+
+msgid "persimmon_trees"
+msgstr ""
+
+msgid "walnut_trees"
+msgstr ""
+
+msgid "plum_trees"
+msgstr ""
+
+msgid "peach_trees"
+msgstr ""
+
+msgid "tea_plants"
+msgstr ""
+
 msgid "Vineyard"
 msgstr ""
 
@@ -23128,9 +23681,6 @@ msgstr ""
 msgid "Suspicious tag combination: {0} and {1}"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
-msgstr ""
-
 msgid "{0} is deprecated"
 msgstr "{0} 已經廢棄"
 
@@ -23152,7 +23702,7 @@ msgid ""
 "missing even without an additional tag."
 msgstr ""
 
-msgid "{0}={1} is deprecated. Please use instead a multipolygon."
+msgid "{0} is deprecated. Please use instead a multipolygon."
 msgstr ""
 
 msgid ""
@@ -23196,6 +23746,15 @@ msgstr ""
 msgid "{0} is inaccurate"
 msgstr ""
 
+msgid "{0} is deprecated for {1}"
+msgstr ""
+
+msgid "{0} is deprecated. Use the {1}: key prefix instead."
+msgstr ""
+
+msgid "questionable key (ending with a number): {0}"
+msgstr ""
+
 msgid "{0} on a node. Should be used on a way."
 msgstr ""
 
@@ -23211,6 +23770,9 @@ msgstr ""
 msgid "{0} on a way. Should be used in a relation"
 msgstr ""
 
+msgid "{0} together with {1} on a node. Remove {0}."
+msgstr ""
+
 msgid "{0} on a node"
 msgstr ""
 
@@ -23238,6 +23800,9 @@ msgstr ""
 msgid "node connects waterway and bridge"
 msgstr ""
 
+msgid "suspicious roundabout direction"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -23279,7 +23844,7 @@ msgstr ""
 msgid "layer should be between -5 and 5"
 msgstr ""
 
-msgid "level should be numbers with optional .5 increments"
+msgid "{0} should have numbers only with optional .5 increments"
 msgstr ""
 
 msgid ""
@@ -26777,7 +27342,7 @@ msgstr ""
 msgid "Traffic sign font at ''{0}'' has wrong format."
 msgstr ""
 
-msgid "Could not read font-file from ''{{0}}''."
+msgid "Could not read font-file from ''{0}''."
 msgstr ""
 
 msgid "Mapillary"
@@ -27090,6 +27655,9 @@ msgstr ""
 msgid "Login successful, return to JOSM."
 msgstr ""
 
+msgid "Supported image formats (JPG and PNG)"
+msgstr ""
+
 msgid "Downloading Mapillary images"
 msgstr ""
 
@@ -27105,6 +27673,18 @@ msgstr ""
 msgid "Uploading: {0}"
 msgstr ""
 
+msgid "The image key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The image key must not be null here!"
+msgstr ""
+
+msgid "The sequence key ''{0}'' is invalid!"
+msgstr ""
+
+msgid "The sequence key must not be null here!"
+msgstr ""
+
 msgid "Measured values"
 msgstr "測量的數值"
 
@@ -28446,6 +29026,12 @@ msgstr ""
 msgid "Code"
 msgstr "代碼"
 
+msgid "Can''t parse a time from this string."
+msgstr ""
+
+msgid "Invalid value"
+msgstr ""
+
 msgid "added"
 msgstr ""
 
@@ -28532,15 +29118,6 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-msgid "Enable"
-msgstr ""
-
-msgid "Can''t parse a time from this string."
-msgstr ""
-
-msgid "Invalid value"
-msgstr ""
-
 msgid "moved"
 msgstr ""
 
@@ -30541,6 +31118,9 @@ msgstr ""
 msgid "Internal error: number of nodes is {0}."
 msgstr ""
 
+msgid "Copy all tags of selected objects to paste buffer."
+msgstr ""
+
 msgid "Extract node"
 msgstr ""
 
@@ -31130,6 +31710,11 @@ msgstr[1] ""
 msgid "Add Wikidata for language ''{0}''"
 msgstr ""
 
+msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
+msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
+msgstr[0] ""
+msgstr[1] ""
+
 msgid "Add names from Wikipedia"
 msgstr "從維基百科加入名稱"
 
diff --git a/src/org/apache/commons/jcs/JCS.java b/src/org/apache/commons/jcs/JCS.java
deleted file mode 100644
index 696847d..0000000
--- a/src/org/apache/commons/jcs/JCS.java
+++ /dev/null
@@ -1,212 +0,0 @@
-package org.apache.commons.jcs;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.access.CacheAccess;
-import org.apache.commons.jcs.access.GroupCacheAccess;
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.control.CompositeCacheManager;
-import org.apache.commons.jcs.engine.control.group.GroupAttrName;
-
-import java.util.Properties;
-
-/**
- * Simple class for using JCS. To use JCS in your application, you can use the static methods of
- * this class to get access objects (instances of this class) for your cache regions. One CacheAccess
- * object should be created for each region you want to access. If you have several regions, then
- * get instances for each. For best performance the getInstance call should be made in an
- * initialization method.
- */
-public abstract class JCS
-{
-    /** cache.ccf alternative. */
-    private static String configFilename = null;
-
-    /** alternative configuration properties */
-    private static Properties configProps = null;
-
-    /** Cache manager use by the various forms of defineRegion and getAccess */
-    private static CompositeCacheManager cacheMgr;
-
-    /**
-     * Define a new cache region with the given name. In the oracle specification, these attributes
-     * are global and not region specific, regional overrides is a value add each region should be
-     * able to house both cache and element attribute sets. It is more efficient to define a cache
-     * in the props file and then strictly use the get access method. Use of the define region
-     * outside of an initialization block should be avoided.
-     * <p>
-     * @param name Name that will identify the region
-     * @return CacheAccess instance for the new region
-     * @throws CacheException
-     */
-    public static <K, V> CacheAccess<K, V> defineRegion( String name )
-        throws CacheException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( name );
-        return new CacheAccess<K, V>( cache );
-    }
-
-    /**
-     * Define a new cache region with the specified name and attributes.
-     * <p>
-     * @param name Name that will identify the region
-     * @param cattr CompositeCacheAttributes for the region
-     * @return CacheAccess instance for the new region
-     * @throws CacheException
-     */
-    public static <K, V> CacheAccess<K, V> defineRegion( String name, ICompositeCacheAttributes cattr )
-        throws CacheException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( name, cattr );
-        return new CacheAccess<K, V>( cache );
-    }
-
-    /**
-     * Define a new cache region with the specified name and attributes and return a CacheAccess to
-     * it.
-     * <p>
-     * @param name Name that will identify the region
-     * @param cattr CompositeCacheAttributes for the region
-     * @param attr Attributes for the region
-     * @return CacheAccess instance for the new region
-     * @throws CacheException
-     */
-    public static <K, V> CacheAccess<K, V> defineRegion( String name, ICompositeCacheAttributes cattr, IElementAttributes attr )
-        throws CacheException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( name, cattr, attr );
-        return new CacheAccess<K, V>( cache );
-    }
-
-    /**
-     * Set the filename that the cache manager will be initialized with. Only matters before the
-     * instance is initialized.
-     * <p>
-     * @param configFilename
-     */
-    public static void setConfigFilename( String configFilename )
-    {
-        JCS.configFilename = configFilename;
-    }
-
-    /**
-     * Set the properties that the cache manager will be initialized with. Only
-     * matters before the instance is initialized.
-     *
-     * @param configProps
-     */
-    public static void setConfigProperties( Properties configProps )
-    {
-        JCS.configProps = configProps;
-    }
-
-    /**
-     * Helper method which checks to make sure the cacheMgr class field is set, and if not requests
-     * an instance from CacheManagerFactory.
-     *
-     * @throws CacheException if the configuration cannot be loaded
-     */
-    private static CompositeCacheManager getCacheManager() throws CacheException
-    {
-        synchronized ( JCS.class )
-        {
-            if ( cacheMgr == null || !cacheMgr.isInitialized())
-            {
-                if ( configProps != null )
-                {
-                    cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
-                    cacheMgr.configure( configProps );
-                }
-                else if ( configFilename != null )
-                {
-                    cacheMgr = CompositeCacheManager.getUnconfiguredInstance();
-                    cacheMgr.configure( configFilename );
-                }
-                else
-                {
-                    cacheMgr = CompositeCacheManager.getInstance();
-                }
-            }
-
-            return cacheMgr;
-        }
-    }
-
-    /**
-     * Get a CacheAccess which accesses the provided region.
-     * <p>
-     * @param region Region that return CacheAccess will provide access to
-     * @return A CacheAccess which provides access to a given region.
-     * @throws CacheException
-     */
-    public static <K, V> CacheAccess<K, V> getInstance( String region )
-        throws CacheException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( region );
-        return new CacheAccess<K, V>( cache );
-    }
-
-    /**
-     * Get a CacheAccess which accesses the provided region.
-     * <p>
-     * @param region Region that return CacheAccess will provide access to
-     * @param icca CacheAttributes for region
-     * @return A CacheAccess which provides access to a given region.
-     * @throws CacheException
-     */
-    public static <K, V> CacheAccess<K, V> getInstance( String region, ICompositeCacheAttributes icca )
-        throws CacheException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( region, icca );
-        return new CacheAccess<K, V>( cache );
-    }
-
-    /**
-     * Get a GroupCacheAccess which accesses the provided region.
-     * <p>
-     * @param region Region that return GroupCacheAccess will provide access to
-     * @return A GroupCacheAccess which provides access to a given region.
-     * @throws CacheException
-     */
-    public static <K, V> GroupCacheAccess<K, V> getGroupCacheInstance( String region )
-        throws CacheException
-    {
-        CompositeCache<GroupAttrName<K>, V> cache = getCacheManager().getCache( region );
-        return new GroupCacheAccess<K, V>( cache );
-    }
-
-    /**
-     * Get a GroupCacheAccess which accesses the provided region.
-     * <p>
-     * @param region Region that return GroupCacheAccess will provide access to
-     * @param icca CacheAttributes for region
-     * @return A GroupCacheAccess which provides access to a given region.
-     * @throws CacheException
-     */
-    public static <K, V> GroupCacheAccess<K, V> getGroupCacheInstance( String region, ICompositeCacheAttributes icca )
-        throws CacheException
-    {
-        CompositeCache<GroupAttrName<K>, V> cache = getCacheManager().getCache( region, icca );
-        return new GroupCacheAccess<K, V>( cache );
-    }
-}
diff --git a/src/org/apache/commons/jcs/access/AbstractCacheAccess.java b/src/org/apache/commons/jcs/access/AbstractCacheAccess.java
deleted file mode 100644
index c727c7c..0000000
--- a/src/org/apache/commons/jcs/access/AbstractCacheAccess.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.apache.commons.jcs.access;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-
-import org.apache.commons.jcs.access.behavior.ICacheAccessManagement;
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.stats.behavior.ICacheStats;
-
-/**
- * This class provides the common methods for all types of access to the cache.
- * <p>
- * An instance of this class is tied to a specific cache region. Static methods are provided to get
- * such instances.
- * <p>
- * Using this class you can retrieve an item, the item's wrapper, and the element's configuration.  You can also put an
- * item in the cache, remove an item, and clear a region.
- * <p>
- * The JCS class is the preferred way to access these methods.
- */
-public abstract class AbstractCacheAccess<K, V>
-    implements ICacheAccessManagement
-{
-    /**
-     * The cache that a given instance of this class provides access to.
-     * <p>
-     * TODO Should this be the interface?
-     */
-    private final CompositeCache<K, V> cacheControl;
-
-    /**
-     * Constructor for the CacheAccess object.
-     * <p>
-     * @param cacheControl The cache which the created instance accesses
-     */
-    protected AbstractCacheAccess( CompositeCache<K, V> cacheControl )
-    {
-        this.cacheControl = cacheControl;
-    }
-
-    /**
-     * Removes all of the elements from a region.
-     * <p>
-     * @throws CacheException
-     */
-    @Override
-    public void clear()
-        throws CacheException
-    {
-        try
-        {
-            this.getCacheControl().removeAll();
-        }
-        catch ( IOException e )
-        {
-            throw new CacheException( e );
-        }
-    }
-
-    /**
-     * This method is does not reset the attributes for items already in the cache. It could
-     * potentially do this for items in memory, and maybe on disk (which would be slow) but not
-     * remote items. Rather than have unpredictable behavior, this method just sets the default
-     * attributes. Items subsequently put into the cache will use these defaults if they do not
-     * specify specific attributes.
-     * <p>
-     * @param attr the default attributes.
-     * @throws CacheException if something goes wrong.
-     */
-    @Override
-    public void setDefaultElementAttributes( IElementAttributes attr )
-        throws CacheException
-    {
-        this.getCacheControl().setElementAttributes( attr );
-    }
-
-    /**
-     * Retrieves A COPY OF the default element attributes used by this region. This does not provide
-     * a reference to the element attributes.
-     * <p>
-     * Each time an element is added to the cache without element attributes, the default element
-     * attributes are cloned.
-     * <p>
-     * @return the default element attributes used by this region.
-     * @throws CacheException
-     */
-    @Override
-    public IElementAttributes getDefaultElementAttributes()
-        throws CacheException
-    {
-        return this.getCacheControl().getElementAttributes();
-    }
-
-    /**
-     * This returns the ICacheStats object with information on this region and its auxiliaries.
-     * <p>
-     * This data can be formatted as needed.
-     * <p>
-     * @return ICacheStats
-     */
-    @Override
-    public ICacheStats getStatistics()
-    {
-        return this.getCacheControl().getStatistics();
-    }
-
-    /**
-     * @return A String version of the stats.
-     */
-    @Override
-    public String getStats()
-    {
-        return this.getCacheControl().getStats();
-    }
-
-    /**
-     * Dispose this region. Flushes objects to and closes auxiliary caches. This is a shutdown
-     * command!
-     * <p>
-     * To simply remove all elements from the region use clear().
-     */
-    @Override
-    public void dispose()
-    {
-        this.getCacheControl().dispose();
-    }
-
-    /**
-     * Gets the ICompositeCacheAttributes of the cache region.
-     * <p>
-     * @return ICompositeCacheAttributes, the controllers config info, defined in the top section of
-     *         a region definition.
-     */
-    @Override
-    public ICompositeCacheAttributes getCacheAttributes()
-    {
-        return this.getCacheControl().getCacheAttributes();
-    }
-
-    /**
-     * Sets the ICompositeCacheAttributes of the cache region.
-     * <p>
-     * @param cattr The new ICompositeCacheAttribute value
-     */
-    @Override
-    public void setCacheAttributes( ICompositeCacheAttributes cattr )
-    {
-        this.getCacheControl().setCacheAttributes( cattr );
-    }
-
-    /**
-     * This instructs the memory cache to remove the <i>numberToFree</i> according to its eviction
-     * policy. For example, the LRUMemoryCache will remove the <i>numberToFree</i> least recently
-     * used items. These will be spooled to disk if a disk auxiliary is available.
-     * <p>
-     * @param numberToFree
-     * @return the number that were removed. if you ask to free 5, but there are only 3, you will
-     *         get 3.
-     * @throws CacheException
-     */
-    @Override
-    public int freeMemoryElements( int numberToFree )
-        throws CacheException
-    {
-        int numFreed = -1;
-        try
-        {
-            numFreed = this.getCacheControl().getMemoryCache().freeElements( numberToFree );
-        }
-        catch ( IOException ioe )
-        {
-            String message = "Failure freeing memory elements.";
-            throw new CacheException( message, ioe );
-        }
-        return numFreed;
-    }
-
-    public CompositeCache<K, V> getCacheControl() {
-        return cacheControl;
-    }
-
-}
diff --git a/src/org/apache/commons/jcs/access/CacheAccess.java b/src/org/apache/commons/jcs/access/CacheAccess.java
deleted file mode 100644
index 0393258..0000000
--- a/src/org/apache/commons/jcs/access/CacheAccess.java
+++ /dev/null
@@ -1,308 +0,0 @@
-package org.apache.commons.jcs.access;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.jcs.access.behavior.ICacheAccess;
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.access.exception.InvalidArgumentException;
-import org.apache.commons.jcs.access.exception.InvalidHandleException;
-import org.apache.commons.jcs.access.exception.ObjectExistsException;
-import org.apache.commons.jcs.engine.CacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This class provides an interface for all types of access to the cache.
- * <p>
- * An instance of this class is tied to a specific cache region. Static methods are provided to get
- * such instances.
- * <p>
- * Using this class you can retrieve an item, the item's wrapper, and the element's configuration.  You can also put an
- * item in the cache, remove an item, and clear a region.
- * <p>
- * The JCS class is the preferred way to access these methods.
- */
-public class CacheAccess<K, V>
-    extends AbstractCacheAccess<K, V>
-    implements ICacheAccess<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( CacheAccess.class );
-
-    /**
-     * Constructor for the CacheAccess object.
-     * <p>
-     * @param cacheControl The cache which the created instance accesses
-     */
-    public CacheAccess( CompositeCache<K, V> cacheControl )
-    {
-        super(cacheControl);
-    }
-
-    /**
-     * Retrieve an object from the cache region this instance provides access to.
-     * <p>
-     * @param name Key the object is stored as
-     * @return The object if found or null
-     */
-    @Override
-    public V get( K name )
-    {
-        ICacheElement<K, V> element = this.getCacheControl().get( name );
-
-        return ( element != null ) ? element.getVal() : null;
-    }
-
-    /**
-     * Retrieve matching objects from the cache region this instance provides access to.
-     * <p>
-     * @param pattern - a key pattern for the objects stored
-     * @return A map of key to values.  These are stripped from the wrapper.
-     */
-    @Override
-    public Map<K, V> getMatching( String pattern )
-    {
-        HashMap<K, V> unwrappedResults = new HashMap<K, V>();
-
-        Map<K, ICacheElement<K, V>> wrappedResults = this.getCacheControl().getMatching( pattern );
-        if ( wrappedResults != null )
-        {
-            for (Map.Entry<K, ICacheElement<K, V>> entry : wrappedResults.entrySet())
-            {
-                ICacheElement<K, V> element = entry.getValue();
-                if ( element != null )
-                {
-                    unwrappedResults.put( entry.getKey(), element.getVal() );
-                }
-            }
-        }
-        return unwrappedResults;
-    }
-
-    /**
-     * This method returns the ICacheElement<K, V> wrapper which provides access to element info and other
-     * attributes.
-     * <p>
-     * This returns a reference to the wrapper. Any modifications will be reflected in the cache. No
-     * defensive copy is made.
-     * <p>
-     * This method is most useful if you want to determine things such as the how long the element
-     * has been in the cache.
-     * <p>
-     * The last access time in the ElementAttributes should be current.
-     * <p>
-     * @param name Key the Serializable is stored as
-     * @return The ICacheElement<K, V> if the object is found or null
-     */
-    @Override
-    public ICacheElement<K, V> getCacheElement( K name )
-    {
-        return this.getCacheControl().get( name );
-    }
-
-    /**
-     * Get multiple elements from the cache based on a set of cache keys.
-     * <p>
-     * This method returns the ICacheElement<K, V> wrapper which provides access to element info and other
-     * attributes.
-     * <p>
-     * This returns a reference to the wrapper. Any modifications will be reflected in the cache. No
-     * defensive copy is made.
-     * <p>
-     * This method is most useful if you want to determine things such as the how long the element
-     * has been in the cache.
-     * <p>
-     * The last access time in the ElementAttributes should be current.
-     * <p>
-     * @param names set of Serializable cache keys
-     * @return a map of K key to ICacheElement<K, V> element, or empty map if none of the keys are present
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getCacheElements( Set<K> names )
-    {
-        return this.getCacheControl().getMultiple( names );
-    }
-
-    /**
-     * Get multiple elements from the cache based on a set of cache keys.
-     * <p>
-     * This method returns the ICacheElement<K, V> wrapper which provides access to element info and other
-     * attributes.
-     * <p>
-     * This returns a reference to the wrapper. Any modifications will be reflected in the cache. No
-     * defensive copy is made.
-     * <p>
-     * This method is most useful if you want to determine things such as the how long the element
-     * has been in the cache.
-     * <p>
-     * The last access time in the ElementAttributes should be current.
-     * <p>
-     * @param pattern key search pattern
-     * @return a map of K key to ICacheElement<K, V> element, or empty map if no keys match the pattern
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatchingCacheElements( String pattern )
-    {
-        return this.getCacheControl().getMatching( pattern );
-    }
-
-    /**
-     * Place a new object in the cache, associated with key name. If there is currently an object
-     * associated with name in the region an ObjectExistsException is thrown. Names are scoped to a
-     * region so they must be unique within the region they are placed.
-     * <p>
-     * @param key Key object will be stored with
-     * @param value Object to store
-     * @throws CacheException and ObjectExistsException is thrown if the item is already in the
-     *                cache.
-     */
-    @Override
-    public void putSafe( K key, V value )
-    {
-        if ( this.getCacheControl().get( key ) != null )
-        {
-            throw new ObjectExistsException( "putSafe failed.  Object exists in the cache for key [" + key
-                + "].  Remove first or use a non-safe put to override the value." );
-        }
-        put( key, value );
-    }
-
-    /**
-     * Place a new object in the cache, associated with key name. If there is currently an object
-     * associated with name in the region it is replaced. Names are scoped to a region so they must
-     * be unique within the region they are placed.
-     * @param name Key object will be stored with
-     * @param obj Object to store
-     */
-    @Override
-    public void put( K name, V obj )
-    {
-        // Call put with a copy of the contained caches default attributes.
-        // the attributes are copied by the cacheControl
-        put( name, obj, this.getCacheControl().getElementAttributes() );
-    }
-
-    /**
-     * Constructs a cache element with these attributes, and puts it into the cache.
-     * <p>
-     * If the key or the value is null, and InvalidArgumentException is thrown.
-     * <p>
-     * @see org.apache.commons.jcs.access.behavior.ICacheAccess#put(Object, Object, IElementAttributes)
-     */
-    @Override
-    public void put( K key, V val, IElementAttributes attr )
-    {
-        if ( key == null )
-        {
-            throw new InvalidArgumentException( "Key must not be null" );
-        }
-
-        if ( val == null )
-        {
-            throw new InvalidArgumentException( "Value must not be null" );
-        }
-
-        // Create the element and update. This may throw an IOException which
-        // should be wrapped by cache access.
-        try
-        {
-            CacheElement<K, V> ce = new CacheElement<K, V>( this.getCacheControl().getCacheName(), key,
-                                                val );
-
-            ce.setElementAttributes( attr );
-
-            this.getCacheControl().update( ce );
-        }
-        catch ( IOException e )
-        {
-            throw new CacheException( e );
-        }
-    }
-
-    /**
-     * Removes a single item by name.
-     * <p>
-     * @param name the name of the item to remove.
-     */
-    @Override
-    public void remove( K name )
-    {
-        this.getCacheControl().remove( name );
-    }
-
-    /**
-     * Reset attributes for a particular element in the cache. NOTE: this method is currently not
-     * implemented.
-     * <p>
-     * @param name Key of object to reset attributes for
-     * @param attr New attributes for the object
-     * @throws InvalidHandleException if the item does not exist.
-     */
-    @Override
-    public void resetElementAttributes( K name, IElementAttributes attr )
-    {
-        ICacheElement<K, V> element = this.getCacheControl().get( name );
-
-        if ( element == null )
-        {
-            throw new InvalidHandleException( "Object for name [" + name + "] is not in the cache" );
-        }
-
-        // Although it will work currently, don't assume pass by reference here,
-        // i.e. don't do this:
-        // element.setElementAttributes( attr );
-        // Another reason to call put is to force the changes to be distributed.
-
-        put( element.getKey(), element.getVal(), attr );
-    }
-
-    /**
-     * GetElementAttributes will return an attribute object describing the current attributes
-     * associated with the object name. The name object must override the Object.equals and
-     * Object.hashCode methods.
-     * <p>
-     * @param name Key of object to get attributes for
-     * @return Attributes for the object, null if object not in cache
-     */
-    @Override
-    public IElementAttributes getElementAttributes( K name )
-    {
-        IElementAttributes attr = null;
-
-        try
-        {
-            attr = this.getCacheControl().getElementAttributes( name );
-        }
-        catch ( IOException ioe )
-        {
-            log.error( "Failure getting element attributes", ioe );
-        }
-
-        return attr;
-    }
-}
diff --git a/src/org/apache/commons/jcs/access/GroupCacheAccess.java b/src/org/apache/commons/jcs/access/GroupCacheAccess.java
deleted file mode 100644
index 958abba..0000000
--- a/src/org/apache/commons/jcs/access/GroupCacheAccess.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package org.apache.commons.jcs.access;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.access.behavior.IGroupCacheAccess;
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.access.exception.InvalidArgumentException;
-import org.apache.commons.jcs.engine.CacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.control.group.GroupAttrName;
-import org.apache.commons.jcs.engine.control.group.GroupId;
-
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * Access for groups.
- */
-public class GroupCacheAccess<K, V>
-    extends AbstractCacheAccess<GroupAttrName<K>, V>
-    implements IGroupCacheAccess<K, V>
-{
-    /**
-     * Constructor for the GroupCacheAccess object
-     * <p>
-     * @param cacheControl
-     */
-    public GroupCacheAccess( CompositeCache<GroupAttrName<K>, V> cacheControl )
-    {
-        super(cacheControl);
-    }
-
-    /**
-     * Gets an item out of the cache that is in a specified group.
-     * <p>
-     * @param name
-     *            The key name.
-     * @param group
-     *            The group name.
-     * @return The cached value, null if not found.
-     */
-    @Override
-    public V getFromGroup( K name, String group )
-    {
-        ICacheElement<GroupAttrName<K>, V> element = this.getCacheControl().get( getGroupAttrName( group, name ) );
-        return ( element != null ) ? element.getVal() : null;
-    }
-
-    /**
-     * Internal method used for group functionality.
-     * <p>
-     * @param group
-     * @param name
-     * @return GroupAttrName
-     */
-    private GroupAttrName<K> getGroupAttrName( String group, K name )
-    {
-        GroupId gid = new GroupId( this.getCacheControl().getCacheName(), group );
-        return new GroupAttrName<K>( gid, name );
-    }
-
-    /**
-     * Allows the user to put an object into a group within a particular cache
-     * region. This method sets the object's attributes to the default for the
-     * region.
-     * <p>
-     * @param name
-     *            The key name.
-     * @param groupName
-     *            The group name.
-     * @param value
-     *            The object to cache
-     * @throws CacheException
-     */
-    @Override
-    public void putInGroup( K name, String groupName, V value )
-        throws CacheException
-    {
-        putInGroup( name, groupName, value, null );
-    }
-
-    /**
-     * Allows the user to put an object into a group within a particular cache
-     * region. This method allows the object's attributes to be individually
-     * specified.
-     * <p>
-     * @param name
-     *            The key name.
-     * @param groupName
-     *            The group name.
-     * @param value
-     *            The object to cache
-     * @param attr
-     *            The objects attributes.
-     * @throws CacheException
-     */
-    @Override
-    public void putInGroup( K name, String groupName, V value, IElementAttributes attr )
-        throws CacheException
-    {
-        if ( name == null )
-        {
-            throw new InvalidArgumentException( "Key must not be null" );
-        }
-
-        if ( value == null )
-        {
-            throw new InvalidArgumentException( "Value must not be null" );
-        }
-
-        // Create the element and update. This may throw an IOException which
-        // should be wrapped by cache access.
-        try
-        {
-            GroupAttrName<K> key = getGroupAttrName( groupName, name );
-            CacheElement<GroupAttrName<K>, V> ce =
-                new CacheElement<GroupAttrName<K>, V>( this.getCacheControl().getCacheName(), key, value );
-
-            IElementAttributes attributes = (attr == null) ? this.getCacheControl().getElementAttributes() : attr;
-            ce.setElementAttributes( attributes );
-
-            this.getCacheControl().update( ce );
-        }
-        catch ( IOException e )
-        {
-            throw new CacheException( e );
-        }
-
-    }
-
-    /**
-     * @param name
-     * @param group
-     */
-    @Override
-    public void removeFromGroup( K name, String group )
-    {
-        GroupAttrName<K> key = getGroupAttrName( group, name );
-        this.getCacheControl().remove( key );
-    }
-
-    /**
-     * Gets the set of keys of objects currently in the group.
-     * <p>
-     * @param group
-     * @return A Set of keys.
-     */
-    @Override
-    public Set<K> getGroupKeys( String group )
-    {
-        Set<K> groupKeys = new HashSet<K>();
-        GroupId groupId = new GroupId( this.getCacheControl().getCacheName(), group );
-
-        for (GroupAttrName<K> gan : this.getCacheControl().getKeySet())
-        {
-            if (gan.groupId.equals( groupId ))
-            {
-                groupKeys.add( gan.attrName );
-            }
-        }
-
-        return groupKeys;
-    }
-
-    /**
-     * Gets the set of group names in the cache
-     * <p>
-     * @return A Set of group names.
-     */
-    public Set<String> getGroupNames()
-    {
-        HashSet<String> names = new HashSet<String>();
-        for (GroupAttrName<K> gan : this.getCacheControl().getKeySet())
-        {
-            names.add(gan.groupId.groupName);
-        }
-        return names;
-    }
-
-    /**
-     * Invalidates a group: remove all the group members
-     * <p>
-     * @param group
-     *            The name of the group to invalidate
-     */
-    @Override
-    public void invalidateGroup( String group )
-    {
-        this.getCacheControl().remove(getGroupAttrName(group, null));
-    }
-}
diff --git a/src/org/apache/commons/jcs/access/PartitionedCacheAccess.java b/src/org/apache/commons/jcs/access/PartitionedCacheAccess.java
deleted file mode 100644
index 873f8d4..0000000
--- a/src/org/apache/commons/jcs/access/PartitionedCacheAccess.java
+++ /dev/null
@@ -1,846 +0,0 @@
-package org.apache.commons.jcs.access;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.JCS;
-import org.apache.commons.jcs.access.behavior.ICacheAccess;
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.access.exception.ConfigurationException;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.stats.behavior.ICacheStats;
-import org.apache.commons.jcs.utils.props.AbstractPropertyContainer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * TODO:  Add new methods that will allow you to provide a partition indicator for all major calls.  Add an interface as well.
- * <p>
- * This handles dividing puts and gets.
- * <p>
- * There are two required properties.
- * <p>
- * <ol>
- * <li>.numberOfPartitions</li>
- * <li>.partitionRegionNamePrefix</li>
- * </ol>
- * System properties will override values in the properties file.
- * <p>
- * We use a JCS region name for each partition that looks like this: partitionRegionNamePrefix + "_"
- * + partitionNumber. The number is 0 indexed based.
- * <p>
- * @author Aaron Smuts
- */
-public class PartitionedCacheAccess<K extends Serializable, V extends Serializable>
-    extends AbstractPropertyContainer
-    implements ICacheAccess<K, V>
-{
-    /** the logger. */
-    private static final Log log = LogFactory.getLog( PartitionedCacheAccess.class );
-
-    /** The number of partitions. */
-    private int numberOfPartitions = 1;
-
-    /**
-     * We use a JCS region name for each partition that looks like this: partitionRegionNamePrefix +
-     * "_" + partitionNumber
-     */
-    private String partitionRegionNamePrefix;
-
-    /** An array of partitions built during initialization. */
-    private ICacheAccess<K, V>[] partitions;
-
-    /** Is the class initialized. */
-    private boolean initialized = false;
-
-    /** Sets default properties heading and group. */
-    public PartitionedCacheAccess()
-    {
-        setPropertiesHeading( "PartitionedCacheAccess" );
-        setPropertiesGroup( "cache" );
-    }
-
-    /**
-     * Puts the value into the appropriate cache partition.
-     * <p>
-     * @param key key
-     * @param object object
-     * @throws CacheException on configuration problem
-     */
-    @Override
-    public void put( K key, V object )
-        throws CacheException
-    {
-        if ( key == null || object == null )
-        {
-            log.warn( "Bad input key [" + key + "].  Cannot put null into the cache." );
-            return;
-        }
-
-        if (!ensureInit())
-        {
-            return;
-        }
-
-        int partition = getPartitionNumberForKey( key );
-        try
-        {
-            partitions[partition].put( key, object );
-        }
-        catch ( CacheException e )
-        {
-            log.error( "Problem putting value for key [" + key + "] in cache [" + partitions[partition] + "]" );
-            throw e;
-        }
-    }
-
-    /**
-     * Puts in cache if an item does not exist with the name in that region.
-     * <p>
-     * @param key
-     * @param object
-     * @throws CacheException
-     */
-    @Override
-    public void putSafe( K key, V object )
-        throws CacheException
-    {
-        if ( key == null || object == null )
-        {
-            log.warn( "Bad input key [" + key + "].  Cannot putSafe null into the cache." );
-        }
-
-        if (!ensureInit())
-        {
-            return;
-        }
-
-        int partition = getPartitionNumberForKey( key );
-        partitions[partition].putSafe( key, object );
-    }
-
-    /**
-     * Puts the value into the appropriate cache partition.
-     * <p>
-     * @param key key
-     * @param object object
-     * @param attr
-     * @throws CacheException on configuration problem
-     */
-    @Override
-    public void put( K key, V object, IElementAttributes attr )
-        throws CacheException
-    {
-        if ( key == null || object == null )
-        {
-            log.warn( "Bad input key [" + key + "].  Cannot put null into the cache." );
-            return;
-        }
-
-        if (!ensureInit())
-        {
-            return;
-        }
-
-        int partition = getPartitionNumberForKey( key );
-
-        try
-        {
-            partitions[partition].put( key, object, attr );
-        }
-        catch ( CacheException e )
-        {
-            log.error( "Problem putting value for key [" + key + "] in cache [" + partitions[partition] + "]" );
-            throw e;
-        }
-    }
-
-    /**
-     * Gets the object for the key from the desired partition.
-     * <p>
-     * @param key key
-     * @return result, null if not found.
-     */
-    @Override
-    public V get( K key )
-    {
-        if ( key == null )
-        {
-            log.warn( "Input key is null." );
-            return null;
-        }
-
-        if (!ensureInit())
-        {
-            return null;
-        }
-
-        int partition = getPartitionNumberForKey( key );
-
-        return partitions[partition].get( key );
-    }
-
-    /**
-     * Gets the ICacheElement<K, V> (the wrapped object) for the key from the desired partition.
-     * <p>
-     * @param key key
-     * @return result, null if not found.
-     */
-    @Override
-    public ICacheElement<K, V> getCacheElement( K key )
-    {
-        if ( key == null )
-        {
-            log.warn( "Input key is null." );
-            return null;
-        }
-
-        if (!ensureInit())
-        {
-            return null;
-        }
-
-        int partition = getPartitionNumberForKey( key );
-
-        return partitions[partition].getCacheElement( key );
-    }
-
-    /**
-     * This is a getMultiple. We try to group the keys so that we make as few calls as needed.
-     * <p>
-     * @param names
-     * @return Map of keys to ICacheElement
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getCacheElements( Set<K> names )
-    {
-        if ( names == null )
-        {
-            log.warn( "Bad input names cannot be null." );
-            return Collections.emptyMap();
-        }
-
-        if (!ensureInit())
-        {
-            return Collections.emptyMap();
-        }
-
-        @SuppressWarnings("unchecked") // No generic arrays in java
-        Set<K>[] dividedNames = new Set[this.getNumberOfPartitions()];
-
-        for (K key : names)
-        {
-            int partition = getPartitionNumberForKey( key );
-            if ( dividedNames[partition] == null )
-            {
-                dividedNames[partition] = new HashSet<K>();
-            }
-            dividedNames[partition].add( key );
-        }
-
-        Map<K, ICacheElement<K, V>> result = new HashMap<K, ICacheElement<K, V>>();
-        for ( int i = 0; i < partitions.length; i++ )
-        {
-            if ( dividedNames[i] != null && !dividedNames[i].isEmpty() )
-            {
-                result.putAll( partitions[i].getCacheElements( dividedNames[i] ) );
-            }
-        }
-        return result;
-    }
-
-    /**
-     * This is tricky. Do we need to get from all the partitions?
-     * <p>
-     * If this interface took an object, we could use the hashcode to determine the partition. Then
-     * we could use the toString for the pattern.
-     * <p>
-     * @param pattern
-     * @return HashMap key to value
-     */
-    @Override
-    public Map<K, V> getMatching( String pattern )
-    {
-        if ( pattern == null )
-        {
-            log.warn( "Input pattern is null." );
-            return null;
-        }
-
-        if (!ensureInit())
-        {
-            return null;
-        }
-
-        Map<K, V> result = new HashMap<K, V>();
-        for (ICacheAccess<K, V> partition : partitions)
-        {
-            result.putAll( partition.getMatching( pattern ) );
-        }
-
-        return result;
-    }
-
-    /**
-     * This is tricky. Do we need to get from all the partitions?
-     * <p>
-     * @param pattern
-     * @return HashMap key to ICacheElement
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatchingCacheElements( String pattern )
-    {
-        if ( pattern == null )
-        {
-            log.warn( "Input pattern is null." );
-            return null;
-        }
-
-        if (!ensureInit())
-        {
-            return null;
-        }
-
-        Map<K, ICacheElement<K, V>> result = new HashMap<K, ICacheElement<K, V>>();
-        for (ICacheAccess<K, V> partition : partitions)
-        {
-            result.putAll( partition.getMatchingCacheElements( pattern ) );
-        }
-        return result;
-    }
-
-    /**
-     * Removes the item from the appropriate partition.
-     * <p>
-     * @param key
-     * @throws CacheException
-     */
-    @Override
-    public void remove( K key )
-        throws CacheException
-    {
-        if ( key == null )
-        {
-            log.warn( "Input key is null. Cannot remove null from the cache." );
-            return;
-        }
-
-        if (!ensureInit())
-        {
-            return;
-        }
-
-        int partition = getPartitionNumberForKey( key );
-        try
-        {
-            partitions[partition].remove( key );
-        }
-        catch ( CacheException e )
-        {
-            log.error( "Problem removing value for key [" + key + "] in cache [" + partitions[partition] + "]" );
-            throw e;
-        }
-    }
-
-    /**
-     * Calls free on each partition.
-     * <p>
-     * @param numberToFree
-     * @return number removed
-     * @throws CacheException
-     */
-    @Override
-    public int freeMemoryElements( int numberToFree )
-        throws CacheException
-    {
-        if (!ensureInit())
-        {
-            return 0;
-        }
-
-        int count = 0;
-        for (ICacheAccess<K, V> partition : partitions)
-        {
-            count += partition.freeMemoryElements( numberToFree );
-        }
-        return count;
-    }
-
-    /**
-     * @return ICompositeCacheAttributes from the first partition.
-     */
-    @Override
-    public ICompositeCacheAttributes getCacheAttributes()
-    {
-        if (!ensureInit())
-        {
-            return null;
-        }
-
-        if ( partitions.length == 0 )
-        {
-            return null;
-        }
-
-        return partitions[0].getCacheAttributes();
-    }
-
-    /**
-     * @return IElementAttributes from the first partition.
-     * @throws CacheException
-     */
-    @Override
-    public IElementAttributes getDefaultElementAttributes()
-        throws CacheException
-    {
-        if (!ensureInit())
-        {
-            return null;
-        }
-
-        if ( partitions.length == 0 )
-        {
-            return null;
-        }
-
-        return partitions[0].getDefaultElementAttributes();
-    }
-
-    /**
-     * This is no more efficient than simply getting the cache element.
-     * <p>
-     * @param key
-     * @return IElementAttributes
-     * @throws CacheException
-     */
-    @Override
-    public IElementAttributes getElementAttributes( K key )
-        throws CacheException
-    {
-        if ( key == null )
-        {
-            log.warn( "Input key is null. Cannot getElementAttributes for null from the cache." );
-            return null;
-        }
-
-        if (!ensureInit())
-        {
-            return null;
-        }
-
-        int partition = getPartitionNumberForKey( key );
-
-        return partitions[partition].getElementAttributes( key );
-    }
-
-    /**
-     * Resets the attributes for this item. This has the same effect as an update, in most cases.
-     * None of the auxiliaries are optimized to do this more efficiently than a simply update.
-     * <p>
-     * @param key
-     * @param attributes
-     * @throws CacheException
-     */
-    @Override
-    public void resetElementAttributes( K key, IElementAttributes attributes )
-        throws CacheException
-    {
-        if ( key == null )
-        {
-            log.warn( "Input key is null. Cannot resetElementAttributes for null." );
-            return;
-        }
-
-        if (!ensureInit())
-        {
-            return;
-        }
-
-        int partition = getPartitionNumberForKey( key );
-
-        partitions[partition].resetElementAttributes( key, attributes );
-    }
-
-    /**
-     * Sets the attributes on all the partitions.
-     * <p>
-     * @param cattr
-     */
-    @Override
-    public void setCacheAttributes( ICompositeCacheAttributes cattr )
-    {
-        if (!ensureInit())
-        {
-            return;
-        }
-
-        for (ICacheAccess<K, V> partition : partitions)
-        {
-            partition.setCacheAttributes( cattr );
-        }
-    }
-
-    /**
-     * Removes all of the elements from a region.
-     * <p>
-     * @throws CacheException
-     */
-    @Override
-    public void clear()
-        throws CacheException
-    {
-        if (!ensureInit())
-        {
-            return;
-        }
-
-        for (ICacheAccess<K, V> partition : partitions)
-        {
-            partition.clear();
-        }
-    }
-
-    /**
-     * This method is does not reset the attributes for items already in the cache. It could
-     * potentially do this for items in memory, and maybe on disk (which would be slow) but not
-     * remote items. Rather than have unpredictable behavior, this method just sets the default
-     * attributes. Items subsequently put into the cache will use these defaults if they do not
-     * specify specific attributes.
-     * <p>
-     * @param attr the default attributes.
-     * @throws CacheException if something goes wrong.
-     */
-    @Override
-    public void setDefaultElementAttributes( IElementAttributes attr )
-        throws CacheException
-    {
-        if (!ensureInit())
-        {
-            return;
-        }
-
-        for (ICacheAccess<K, V> partition : partitions)
-        {
-            partition.setDefaultElementAttributes(attr);
-        }
-    }
-
-    /**
-     * This returns the ICacheStats object with information on this region and its auxiliaries.
-     * <p>
-     * This data can be formatted as needed.
-     * <p>
-     * @return ICacheStats
-     */
-    @Override
-    public ICacheStats getStatistics()
-    {
-        if (!ensureInit())
-        {
-            return null;
-        }
-
-        if ( partitions.length == 0 )
-        {
-            return null;
-        }
-
-        return partitions[0].getStatistics();
-    }
-
-    /**
-     * @return A String version of the stats.
-     */
-    @Override
-    public String getStats()
-    {
-        if (!ensureInit())
-        {
-            return "";
-        }
-
-        StringBuilder stats = new StringBuilder();
-        for (ICacheAccess<K, V> partition : partitions)
-        {
-            stats.append(partition.getStats());
-            stats.append("\n");
-        }
-
-        return stats.toString();
-    }
-
-    /**
-     * Dispose this region. Flushes objects to and closes auxiliary caches. This is a shutdown
-     * command!
-     * <p>
-     * To simply remove all elements from the region use clear().
-     */
-    @Override
-    public synchronized void dispose()
-    {
-        if (!ensureInit())
-        {
-            return;
-        }
-
-        for (ICacheAccess<K, V> partition : partitions)
-        {
-            partition.dispose();
-        }
-
-        initialized = false;
-    }
-
-    /**
-     * This expects a numeric key. If the key cannot be converted into a number, we will return 0.
-     * TODO we could md5 it or get the hashcode.
-     * <p>
-     * We determine the partition by taking the mod of the number of partitions.
-     * <p>
-     * @param key key
-     * @return the partition number.
-     */
-    protected int getPartitionNumberForKey( K key )
-    {
-        if ( key == null )
-        {
-            return 0;
-        }
-
-        long keyNum = getNumericValueForKey( key );
-
-        int partition = (int) ( keyNum % getNumberOfPartitions() );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Using partition [" + partition + "] for key [" + key + "]" );
-        }
-
-        return partition;
-    }
-
-    /**
-     * This can be overridden for special purposes.
-     * <p>
-     * @param key key
-     * @return long
-     */
-    public long getNumericValueForKey( K key )
-    {
-        String keyString = key.toString();
-        long keyNum = -1;
-        try
-        {
-            keyNum = Long.parseLong( keyString );
-        }
-        catch ( NumberFormatException e )
-        {
-            // THIS IS UGLY, but I can't think of a better failsafe right now.
-            keyNum = key.hashCode();
-            log.warn( "Couldn't convert [" + key + "] into a number.  Will use hashcode [" + keyNum + "]" );
-        }
-        return keyNum;
-    }
-
-    /**
-     * Initialize if we haven't already.
-     * <p>
-     * @throws ConfigurationException on configuration problem
-     */
-    protected synchronized boolean ensureInit()
-    {
-        if ( !initialized )
-        {
-            try
-            {
-                initialize();
-            }
-            catch ( ConfigurationException e )
-            {
-                log.error( "Couldn't configure partioned access.", e );
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * Use the partition prefix and the number of partitions to get JCS regions.
-     * <p>
-     * @throws ConfigurationException on configuration problem
-     */
-    protected synchronized void initialize()
-        throws ConfigurationException
-    {
-        ensureProperties();
-
-        @SuppressWarnings("unchecked") // No generic arrays in java
-        ICacheAccess<K, V>[] tempPartitions = new ICacheAccess[this.getNumberOfPartitions()];
-        for ( int i = 0; i < this.getNumberOfPartitions(); i++ )
-        {
-            String regionName = this.getPartitionRegionNamePrefix() + "_" + i;
-            try
-            {
-                tempPartitions[i] = JCS.getInstance( regionName );
-            }
-            catch ( CacheException e )
-            {
-                log.error( "Problem getting cache for region [" + regionName + "]" );
-            }
-        }
-
-        partitions = tempPartitions;
-        initialized = true;
-    }
-
-    /**
-     * Loads in the needed configuration settings. System properties are checked first. A system
-     * property will override local property value.
-     * <p>
-     * Loads the following JCS Cache specific properties:
-     * <ul>
-     * <li>heading.numberOfPartitions</li>
-     * <li>heading.partitionRegionNamePrefix</li>
-     * </ul>
-     * @throws ConfigurationException on configuration problem
-     */
-    @Override
-    protected void handleProperties()
-        throws ConfigurationException
-    {
-        // Number of Partitions.
-        String numberOfPartitionsPropertyName = this.getPropertiesHeading() + ".numberOfPartitions";
-        String numberOfPartitionsPropertyValue = getPropertyForName( numberOfPartitionsPropertyName, true );
-        try
-        {
-            this.setNumberOfPartitions( Integer.parseInt( numberOfPartitionsPropertyValue ) );
-        }
-        catch ( NumberFormatException e )
-        {
-            String message = "Could not convert [" + numberOfPartitionsPropertyValue + "] into a number for ["
-                + numberOfPartitionsPropertyName + "]";
-            log.error( message );
-            throw new ConfigurationException( message );
-        }
-
-        // Partition Name Prefix.
-        String prefixPropertyName = this.getPropertiesHeading() + ".partitionRegionNamePrefix";
-        String prefix = getPropertyForName( prefixPropertyName, true );
-        this.setPartitionRegionNamePrefix( prefix );
-    }
-
-    /**
-     * Checks the system properties before the properties.
-     * <p>
-     * @param propertyName name
-     * @param required is it required?
-     * @return the property value if one is found
-     * @throws ConfigurationException thrown if it is required and not found.
-     */
-    protected String getPropertyForName( String propertyName, boolean required )
-        throws ConfigurationException
-    {
-        String propertyValue = null;
-        propertyValue = System.getProperty( propertyName );
-        if ( propertyValue != null )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Found system property override: Name [" + propertyName + "] Value [" + propertyValue + "]" );
-            }
-        }
-        else
-        {
-            propertyValue = this.getProperties().getProperty( propertyName );
-            if ( required && propertyValue == null )
-            {
-                String message = "Could not find required property [" + propertyName + "] in propertiesGroup ["
-                    + this.getPropertiesGroup() + "]";
-                log.error( message );
-                throw new ConfigurationException( message );
-            }
-            else
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Name [" + propertyName + "] Value [" + propertyValue + "]" );
-                }
-            }
-        }
-        return propertyValue;
-    }
-
-    /**
-     * @param numberOfPartitions The numberOfPartitions to set.
-     */
-    protected void setNumberOfPartitions( int numberOfPartitions )
-    {
-        this.numberOfPartitions = numberOfPartitions;
-    }
-
-    /**
-     * @return Returns the numberOfPartitions.
-     */
-    protected int getNumberOfPartitions()
-    {
-        return numberOfPartitions;
-    }
-
-    /**
-     * @param partitionRegionNamePrefix The partitionRegionNamePrefix to set.
-     */
-    protected void setPartitionRegionNamePrefix( String partitionRegionNamePrefix )
-    {
-        this.partitionRegionNamePrefix = partitionRegionNamePrefix;
-    }
-
-    /**
-     * @return Returns the partitionRegionNamePrefix.
-     */
-    protected String getPartitionRegionNamePrefix()
-    {
-        return partitionRegionNamePrefix;
-    }
-
-    /**
-     * @param partitions The partitions to set.
-     */
-    protected void setPartitions( ICacheAccess<K, V>[] partitions )
-    {
-        this.partitions = partitions;
-    }
-
-    /**
-     * @return Returns the partitions.
-     */
-    protected ICacheAccess<K, V>[] getPartitions()
-    {
-        return partitions;
-    }
-}
diff --git a/src/org/apache/commons/jcs/access/behavior/ICacheAccess.java b/src/org/apache/commons/jcs/access/behavior/ICacheAccess.java
deleted file mode 100644
index 6f8ac8d..0000000
--- a/src/org/apache/commons/jcs/access/behavior/ICacheAccess.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.apache.commons.jcs.access.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-
-import java.util.Map;
-import java.util.Set;
-
-/**
- * ICacheAccess defines the behavior for client access.
- */
-public interface ICacheAccess<K, V>
-    extends ICacheAccessManagement
-{
-    /**
-     * Basic get method.
-     * <p>
-     * @param name
-     * @return Object or null if not found.
-     */
-    V get( K name );
-
-    /**
-     * Retrieve matching objects from the cache region this instance provides access to.
-     * <p>
-     * @param pattern - a key pattern for the objects stored
-     * @return A map of key to values. These are stripped from the wrapper.
-     */
-    Map<K, V> getMatching( String pattern );
-
-    /**
-     * Puts in cache if an item does not exist with the name in that region.
-     * <p>
-     * @param name
-     * @param obj
-     * @throws CacheException
-     */
-    void putSafe( K name, V obj )
-        throws CacheException;
-
-    /**
-     * Puts and/or overrides an element with the name in that region.
-     * <p>
-     * @param name
-     * @param obj
-     * @throws CacheException
-     */
-    void put( K name, V obj )
-        throws CacheException;
-
-    /**
-     * Description of the Method
-     * <p>
-     * @param name
-     * @param obj
-     * @param attr
-     * @throws CacheException
-     */
-    void put( K name, V obj, IElementAttributes attr )
-        throws CacheException;
-
-    /**
-     * This method returns the ICacheElement<K, V> wrapper which provides access to element info and other
-     * attributes.
-     * <p>
-     * This returns a reference to the wrapper. Any modifications will be reflected in the cache. No
-     * defensive copy is made.
-     * <p>
-     * This method is most useful if you want to determine things such as the how long the element
-     * has been in the cache.
-     * <p>
-     * The last access time in the ElementAttributes should be current.
-     * <p>
-     * @param name Key the object is stored as
-     * @return The ICacheElement<K, V> if the object is found or null
-     */
-    ICacheElement<K, V> getCacheElement( K name );
-
-    /**
-     * Get multiple elements from the cache based on a set of cache keys.
-     * <p>
-     * This method returns the ICacheElement<K, V> wrapper which provides access to element info and other
-     * attributes.
-     * <p>
-     * This returns a reference to the wrapper. Any modifications will be reflected in the cache. No
-     * defensive copy is made.
-     * <p>
-     * This method is most useful if you want to determine things such as the how long the element
-     * has been in the cache.
-     * <p>
-     * The last access time in the ElementAttributes should be current.
-     * <p>
-     * @param names set of Object cache keys
-     * @return a map of Object key to ICacheElement<K, V> element, or empty map if none of the keys are
-     *         present
-     */
-    Map<K, ICacheElement<K, V>> getCacheElements( Set<K> names );
-
-    /**
-     * Get multiple elements from the cache based on a set of cache keys.
-     * <p>
-     * This method returns the ICacheElement<K, V> wrapper which provides access to element info and other
-     * attributes.
-     * <p>
-     * This returns a reference to the wrapper. Any modifications will be reflected in the cache. No
-     * defensive copy is made.
-     * <p>
-     * This method is most useful if you want to determine things such as the how long the element
-     * has been in the cache.
-     * <p>
-     * The last access time in the ElementAttributes should be current.
-     * <p>
-     * @param pattern key search pattern
-     * @return a map of Object key to ICacheElement<K, V> element, or empty map if no keys match the
-     *         pattern
-     */
-    Map<K, ICacheElement<K, V>> getMatchingCacheElements( String pattern );
-
-    /**
-     * Remove an object for this key if one exists, else do nothing.
-     * <p>
-     * @param name
-     * @throws CacheException
-     */
-    void remove( K name )
-        throws CacheException;
-
-    /**
-     * Reset the attributes on the object matching this key name.
-     * <p>
-     * @param name
-     * @param attributes
-     * @throws CacheException
-     */
-    void resetElementAttributes( K name, IElementAttributes attributes )
-        throws CacheException;
-
-    /**
-     * Gets the elementAttributes attribute of the ICacheAccess object
-     * <p>
-     * @param name
-     * @return The elementAttributes value
-     * @throws CacheException
-     */
-    IElementAttributes getElementAttributes( K name )
-        throws CacheException;
-}
diff --git a/src/org/apache/commons/jcs/access/behavior/ICacheAccessManagement.java b/src/org/apache/commons/jcs/access/behavior/ICacheAccessManagement.java
deleted file mode 100644
index 21c01f4..0000000
--- a/src/org/apache/commons/jcs/access/behavior/ICacheAccessManagement.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.apache.commons.jcs.access.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.stats.behavior.ICacheStats;
-
-/**
- * ICacheAccessManagement defines the methods for cache management, cleanup and shutdown.
- */
-public interface ICacheAccessManagement
-{
-    /**
-     * Dispose this region. Flushes objects to and closes auxiliary caches. This is a shutdown
-     * command!
-     * <p>
-     * To simply remove all elements from the region use clear().
-     */
-    void dispose();
-
-    /**
-     * Removes all of the elements from a region.
-     * <p>
-     * @throws CacheException
-     */
-    void clear() throws CacheException;
-
-    /**
-     * GetElementAttributes will return an attribute object describing the current attributes
-     * associated with the object name. If no name parameter is available, the attributes for the
-     * region will be returned. The name object must override the Object.equals and Object.hashCode
-     * methods.
-     * <p>
-     * @return The elementAttributes value
-     * @throws CacheException
-     */
-    IElementAttributes getDefaultElementAttributes()
-        throws CacheException;
-
-    /**
-     * This method is does not reset the attributes for items already in the cache. It could
-     * potentially do this for items in memory, and maybe on disk (which would be slow) but not
-     * remote items. Rather than have unpredictable behavior, this method just sets the default
-     * attributes. Items subsequently put into the cache will use these defaults if they do not
-     * specify specific attributes.
-     * <p>
-     * @param attr the default attributes.
-     * @throws CacheException if something goes wrong.
-     */
-    void setDefaultElementAttributes( IElementAttributes attr ) throws CacheException;
-
-    /**
-     * Gets the ICompositeCacheAttributes of the cache region
-     * <p>
-     * @return ICompositeCacheAttributes
-     */
-    ICompositeCacheAttributes getCacheAttributes();
-
-    /**
-     * Sets the ICompositeCacheAttributes of the cache region
-     * <p>
-     * @param cattr The new ICompositeCacheAttribute value
-     */
-    void setCacheAttributes( ICompositeCacheAttributes cattr );
-
-    /**
-     * This instructs the memory cache to remove the <i>numberToFree</i> according to its eviction
-     * policy. For example, the LRUMemoryCache will remove the <i>numberToFree</i> least recently
-     * used items. These will be spooled to disk if a disk auxiliary is available.
-     * <p>
-     * @param numberToFree
-     * @return the number that were removed. if you ask to free 5, but there are only 3, you will
-     *         get 3.
-     * @throws CacheException
-     */
-    int freeMemoryElements( int numberToFree )
-        throws CacheException;
-
-    /**
-     * This returns the ICacheStats object with information on this region and its auxiliaries.
-     * <p>
-     * This data can be formatted as needed.
-     * <p>
-     * @return ICacheStats
-     */
-    ICacheStats getStatistics();
-
-    /**
-     * @return A String version of the stats.
-     */
-    String getStats();
-}
diff --git a/src/org/apache/commons/jcs/access/behavior/IGroupCacheAccess.java b/src/org/apache/commons/jcs/access/behavior/IGroupCacheAccess.java
deleted file mode 100644
index 4527d24..0000000
--- a/src/org/apache/commons/jcs/access/behavior/IGroupCacheAccess.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.apache.commons.jcs.access.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-
-import java.util.Set;
-
-/**
- * IGroupCacheAccess defines group specific behavior for the client access
- * classes.
- */
-public interface IGroupCacheAccess<K, V>
-    extends ICacheAccessManagement
-{
-    /**
-     * Gets the g attribute of the IGroupCacheAccess object
-     * <p>
-     * @param name
-     * @param group
-     *            the name of the group to associate this with.
-     * @return The object that is keyed by the name in the group
-     */
-    V getFromGroup( K name, String group );
-
-    /**
-     * Puts an item in the cache associated with this group.
-     * <p>
-     * @param key
-     * @param group
-     * @param obj
-     * @throws CacheException
-     */
-    void putInGroup( K key, String group, V obj )
-        throws CacheException;
-
-    /**
-     * Put in the cache associated with this group using these attributes.
-     * <p>
-     * @param key
-     * @param group
-     * @param obj
-     * @param attr
-     * @throws CacheException
-     */
-    void putInGroup( K key, String group, V obj, IElementAttributes attr )
-        throws CacheException;
-
-    /**
-     * Remove the item from this group in this region by this name.
-     * <p>
-     * @param name
-     * @param group
-     */
-    void removeFromGroup( K name, String group );
-
-    /**
-     * Gets the set of keys of objects currently in the group
-     * <p>
-     * @param group
-     * @return the set of group keys.
-     */
-    Set<K> getGroupKeys( String group );
-
-    /**
-     * Invalidates a group
-     * <p>
-     * @param group
-     */
-    void invalidateGroup( String group );
-}
diff --git a/src/org/apache/commons/jcs/access/exception/CacheException.java b/src/org/apache/commons/jcs/access/exception/CacheException.java
deleted file mode 100644
index 78479b1..0000000
--- a/src/org/apache/commons/jcs/access/exception/CacheException.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.commons.jcs.access.exception;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This is the most general exception the cache throws.
- */
-public class CacheException
-    extends RuntimeException
-{
-    /** Don't change. */
-    private static final long serialVersionUID = 8725795372935590265L;
-
-    /**
-     * Default
-     */
-    public CacheException()
-    {
-        super();
-    }
-
-    /**
-     * Constructor for the CacheException object
-     * @param nested a nested exception
-     */
-    public CacheException( Throwable nested )
-    {
-        super(nested);
-    }
-
-    /**
-     * Constructor for the CacheException object
-     * @param message the exception message
-     */
-    public CacheException( String message )
-    {
-        super(message);
-    }
-
-    /**
-     * Constructor for the CacheException object
-     * @param message the exception message
-     * @param nested a nested exception
-     */
-    public CacheException(String message, Throwable nested)
-    {
-        super(message, nested);
-    }
-}
diff --git a/src/org/apache/commons/jcs/access/exception/ConfigurationException.java b/src/org/apache/commons/jcs/access/exception/ConfigurationException.java
deleted file mode 100644
index 03f4890..0000000
--- a/src/org/apache/commons/jcs/access/exception/ConfigurationException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.commons.jcs.access.exception;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/** Thrown if there is some severe configuration problem that makes the cache nonfunctional. */
-public class ConfigurationException
-    extends CacheException
-{
-    /** Don't change. */
-    private static final long serialVersionUID = 6881044536186097055L;
-
-    /** Constructor for the ConfigurationException object */
-    public ConfigurationException()
-    {
-        super();
-    }
-
-    /**
-     * Constructor for the ConfigurationException object.
-     * <p>
-     * @param message
-     */
-    public ConfigurationException( String message )
-    {
-        super( message );
-    }
-}
diff --git a/src/org/apache/commons/jcs/access/exception/InvalidArgumentException.java b/src/org/apache/commons/jcs/access/exception/InvalidArgumentException.java
deleted file mode 100644
index cfb4435..0000000
--- a/src/org/apache/commons/jcs/access/exception/InvalidArgumentException.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.apache.commons.jcs.access.exception;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * InvalidArgumentException is thrown if an argument is passed to the cache that is invalid. For
- * instance, null values passed to put result in this exception.
- */
-public class InvalidArgumentException
-    extends CacheException
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -6058373692208755562L;
-
-    /** Constructor for the InvalidArgumentException object */
-    public InvalidArgumentException()
-    {
-        super();
-    }
-
-    /**
-     * Constructor for the InvalidArgumentException object.
-     * <p>
-     * @param message
-     */
-    public InvalidArgumentException( String message )
-    {
-        super( message );
-    }
-}
diff --git a/src/org/apache/commons/jcs/access/exception/InvalidGroupException.java b/src/org/apache/commons/jcs/access/exception/InvalidGroupException.java
deleted file mode 100644
index 870a402..0000000
--- a/src/org/apache/commons/jcs/access/exception/InvalidGroupException.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.apache.commons.jcs.access.exception;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * InvalidGroupException
- */
-public class InvalidGroupException
-    extends CacheException
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -5219807114008843480L;
-
-    /** Constructor for the InvalidGroupException object */
-    public InvalidGroupException()
-    {
-        super();
-    }
-
-    /**
-     * Constructor for the InvalidGroupException object
-     * <p>
-     * @param message
-     */
-    public InvalidGroupException( String message )
-    {
-        super( message );
-    }
-
-}
diff --git a/src/org/apache/commons/jcs/access/exception/InvalidHandleException.java b/src/org/apache/commons/jcs/access/exception/InvalidHandleException.java
deleted file mode 100644
index 6b0e6d3..0000000
--- a/src/org/apache/commons/jcs/access/exception/InvalidHandleException.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.commons.jcs.access.exception;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * InvalidHandleException is not used.
- */
-public class InvalidHandleException
-    extends CacheException
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -5947822454839845924L;
-
-    /** Constructor for the InvalidHandleException object */
-    public InvalidHandleException()
-    {
-        // nothing
-        super();
-    }
-
-    /**
-     * Constructor for the InvalidHandleException object.
-     * <p>
-     * @param message
-     */
-    public InvalidHandleException( String message )
-    {
-        super( message );
-    }
-
-}
diff --git a/src/org/apache/commons/jcs/access/exception/ObjectExistsException.java b/src/org/apache/commons/jcs/access/exception/ObjectExistsException.java
deleted file mode 100644
index edef1a4..0000000
--- a/src/org/apache/commons/jcs/access/exception/ObjectExistsException.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.commons.jcs.access.exception;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * The putSafe method on the JCS convenience class throws this exception if the object is already
- * present in the cache.
- * <p>
- * I'm removing this exception from normal use.
- * <p>
- * The overhead of throwing exceptions and the cumbersomeness of coding around exceptions warrants
- * removal. Exceptions like this don't make sense to throw in the course of normal operations to
- * signify a normal and expected condition. Returning null if an object isn't found is sufficient.
- */
-public class ObjectExistsException
-    extends CacheException
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -3779745827993383872L;
-
-    /** Constructor for the ObjectExistsException object */
-    public ObjectExistsException()
-    {
-        super();
-    }
-
-    /**
-     * Constructor for the ObjectExistsException object
-     * @param message
-     */
-    public ObjectExistsException( String message )
-    {
-        super( message );
-    }
-
-}
diff --git a/src/org/apache/commons/jcs/access/exception/ObjectNotFoundException.java b/src/org/apache/commons/jcs/access/exception/ObjectNotFoundException.java
deleted file mode 100644
index 8dca2de..0000000
--- a/src/org/apache/commons/jcs/access/exception/ObjectNotFoundException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.commons.jcs.access.exception;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * ObjectNotFoundException
- * <p>
- * TODO see if we can remove this.
- * <p>
- * This is thrown from the composite cache if you as for the element attributes and the element does
- * not exist.
- */
-public class ObjectNotFoundException
-    extends CacheException
-{
-    /** Don't change. */
-    private static final long serialVersionUID = 5684353421076546842L;
-
-    /** Constructor for the ObjectNotFoundException object */
-    public ObjectNotFoundException()
-    {
-        super();
-    }
-
-    /**
-     * Constructor for the ObjectNotFoundException object
-     * @param message
-     */
-    public ObjectNotFoundException( String message )
-    {
-        super( message );
-    }
-
-}
diff --git a/src/org/apache/commons/jcs/access/package.html b/src/org/apache/commons/jcs/access/package.html
deleted file mode 100644
index 477e5cc..0000000
--- a/src/org/apache/commons/jcs/access/package.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-    Contains classes for accessing the cache. The CacheAccess interface, which
-    all classes in this package implement, provides all the methods a client
-    should need to use a Cache.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/admin/CacheElementInfo.java b/src/org/apache/commons/jcs/admin/CacheElementInfo.java
deleted file mode 100644
index 1c09423..0000000
--- a/src/org/apache/commons/jcs/admin/CacheElementInfo.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.apache.commons.jcs.admin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.beans.ConstructorProperties;
-
-
-/**
- * Stores info on a cache element for the template
- */
-public class CacheElementInfo
-{
-    /** element key */
-    private final String key;
-
-    /** is it eternal */
-    private final boolean eternal;
-
-    /** when it was created */
-    private final String createTime;
-
-    /** max life */
-    private final long maxLifeSeconds;
-
-    /** when it will expire */
-    private final long expiresInSeconds;
-
-    /**
-     * Parameterized constructor
-     *
-	 * @param key element key
-	 * @param eternal is it eternal
-	 * @param createTime when it was created
-	 * @param maxLifeSeconds max life
-	 * @param expiresInSeconds when it will expire
-	 */
-    @ConstructorProperties({"key", "eternal", "createTime", "maxLifeSeconds", "expiresInSeconds"})
-    public CacheElementInfo(String key, boolean eternal, String createTime,
-			long maxLifeSeconds, long expiresInSeconds)
-    {
-		super();
-		this.key = key;
-		this.eternal = eternal;
-		this.createTime = createTime;
-		this.maxLifeSeconds = maxLifeSeconds;
-		this.expiresInSeconds = expiresInSeconds;
-	}
-
-	/**
-     * @return a string representation of the key
-     */
-    public String getKey()
-    {
-        return this.key;
-    }
-
-    /**
-     * @return true if the item does not expire
-     */
-    public boolean isEternal()
-    {
-        return this.eternal;
-    }
-
-    /**
-     * @return the time the object was created
-     */
-    public String getCreateTime()
-    {
-        return this.createTime;
-    }
-
-    /**
-     * Ignored if isEternal
-     * @return the longest this object can live.
-     */
-    public long getMaxLifeSeconds()
-    {
-        return this.maxLifeSeconds;
-    }
-
-    /**
-     * Ignored if isEternal
-     * @return how many seconds until this object expires.
-     */
-    public long getExpiresInSeconds()
-    {
-        return this.expiresInSeconds;
-    }
-
-    /**
-     * @return string info on the item
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\nCacheElementInfo " );
-        buf.append( "\n Key [" ).append( getKey() ).append( "]" );
-        buf.append( "\n Eternal [" ).append( isEternal() ).append( "]" );
-        buf.append( "\n CreateTime [" ).append( getCreateTime() ).append( "]" );
-        buf.append( "\n MaxLifeSeconds [" ).append( getMaxLifeSeconds() ).append( "]" );
-        buf.append( "\n ExpiresInSeconds [" ).append( getExpiresInSeconds() ).append( "]" );
-
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/admin/CacheRegionInfo.java b/src/org/apache/commons/jcs/admin/CacheRegionInfo.java
deleted file mode 100644
index 963f5d4..0000000
--- a/src/org/apache/commons/jcs/admin/CacheRegionInfo.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package org.apache.commons.jcs.admin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.beans.ConstructorProperties;
-
-
-
-/**
- * Stores info on a cache region for the template
- */
-public class CacheRegionInfo
-{
-    /** The name of the cache region */
-    private final String cacheName;
-
-    /** The size of the cache region */
-    private final int cacheSize;
-
-    /** The status of the cache region */
-    private final String cacheStatus;
-
-    /** The statistics of the cache region */
-    private final String cacheStatistics;
-
-    /** The number of memory hits in the cache region */
-    private final int hitCountRam;
-
-    /** The number of auxiliary hits in the cache region */
-    private final int hitCountAux;
-
-    /** The number of misses in the cache region because the items were not found */
-    private final int missCountNotFound;
-
-    /** The number of misses in the cache region because the items were expired */
-    private final int missCountExpired;
-
-    /** The number of bytes counted so far, will be a total of all items */
-    private final long byteCount;
-
-    /**
-     * Parameterized constructor
-     *
-	 * @param cacheName The name of the cache region
-	 * @param cacheSize The size of the cache region
-	 * @param cacheStatus The status of the cache region
-	 * @param cacheStatistics The statistics of the cache region
-	 * @param hitCountRam The number of memory hits in the cache region
-	 * @param hitCountAux The number of auxiliary hits in the cache region
-	 * @param missCountNotFound The number of misses in the cache region because the items were not found
-	 * @param missCountExpired The number of misses in the cache region because the items were expired
-	 * @param byteCount The number of bytes counted so far, will be a total of all items
-	 */
-    @ConstructorProperties({"cacheName", "cacheSize", "cacheStatus", "cacheStatistics",
-    	"hitCountRam", "hitCountAux", "missCountNotFound", "missCountExpired", "byteCount"})
-	public CacheRegionInfo(String cacheName, int cacheSize, String cacheStatus,
-			String cacheStatistics, int hitCountRam, int hitCountAux,
-			int missCountNotFound, int missCountExpired, long byteCount)
-	{
-		super();
-		this.cacheName = cacheName;
-		this.cacheSize = cacheSize;
-		this.cacheStatus = cacheStatus;
-		this.cacheStatistics = cacheStatistics;
-		this.hitCountRam = hitCountRam;
-		this.hitCountAux = hitCountAux;
-		this.missCountNotFound = missCountNotFound;
-		this.missCountExpired = missCountExpired;
-		this.byteCount = byteCount;
-	}
-
-	/**
-	 * @return the cacheName
-	 */
-	public String getCacheName()
-	{
-		return this.cacheName;
-	}
-
-	/**
-	 * @return the cacheSize
-	 */
-	public int getCacheSize()
-	{
-		return this.cacheSize;
-	}
-
-	/**
-     * @return a status string
-     */
-    public String getCacheStatus()
-    {
-        return this.cacheStatus;
-    }
-
-    /**
-     * Return the statistics for the region.
-     * <p>
-     * @return String
-     */
-    public String getCacheStatistics()
-    {
-        return this.cacheStatistics;
-    }
-
-    /**
-	 * @return the hitCountRam
-	 */
-	public int getHitCountRam()
-	{
-		return hitCountRam;
-	}
-
-	/**
-	 * @return the hitCountAux
-	 */
-	public int getHitCountAux()
-	{
-		return hitCountAux;
-	}
-
-	/**
-	 * @return the missCountNotFound
-	 */
-	public int getMissCountNotFound()
-	{
-		return missCountNotFound;
-	}
-
-	/**
-	 * @return the missCountExpired
-	 */
-	public int getMissCountExpired()
-	{
-		return missCountExpired;
-	}
-
-	/**
-     * @return total byte count
-     */
-    public long getByteCount()
-    {
-        return this.byteCount;
-    }
-
-    /**
-     * @return string info on the region
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\nCacheRegionInfo " );
-        if ( cacheName != null )
-        {
-            buf.append( "\n CacheName [" + cacheName + "]" );
-            buf.append( "\n Status [" + cacheStatus + "]" );
-        }
-        buf.append( "\n ByteCount [" + getByteCount() + "]" );
-
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/admin/CountingOnlyOutputStream.java b/src/org/apache/commons/jcs/admin/CountingOnlyOutputStream.java
deleted file mode 100644
index ea0baf8..0000000
--- a/src/org/apache/commons/jcs/admin/CountingOnlyOutputStream.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.apache.commons.jcs.admin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-/**
- * Keeps track of the number of bytes written to it, but doesn't write them anywhere.
- */
-public class CountingOnlyOutputStream
-    extends OutputStream
-{
-    /** number of bytes passed through */
-    private int count; // TODO should this be long?
-
-    /**
-     * count as we write.
-     * <p>
-     * @param b
-     * @throws IOException
-     */
-    @Override
-    public void write( byte[] b )
-        throws IOException
-    {
-        this.count += b.length;
-    }
-
-    /**
-     * count as we write.
-     * <p>
-     * @param b
-     * @param off
-     * @param len
-     * @throws IOException
-     */
-    @Override
-    public void write( byte[] b, int off, int len )
-        throws IOException
-    {
-        this.count += len;
-    }
-
-    /**
-     * count as we write.
-     * <p>
-     * @param b
-     * @throws IOException
-     */
-    @Override
-    public void write( int b )
-        throws IOException
-    {
-        this.count++;
-    }
-
-    /**
-     * The number of bytes that have passed through this stream.
-     * <p>
-     * @return int
-     */
-    public int getCount()
-    {
-        return this.count;
-    }
-}
diff --git a/src/org/apache/commons/jcs/admin/JCSAdmin.jsp b/src/org/apache/commons/jcs/admin/JCSAdmin.jsp
deleted file mode 100644
index d92b0af..0000000
--- a/src/org/apache/commons/jcs/admin/JCSAdmin.jsp
+++ /dev/null
@@ -1,310 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
---%>
-<%@page import="org.apache.commons.jcs.JCS"%>
-<%@page import="org.apache.commons.jcs.access.CacheAccess" %>
-<%@page import="org.apache.commons.jcs.admin.CacheElementInfo" %>
-<%@page import="org.apache.commons.jcs.admin.CacheRegionInfo" %>
-<%@page import="java.io.Serializable" %>
-<%@page import="java.util.HashMap" %>
-
-<jsp:useBean id="jcsBean" scope="request" class="org.apache.commons.jcs.admin.JCSAdminBean" />
-
-<html>
-<head>
-
-<SCRIPT LANGUAGE="Javascript">
-  function decision( message, url )
-  {
-    if( confirm(message) )
-    {
-      location.href = url;
-    }
-  }
-</SCRIPT>
-
-<title> JCS Admin Servlet </title>
-
-</head>
-
-<body>
-
-<%
-			String CACHE_NAME_PARAM = "cacheName";
-			String ACTION_PARAM = "action";
-		 	String CLEAR_ALL_REGIONS_ACTION = "clearAllRegions";
-		 	String CLEAR_REGION_ACTION = "clearRegion";
-		 	String REMOVE_ACTION = "remove";
-		 	String DETAIL_ACTION = "detail";
-		 	String REGION_SUMMARY_ACTION = "regionSummary";
-		 	String ITEM_ACTION = "item";
-			String KEY_PARAM = "key";
-			String SILENT_PARAM = "silent";
-
-     		String DEFAULT_TEMPLATE_NAME = "DEFAULT";
-     		String REGION_DETAIL_TEMPLATE_NAME = "DETAIL";
-     		String ITEM_TEMPLATE_NAME = "ITEM";
-     		String REGION_SUMMARY_TEMPLATE_NAME = "SUMMARY";
-
-			String templateName = DEFAULT_TEMPLATE_NAME;
-
-			HashMap<String, Object> context = new HashMap<String, Object>();
-
-			// Get cacheName for actions from request (might be null)
-			String cacheName = request.getParameter( CACHE_NAME_PARAM );
-
-			if ( cacheName != null )
-			{
-			    cacheName = cacheName.trim();
-			}
-
-			// If an action was provided, handle it
-			String action = request.getParameter( ACTION_PARAM );
-
-			if ( action != null )
-			{
-				if ( action.equals( CLEAR_ALL_REGIONS_ACTION ) )
-				{
-					jcsBean.clearAllRegions();
-				}
-				else if ( action.equals( CLEAR_REGION_ACTION ) )
-				{
-					if ( cacheName == null )
-					{
-						// Not Allowed
-					}
-					else
-					{
-						jcsBean.clearRegion( cacheName );
-					}
-				}
-				else if ( action.equals( REMOVE_ACTION ) )
-				{
-					String[] keys = request.getParameterValues( KEY_PARAM );
-
-					for ( int i = 0; i < keys.length; i++ )
-					{
-						jcsBean.removeItem( cacheName, keys[ i ] );
-					}
-
-					templateName = REGION_DETAIL_TEMPLATE_NAME;
-				}
-				else if ( action.equals( DETAIL_ACTION ) )
-				{
-					templateName = REGION_DETAIL_TEMPLATE_NAME;
-				}
-				else if ( action.equals( ITEM_ACTION ) )
-				{
-					templateName = ITEM_TEMPLATE_NAME;
-				}
-				else if ( action.equals( REGION_SUMMARY_ACTION ) )
-				{
-					templateName = REGION_SUMMARY_TEMPLATE_NAME;
-				}
-			}
-
-			if ( request.getParameter( SILENT_PARAM ) != null )
-			{
-				// If silent parameter was passed, no output should be produced.
-				//return null;
-			}
-			else
-			{
-				// Populate the context based on the template
-				if ( templateName == REGION_DETAIL_TEMPLATE_NAME )
-				{
-					//context.put( "cacheName", cacheName );
-					context.put( "elementInfoRecords", jcsBean.buildElementInfo( cacheName ) );
-				}
-				else if ( templateName == DEFAULT_TEMPLATE_NAME )
-				{
-					context.put( "cacheInfoRecords", jcsBean.buildCacheInfo() );
-				}
-			}
-
-///////////////////////////////////////////////////////////////////////////////////
-			//handle display
-
-			if ( templateName == ITEM_TEMPLATE_NAME )
-			{
-			    String key = request.getParameter( KEY_PARAM );
-
-			    if ( key != null )
-			    {
-			        key = key.trim();
-			    }
-
-			    CacheAccess<Serializable, Serializable> cache = JCS.getInstance( cacheName );
-				org.apache.commons.jcs.engine.behavior.ICacheElement<?, ?> element = cache.getCacheElement( key );
-%>
-<h1> Item for key [<%=key%>] in region [<%=cacheName%>] </h1>
-
-<a href="JCSAdmin.jsp?action=detail&cacheName=<%=cacheName%>">Region Detail</a>
-| <a href="JCSAdmin.jsp">All Regions</a>
-
-  <pre>
-	<%=element%>
-  </pre>
-<%
-			}
-			else if ( templateName == REGION_SUMMARY_TEMPLATE_NAME )
-			{
-%>
-
-<h1> Summary for region [<%=cacheName%>] </h1>
-
-<a href="JCSAdmin.jsp">All Regions</a>
-
-<%
-    CacheAccess<?, ?> cache = JCS.getInstance( cacheName );
-    String stats = cache.getStats();
-%>
-
-    <br>
-<b> Stats for region [<%=cacheName%>] </b>
-
-    <pre>
-    	<%=stats%>
-    </pre>
-
-<%
-			}
-			else if ( templateName == REGION_DETAIL_TEMPLATE_NAME )
-			{
-%>
-
-<h1> Detail for region [<%=cacheName%>] </h1>
-
-<a href="JCSAdmin.jsp">All Regions</a>
-
-<table border="1" cellpadding="5" >
-    <tr>
-        <th> Key </th>
-        <th> Eternal? </th>
-        <th> Create time </th>
-        <th> Max Life (s) </th>
-        <th> Till Expiration (s) </th>
-    </tr>
-<%
-	CacheElementInfo[] list = (CacheElementInfo[]) context.get( "elementInfoRecords" );
-    for (CacheElementInfo element : list)
-    {
-%>
-        <tr>
-            <td> <%=element.getKey()%> </td>
-            <td> <%=element.isEternal()%> </td>
-            <td> <%=element.getCreateTime()%> </td>
-            <td> <%=element.getMaxLifeSeconds()%> </td>
-            <td> <%=element.getExpiresInSeconds()%> </td>
-            <td>
-             <a href="JCSAdmin.jsp?action=item&cacheName=<%=cacheName%>&key=<%=element.getKey()%>"> View </a>
-            | <a href="JCSAdmin.jsp?action=remove&cacheName=<%=cacheName%>&key=<%=element.getKey()%>"> Remove </a>
-            </td>
-        </tr>
-<%
-    }
-
-    CacheAccess<?, ?> cache = JCS.getInstance( cacheName );
-    String stats = cache.getStats();
-%>
-    </table>
-
-    <br>
-<b> Stats for region [<%=cacheName%>] </b>
-
-    <pre>
-    	<%=stats%>
-    </pre>
-<%
-  }
-  else
-  {
-%>
-
-<h1> Cache Regions </h1>
-
-<p>
-These are the regions which are currently defined in the cache. 'Items' and
-'Bytes' refer to the elements currently in memory (not spooled). You can clear
-all items for a region by selecting 'Remove all' next to the desired region
-below. You can also <a href="javascript:decision('Clicking OK will clear all the data from all regions!','JCSAdmin.jsp?action=clearAllRegions')">Clear all regions</a>
-which empties the entire cache.
-</p>
-<p>
-	<form action="JCSAdmin.jsp">
-		<input type="hidden" name="action" value="item">
-		Retrieve (key) <input type="text" name="key">  
-		(region) <select name="cacheName">
-<%
-  CacheRegionInfo[] listSelect = (CacheRegionInfo[]) context.get( "cacheInfoRecords" );
-  for (CacheRegionInfo record : listSelect)
-  {
-	%>
-    <option value="<%=record.getCacheName()%>"><%=record.getCacheName()%></option>
-	<%
-  }
-%>
-				</select>
-		<input type="submit">
-	</form>
-</p>
-
-<table border="1" cellpadding="5" >
-    <tr>
-        <th> Cache Name </th>
-        <th> Items </th>
-        <th> Bytes </th>
-        <th> Status </th>
-        <th> Memory Hits </th>
-        <th> Aux Hits </th>
-        <th> Not Found Misses </th>
-        <th> Expired Misses </th>
-    </tr>
-
-<%
-	CacheRegionInfo[] list = (CacheRegionInfo[]) context.get( "cacheInfoRecords" );
-    for (CacheRegionInfo record : listSelect)
-    {
-%>
-        <tr>
-            <td> <%=record.getCacheName()%> </td>
-            <td> <%=record.getCacheSize()%> </td>
-            <td> <%=record.getByteCount()%> </td>
-            <td> <%=record.getCacheStatus()%> </td>
-            <td> <%=record.getHitCountRam()%> </td>
-            <td> <%=record.getHitCountAux()%> </td>
-            <td> <%=record.getMissCountNotFound()%> </td>
-            <td> <%=record.getMissCountExpired()%> </td>
-            <td>
-                <a href="JCSAdmin.jsp?action=regionSummary&cacheName=<%=record.getCacheName()%>"> Summary </a>
-                | <a href="JCSAdmin.jsp?action=detail&cacheName=<%=record.getCacheName()%>"> Detail </a>
-                | <a href="javascript:decision('Clicking OK will remove all the data from the region [<%=record.getCacheName()%>]!','JCSAdmin.jsp?action=clearRegion&cacheName=<%=record.getCacheName()%>')"> Clear </a>
-            </td>
-        </tr>
-<%
-    }
-%>
-    </table>
-<%
-  }
-%>
-
-
-</body>
-
-</html>
diff --git a/src/org/apache/commons/jcs/admin/JCSAdminBean.java b/src/org/apache/commons/jcs/admin/JCSAdminBean.java
deleted file mode 100644
index 79ae211..0000000
--- a/src/org/apache/commons/jcs/admin/JCSAdminBean.java
+++ /dev/null
@@ -1,436 +0,0 @@
-package org.apache.commons.jcs.admin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.auxiliary.remote.server.RemoteCacheServer;
-import org.apache.commons.jcs.auxiliary.remote.server.RemoteCacheServerFactory;
-import org.apache.commons.jcs.engine.CacheElementSerialized;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.control.CompositeCacheManager;
-import org.apache.commons.jcs.engine.memory.behavior.IMemoryCache;
-
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-import java.text.DateFormat;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.Set;
-
-/**
- * A servlet which provides HTTP access to JCS. Allows a summary of regions to be viewed, and
- * removeAll to be run on individual regions or all regions. Also provides the ability to remove
- * items (any number of key arguments can be provided with action 'remove'). Should be initialized
- * with a properties file that provides at least a classpath resource loader.
- */
-public class JCSAdminBean implements JCSJMXBean
-{
-    /** The cache manager. */
-    private final CompositeCacheManager cacheHub;
-
-    /**
-     * Default constructor
-     */
-    public JCSAdminBean()
-    {
-        super();
-        try
-        {
-            this.cacheHub = CompositeCacheManager.getInstance();
-        }
-        catch (CacheException e)
-        {
-            throw new RuntimeException("Could not retrieve cache manager instance", e);
-        }
-    }
-
-    /**
-     * Parameterized constructor
-     *
-	 * @param cacheHub the cache manager instance
-	 */
-	public JCSAdminBean(CompositeCacheManager cacheHub)
-	{
-		super();
-		this.cacheHub = cacheHub;
-	}
-
-	/**
-     * Builds up info about each element in a region.
-     * <p>
-     * @param cacheName
-     * @return Array of CacheElementInfo objects
-     * @throws Exception
-     */
-    @Override
-    public CacheElementInfo[] buildElementInfo( String cacheName )
-        throws Exception
-    {
-        CompositeCache<Serializable, Serializable> cache = cacheHub.getCache( cacheName );
-
-        Serializable[] keys = cache.getMemoryCache().getKeySet().toArray(new Serializable[0]);
-
-        // Attempt to sort keys according to their natural ordering. If that
-        // fails, get the key array again and continue unsorted.
-        try
-        {
-            Arrays.sort( keys );
-        }
-        catch ( Exception e )
-        {
-            keys = cache.getMemoryCache().getKeySet().toArray(new Serializable[0]);
-        }
-
-        LinkedList<CacheElementInfo> records = new LinkedList<CacheElementInfo>();
-
-        ICacheElement<Serializable, Serializable> element;
-        IElementAttributes attributes;
-        CacheElementInfo elementInfo;
-
-        DateFormat format = DateFormat.getDateTimeInstance( DateFormat.SHORT, DateFormat.SHORT );
-
-        long now = System.currentTimeMillis();
-
-        for (Serializable key : keys)
-        {
-            element = cache.getMemoryCache().getQuiet( key );
-
-            attributes = element.getElementAttributes();
-
-            elementInfo = new CacheElementInfo(
-            		String.valueOf( key ),
-            		attributes.getIsEternal(),
-            		format.format(new Date(attributes.getCreateTime())),
-            		attributes.getMaxLife(),
-            		(now - attributes.getCreateTime() - attributes.getMaxLife() * 1000 ) / -1000);
-
-            records.add( elementInfo );
-        }
-
-        return records.toArray(new CacheElementInfo[0]);
-    }
-
-    /**
-     * Builds up data on every region.
-     * <p>
-     * TODO we need a most light weight method that does not count bytes. The byte counting can
-     *       really swamp a server.
-     * @return list of CacheRegionInfo objects
-     * @throws Exception
-     */
-    @Override
-    public CacheRegionInfo[] buildCacheInfo()
-        throws Exception
-    {
-        String[] cacheNames = cacheHub.getCacheNames();
-
-        Arrays.sort( cacheNames );
-
-        LinkedList<CacheRegionInfo> cacheInfo = new LinkedList<CacheRegionInfo>();
-
-        CacheRegionInfo regionInfo;
-        CompositeCache<?, ?> cache;
-
-        for ( int i = 0; i < cacheNames.length; i++ )
-        {
-            cache = cacheHub.getCache( cacheNames[i] );
-
-            regionInfo = new CacheRegionInfo(
-                    cache.getCacheName(),
-                    cache.getSize(),
-                    cache.getStatus().toString(),
-                    cache.getStats(),
-                    cache.getHitCountRam(),
-                    cache.getHitCountAux(),
-                    cache.getMissCountNotFound(),
-                    cache.getMissCountExpired(),
-                    getByteCount( cache ));
-
-            cacheInfo.add( regionInfo );
-        }
-
-        return cacheInfo.toArray(new CacheRegionInfo[0]);
-    }
-
-
-	/**
-     * Tries to estimate how much data is in a region. This is expensive. If there are any non serializable objects in
-     * the region or an error occurs, suppresses exceptions and returns 0.
-     * <p/>
-     *
-     * @return int The size of the region in bytes.
-     */
-	@Override
-    public int getByteCount(String cacheName)
-	{
-		return getByteCount(cacheHub.getCache(cacheName));
-	}
-
-	/**
-     * Tries to estimate how much data is in a region. This is expensive. If there are any non serializable objects in
-     * the region or an error occurs, suppresses exceptions and returns 0.
-     * <p/>
-     *
-     * @return int The size of the region in bytes.
-     */
-    public <K, V> int getByteCount(CompositeCache<K, V> cache)
-    {
-        if (cache == null)
-        {
-            throw new IllegalArgumentException("The cache object specified was null.");
-        }
-
-        long size = 0;
-        IMemoryCache<K, V> memCache = cache.getMemoryCache();
-
-        for (K key : memCache.getKeySet())
-        {
-            ICacheElement<K, V> ice = null;
-			try
-			{
-				ice = memCache.get(key);
-			}
-			catch (IOException e)
-			{
-                throw new RuntimeException("IOException while trying to get a cached element", e);
-			}
-
-			if (ice == null)
-			{
-				continue;
-			}
-
-			if (ice instanceof CacheElementSerialized)
-            {
-                size = size + ((CacheElementSerialized<K, V>) ice).getSerializedValue().length;
-            }
-            else
-            {
-                Object element = ice.getVal();
-
-                //CountingOnlyOutputStream: Keeps track of the number of bytes written to it, but doesn't write them anywhere.
-                CountingOnlyOutputStream counter = new CountingOnlyOutputStream();
-                ObjectOutputStream out = null;
-                try
-                {
-                    out = new ObjectOutputStream(counter);
-                    out.writeObject(element);
-                }
-                catch (IOException e)
-                {
-                    throw new RuntimeException("IOException while trying to measure the size of the cached element", e);
-                }
-                finally
-                {
-                	try
-                	{
-                		if (out != null)
-                		{
-                			out.close();
-                		}
-					}
-                	catch (IOException e)
-                	{
-                		// ignore
-					}
-                	try
-                	{
-						counter.close();
-					}
-                	catch (IOException e)
-                	{
-                		// ignore
-					}
-                }
-
-                // 4 bytes lost for the serialization header
-                size = size + counter.getCount() - 4;
-            }
-        }
-
-        if (size > Integer.MAX_VALUE)
-        {
-            throw new IllegalStateException("The size of cache " + cache.getCacheName() + " (" + size + " bytes) is too large to be represented as an integer.");
-        }
-
-        return (int) size;
-    }
-
-    /**
-     * Clears all regions in the cache.
-     * <p/>
-     * If this class is running within a remote cache server, clears all regions via the <code>RemoteCacheServer</code>
-     * API, so that removes will be broadcast to client machines. Otherwise clears all regions in the cache directly via
-     * the usual cache API.
-     */
-    @Override
-    public void clearAllRegions() throws IOException
-    {
-        if (RemoteCacheServerFactory.getRemoteCacheServer() == null)
-        {
-            // Not running in a remote cache server.
-            // Remove objects from the cache directly, as no need to broadcast removes to client machines...
-
-            String[] names = cacheHub.getCacheNames();
-
-            for (int i = 0; i < names.length; i++)
-            {
-                cacheHub.getCache(names[i]).removeAll();
-            }
-        }
-        else
-        {
-            // Running in a remote cache server.
-            // Remove objects via the RemoteCacheServer API, so that removes will be broadcast to client machines...
-            try
-            {
-                String[] cacheNames = cacheHub.getCacheNames();
-
-                // Call remoteCacheServer.removeAll(String) for each cacheName...
-                RemoteCacheServer<?, ?> remoteCacheServer = RemoteCacheServerFactory.getRemoteCacheServer();
-                for (int i = 0; i < cacheNames.length; i++)
-                {
-                    String cacheName = cacheNames[i];
-                    remoteCacheServer.removeAll(cacheName);
-                }
-            }
-            catch (IOException e)
-            {
-                throw new IllegalStateException("Failed to remove all elements from all cache regions: " + e, e);
-            }
-        }
-    }
-
-    /**
-     * Clears a particular cache region.
-     * <p/>
-     * If this class is running within a remote cache server, clears the region via the <code>RemoteCacheServer</code>
-     * API, so that removes will be broadcast to client machines. Otherwise clears the region directly via the usual
-     * cache API.
-     */
-    @Override
-    public void clearRegion(String cacheName) throws IOException
-    {
-        if (cacheName == null)
-        {
-            throw new IllegalArgumentException("The cache name specified was null.");
-        }
-        if (RemoteCacheServerFactory.getRemoteCacheServer() == null)
-        {
-            // Not running in a remote cache server.
-            // Remove objects from the cache directly, as no need to broadcast removes to client machines...
-            cacheHub.getCache(cacheName).removeAll();
-        }
-        else
-        {
-            // Running in a remote cache server.
-            // Remove objects via the RemoteCacheServer API, so that removes will be broadcast to client machines...
-            try
-            {
-                // Call remoteCacheServer.removeAll(String)...
-                RemoteCacheServer<?, ?> remoteCacheServer = RemoteCacheServerFactory.getRemoteCacheServer();
-                remoteCacheServer.removeAll(cacheName);
-            }
-            catch (IOException e)
-            {
-                throw new IllegalStateException("Failed to remove all elements from cache region [" + cacheName + "]: " + e, e);
-            }
-        }
-    }
-
-    /**
-     * Removes a particular item from a particular region.
-     * <p/>
-     * If this class is running within a remote cache server, removes the item via the <code>RemoteCacheServer</code>
-     * API, so that removes will be broadcast to client machines. Otherwise clears the region directly via the usual
-     * cache API.
-     *
-     * @param cacheName
-     * @param key
-     *
-     * @throws IOException
-     */
-    @Override
-    public void removeItem(String cacheName, String key) throws IOException
-    {
-        if (cacheName == null)
-        {
-            throw new IllegalArgumentException("The cache name specified was null.");
-        }
-        if (key == null)
-        {
-            throw new IllegalArgumentException("The key specified was null.");
-        }
-        if (RemoteCacheServerFactory.getRemoteCacheServer() == null)
-        {
-            // Not running in a remote cache server.
-            // Remove objects from the cache directly, as no need to broadcast removes to client machines...
-            cacheHub.getCache(cacheName).remove(key);
-        }
-        else
-        {
-            // Running in a remote cache server.
-            // Remove objects via the RemoteCacheServer API, so that removes will be broadcast to client machines...
-            try
-            {
-                Object keyToRemove = null;
-                CompositeCache<?, ?> cache = CompositeCacheManager.getInstance().getCache(cacheName);
-
-                // A String key was supplied, but to remove elements via the RemoteCacheServer API, we need the
-                // actual key object as stored in the cache (i.e. a Serializable object). To find the key in this form,
-                // we iterate through all keys stored in the memory cache until we find one whose toString matches
-                // the string supplied...
-                Set<?> allKeysInCache = cache.getMemoryCache().getKeySet();
-                for (Object keyInCache : allKeysInCache)
-                {
-                    if (keyInCache.toString().equals(key))
-                    {
-                        if (keyToRemove == null)
-                        {
-                            keyToRemove = keyInCache;
-                        }
-                        else
-                        {
-                            // A key matching the one specified was already found...
-                            throw new IllegalStateException("Unexpectedly found duplicate keys in the cache region matching the key specified.");
-                        }
-                    }
-                }
-                if (keyToRemove == null)
-                {
-                    throw new IllegalStateException("No match for this key could be found in the set of keys retrieved from the memory cache.");
-                }
-                // At this point, we have retrieved the matching K key.
-
-                // Call remoteCacheServer.remove(String, Serializable)...
-                RemoteCacheServer<Serializable, Serializable> remoteCacheServer = RemoteCacheServerFactory.getRemoteCacheServer();
-                remoteCacheServer.remove(cacheName, key);
-            }
-            catch (Exception e)
-            {
-                throw new IllegalStateException("Failed to remove element with key [" + key + ", " + key.getClass() + "] from cache region [" + cacheName + "]: " + e, e);
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/admin/JCSJMXBean.java b/src/org/apache/commons/jcs/admin/JCSJMXBean.java
deleted file mode 100644
index 863d6a4..0000000
--- a/src/org/apache/commons/jcs/admin/JCSJMXBean.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.apache.commons.jcs.admin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import javax.management.MXBean;
-import java.io.IOException;
-
-/**
- * A MXBean to expose the JCS statistics to JMX
- */
- at MXBean
-public interface JCSJMXBean
-{
-    /**
-     * Builds up info about each element in a region.
-     * <p>
-     * @param cacheName
-     * @return Array of CacheElementInfo objects
-     * @throws Exception
-     */
-    CacheElementInfo[] buildElementInfo( String cacheName ) throws Exception;
-
-    /**
-     * Builds up data on every region.
-     * <p>
-     * TODO we need a most light weight method that does not count bytes. The byte counting can
-     *       really swamp a server.
-     * @return Array of CacheRegionInfo objects
-     * @throws Exception
-     */
-    CacheRegionInfo[] buildCacheInfo() throws Exception;
-
-    /**
-     * Tries to estimate how much data is in a region. This is expensive. If there are any non serializable objects in
-     * the region or an error occurs, suppresses exceptions and returns 0.
-     * <p/>
-     *
-     * @return int The size of the region in bytes.
-     */
-    int getByteCount(String cacheName);
-
-    /**
-     * Clears all regions in the cache.
-     * <p/>
-     * If this class is running within a remote cache server, clears all regions via the <code>RemoteCacheServer</code>
-     * API, so that removes will be broadcast to client machines. Otherwise clears all regions in the cache directly via
-     * the usual cache API.
-     */
-    void clearAllRegions() throws IOException;
-
-    /**
-     * Clears a particular cache region.
-     * <p/>
-     * If this class is running within a remote cache server, clears the region via the <code>RemoteCacheServer</code>
-     * API, so that removes will be broadcast to client machines. Otherwise clears the region directly via the usual
-     * cache API.
-     */
-    void clearRegion(String cacheName) throws IOException;
-
-    /**
-     * Removes a particular item from a particular region.
-     * <p/>
-     * If this class is running within a remote cache server, removes the item via the <code>RemoteCacheServer</code>
-     * API, so that removes will be broadcast to client machines. Otherwise clears the region directly via the usual
-     * cache API.
-     *
-     * @param cacheName
-     * @param key
-     *
-     * @throws IOException
-     */
-    void removeItem(String cacheName, String key) throws IOException;
-}
diff --git a/src/org/apache/commons/jcs/admin/servlet/JCSAdminServlet.java b/src/org/apache/commons/jcs/admin/servlet/JCSAdminServlet.java
deleted file mode 100644
index 2a26c03..0000000
--- a/src/org/apache/commons/jcs/admin/servlet/JCSAdminServlet.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package org.apache.commons.jcs.admin.servlet;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.admin.JCSAdminBean;
-import org.apache.velocity.Template;
-import org.apache.velocity.context.Context;
-import org.apache.velocity.tools.view.VelocityViewServlet;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-/**
- * A servlet which provides HTTP access to JCS. Allows a summary of regions to
- * be viewed, and removeAll to be run on individual regions or all regions. Also
- * provides the ability to remove items (any number of key arguments can be
- * provided with action 'remove'). Should be initialized with a properties file
- * that provides at least a classpath resource loader. Since this extends
- * VelocityServlet, which uses the singleton model for velocity, it will share
- * configuration with any other Velocity in the same JVM.
- * <p>
- * Initialization in a webapp will look something like this:
- * <p>
- *
- * <pre>
- *
- *    [servlet]
- *        [servlet-name]JCSAdminServlet[/servlet-name]
- *        [servlet-class]org.apache.commons.jcs.admin.servlet.JCSAdminServlet[/servlet-class]
- *        [init-param]
- *            [param-name]properties[/param-name]
- *            [param-value]WEB-INF/conf/JCSAdminServlet.velocity.properties[/param-value]
- *        [/init-param]
- *    [/servlet]
- *
- * </pre>
- *
- * <p>
- * FIXME: It would be nice to use the VelocityEngine model so this can be truly
- * standalone. Right now if you run it in the same container as, say, turbine,
- * turbine must be run first to ensure it's config takes precedence.
- * <p>
- */
-public class JCSAdminServlet
-    extends VelocityViewServlet
-{
-    private static final long serialVersionUID = -5519844149238645275L;
-
-    private static final String DEFAULT_TEMPLATE_NAME = "/org/apache/jcs/admin/servlet/JCSAdminServletDefault.vm";
-
-    private static final String REGION_DETAIL_TEMPLATE_NAME = "/org/apache/jcs/admin/servlet/JCSAdminServletRegionDetail.vm";
-
-    // Keys for parameters
-
-    private static final String CACHE_NAME_PARAM = "cacheName";
-
-    private static final String ACTION_PARAM = "action";
-
-    private static final String KEY_PARAM = "key";
-
-    private static final String SILENT_PARAM = "silent";
-
-    // Possible values for 'action' parameter
-
-    private static final String CLEAR_ALL_REGIONS_ACTION = "clearAllRegions";
-
-    private static final String CLEAR_REGION_ACTION = "clearRegion";
-
-    private static final String REMOVE_ACTION = "remove";
-
-    private static final String DETAIL_ACTION = "detail";
-
-    /**
-     * Velocity based admin servlet.
-     * <p>
-     * @param request
-     * @param response
-     * @param context
-     * @return Template
-     * @throws Exception
-     *
-     */
-    @Override
-    protected Template handleRequest( HttpServletRequest request, HttpServletResponse response, Context context )
-    {
-        JCSAdminBean admin = new JCSAdminBean();
-
-        String templateName = DEFAULT_TEMPLATE_NAME;
-
-        // Get cacheName for actions from request (might be null)
-
-        String cacheName = request.getParameter( CACHE_NAME_PARAM );
-
-        // If an action was provided, handle it
-
-        String action = request.getParameter( ACTION_PARAM );
-
-        try
-        {
-			if ( action != null )
-			{
-			    if ( action.equals( CLEAR_ALL_REGIONS_ACTION ) )
-			    {
-			        admin.clearAllRegions();
-			    }
-			    else if ( action.equals( CLEAR_REGION_ACTION ) )
-			    {
-			        if ( cacheName != null )
-			        {
-			            admin.clearRegion( cacheName );
-			        }
-			    }
-			    else if ( action.equals( REMOVE_ACTION ) )
-			    {
-			        String[] keys = request.getParameterValues( KEY_PARAM );
-
-			        for ( int i = 0; i < keys.length; i++ )
-			        {
-			            admin.removeItem( cacheName, keys[i] );
-			        }
-
-			        templateName = REGION_DETAIL_TEMPLATE_NAME;
-			    }
-			    else if ( action.equals( DETAIL_ACTION ) )
-			    {
-			        templateName = REGION_DETAIL_TEMPLATE_NAME;
-			    }
-			}
-		}
-        catch (IOException e)
-        {
-        	getLog().error("Could not execute action.", e);
-        	return null;
-		}
-
-        if ( request.getParameter( SILENT_PARAM ) != null )
-        {
-            // If silent parameter was passed, no output should be produced.
-
-            return null;
-        }
-        // Populate the context based on the template
-
-        try
-        {
-			if ( templateName == REGION_DETAIL_TEMPLATE_NAME )
-			{
-			    context.put( "cacheName", cacheName );
-			    context.put( "elementInfoRecords", admin.buildElementInfo( cacheName ) );
-			}
-			else if ( templateName == DEFAULT_TEMPLATE_NAME )
-			{
-			    context.put( "cacheInfoRecords", admin.buildCacheInfo() );
-			}
-		}
-        catch (Exception e)
-        {
-        	getLog().error("Could not populate context.", e);
-		}
-
-        return getTemplate( templateName );
-    }
-}
diff --git a/src/org/apache/commons/jcs/admin/servlet/JCSAdminServletDefault.vm b/src/org/apache/commons/jcs/admin/servlet/JCSAdminServletDefault.vm
deleted file mode 100644
index 1c993cb..0000000
--- a/src/org/apache/commons/jcs/admin/servlet/JCSAdminServletDefault.vm
+++ /dev/null
@@ -1,64 +0,0 @@
-## Licensed to the Apache Software Foundation (ASF) under one
-## or more contributor license agreements.  See the NOTICE file
-## distributed with this work for additional information
-## regarding copyright ownership.  The ASF licenses this file
-## to you under the Apache License, Version 2.0 (the
-## "License"); you may not use this file except in compliance
-## with the License.  You may obtain a copy of the License at
-##
-##   http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing,
-## software distributed under the License is distributed on an
-## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-## KIND, either express or implied.  See the License for the
-## specific language governing permissions and limitations
-## under the License.
-<html>
-
-<head><title> JCS Admin Servlet </title></head>
-
-<body>
-
-<h1> Cache Regions </h1>
-
-<p>These are the regions which are currently defined in the cache. 'Items' and
-'Bytes' refer to the elements currently in memory (not spooled). You can clear
-all items for a region by selecting 'Remove all' next to the desired region
-below. You can also <a href="?action=clearAllRegions">Clear all regions</a>
-which empties the entire cache.</p>
-
-<table border="1" cellpadding="5" >
-    <tr>
-        <th> Cache Name </th>
-        <th> Items </th>
-        <th> Bytes </th>
-        <th> Status </th>
-        <th> Memory Hits </th>
-        <th> Aux Hits </th>
-        <th> Not Found Misses </th>
-        <th> Expired Misses </th>
-    </tr>
-
-    #foreach ( $record in $cacheInfoRecords )
-        <tr>
-            <td> $record.cache.cacheName </td>
-            <td> $record.cache.size </td>
-            <td> $record.byteCount </td>
-            <td> $record.status </td>
-            <td> $record.cache.hitCountRam </td>
-            <td> $record.cache.hitCountAux </td>
-            <td> $record.cache.missCountNotFound </td>
-            <td> $record.cache.missCountExpired </td>
-            <td>
-                <a href="?action=detail&cacheName=${record.cache.cacheName}"> Detail </a>
-                | <a href="?action=clearRegion&cacheName=${record.cache.cacheName}"> Remove all </a>
-            </td>
-        </tr>
-    #end
-
-</table>
-
-</body>
-
-</html>
diff --git a/src/org/apache/commons/jcs/admin/servlet/JCSAdminServletRegionDetail.vm b/src/org/apache/commons/jcs/admin/servlet/JCSAdminServletRegionDetail.vm
deleted file mode 100644
index 8bbbf06..0000000
--- a/src/org/apache/commons/jcs/admin/servlet/JCSAdminServletRegionDetail.vm
+++ /dev/null
@@ -1,50 +0,0 @@
-## Licensed to the Apache Software Foundation (ASF) under one
-## or more contributor license agreements.  See the NOTICE file
-## distributed with this work for additional information
-## regarding copyright ownership.  The ASF licenses this file
-## to you under the Apache License, Version 2.0 (the
-## "License"); you may not use this file except in compliance
-## with the License.  You may obtain a copy of the License at
-##
-##   http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing,
-## software distributed under the License is distributed on an
-## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-## KIND, either express or implied.  See the License for the
-## specific language governing permissions and limitations
-## under the License.
-<html>
-
-<head><title> JCS Admin Servlet Region Detail </title></head>
-
-<body>
-
-<h1> Keys for region: $cacheName </h1>
-
-<table border="1" cellpadding="5" >
-    <tr>
-        <th> Key </th>
-        <th> Eternal? </th>
-        <th> Create time </th>
-        <th> Max Life (s) </th>
-        <th> Till Expiration (s) </th>
-    </tr>
-
-    #foreach ( $element in $elementInfoRecords )
-
-        <tr>
-            <td> $element.key </td>
-            <td> $element.eternal </td>
-            <td> $element.createTime </td>
-            <td> $element.maxLifeSeconds </td>
-            <td> $element.expiresInSeconds </td>
-            <td> <a href="?action=remove&cacheName=${cacheName}&key=${element.key}"> Remove </a> </td>
-        </tr>
-    #end
-
-</table>
-
-</body>
-
-</html>
diff --git a/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCache.java b/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCache.java
deleted file mode 100644
index f66d3f5..0000000
--- a/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCache.java
+++ /dev/null
@@ -1,210 +0,0 @@
-package org.apache.commons.jcs.auxiliary;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.CacheEvent;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEvent;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.engine.match.KeyMatcherPatternImpl;
-import org.apache.commons.jcs.engine.match.behavior.IKeyMatcher;
-import org.apache.commons.jcs.utils.serialization.StandardSerializer;
-
-/** This holds convenience methods used by most auxiliary caches. */
-public abstract class AbstractAuxiliaryCache<K, V>
-    implements AuxiliaryCache<K, V>
-{
-    /** An optional event logger */
-    private ICacheEventLogger cacheEventLogger;
-
-    /** The serializer. Uses a standard serializer by default. */
-    private IElementSerializer elementSerializer = new StandardSerializer();
-
-    /** Key matcher used by the getMatching API */
-    private IKeyMatcher<K> keyMatcher = new KeyMatcherPatternImpl<K>();
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param item
-     * @param eventName
-     * @return ICacheEvent
-     */
-    protected ICacheEvent<K> createICacheEvent( ICacheElement<K, V> item, String eventName )
-    {
-        if ( cacheEventLogger == null )
-        {
-            return new CacheEvent<K>();
-        }
-        String diskLocation = getEventLoggingExtraInfo();
-        String regionName = null;
-        K key = null;
-        if ( item != null )
-        {
-            regionName = item.getCacheName();
-            key = item.getKey();
-        }
-        return cacheEventLogger.createICacheEvent( getAuxiliaryCacheAttributes().getName(), regionName, eventName,
-                                                   diskLocation, key );
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param regionName
-     * @param key
-     * @param eventName
-     * @return ICacheEvent
-     */
-    protected <T> ICacheEvent<T> createICacheEvent( String regionName, T key, String eventName )
-    {
-        if ( cacheEventLogger == null )
-        {
-            return new CacheEvent<T>();
-        }
-        String diskLocation = getEventLoggingExtraInfo();
-        return cacheEventLogger.createICacheEvent( getAuxiliaryCacheAttributes().getName(), regionName, eventName,
-                                                   diskLocation, key );
-
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param cacheEvent
-     */
-    protected <T> void logICacheEvent( ICacheEvent<T> cacheEvent )
-    {
-        if ( cacheEventLogger != null )
-        {
-            cacheEventLogger.logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param source
-     * @param eventName
-     * @param optionalDetails
-     */
-    protected void logApplicationEvent( String source, String eventName, String optionalDetails )
-    {
-        if ( cacheEventLogger != null )
-        {
-            cacheEventLogger.logApplicationEvent( source, eventName, optionalDetails );
-        }
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param source
-     * @param eventName
-     * @param errorMessage
-     */
-    protected void logError( String source, String eventName, String errorMessage )
-    {
-        if ( cacheEventLogger != null )
-        {
-            cacheEventLogger.logError( source, eventName, errorMessage );
-        }
-    }
-
-    /**
-     * Gets the extra info for the event log.
-     * <p>
-     * @return IP, or disk location, etc.
-     */
-    public abstract String getEventLoggingExtraInfo();
-
-    /**
-     * Allows it to be injected.
-     * <p>
-     * @param cacheEventLogger
-     */
-    @Override
-    public void setCacheEventLogger( ICacheEventLogger cacheEventLogger )
-    {
-        this.cacheEventLogger = cacheEventLogger;
-    }
-
-    /**
-     * Allows it to be injected.
-     * <p>
-     * @return cacheEventLogger
-     */
-    public ICacheEventLogger getCacheEventLogger()
-    {
-        return this.cacheEventLogger;
-    }
-
-    /**
-     * Allows you to inject a custom serializer. A good example would be a compressing standard
-     * serializer.
-     * <p>
-     * Does not allow you to set it to null.
-     * <p>
-     * @param elementSerializer
-     */
-    @Override
-    public void setElementSerializer( IElementSerializer elementSerializer )
-    {
-        if ( elementSerializer != null )
-        {
-            this.elementSerializer = elementSerializer;
-        }
-    }
-
-    /**
-     * Allows it to be injected.
-     * <p>
-     * @return elementSerializer
-     */
-    public IElementSerializer getElementSerializer()
-    {
-        return this.elementSerializer;
-    }
-
-    /**
-     * Sets the key matcher used by get matching.
-     * <p>
-     * @param keyMatcher
-     */
-    @Override
-    public void setKeyMatcher( IKeyMatcher<K> keyMatcher )
-    {
-        if ( keyMatcher != null )
-        {
-            this.keyMatcher = keyMatcher;
-        }
-    }
-
-    /**
-     * Returns the key matcher used by get matching.
-     * <p>
-     * @return keyMatcher
-     */
-    public IKeyMatcher<K> getKeyMatcher()
-    {
-        return this.keyMatcher;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheAttributes.java
deleted file mode 100644
index e268c60..0000000
--- a/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheAttributes.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.apache.commons.jcs.auxiliary;
-
-import org.apache.commons.jcs.engine.behavior.ICacheEventQueue;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This has common attributes used by all auxiliaries.
- */
-public abstract class AbstractAuxiliaryCacheAttributes
-    implements AuxiliaryCacheAttributes
-{
-    /** Don't change */
-    private static final long serialVersionUID = -6594609334959187673L;
-
-    /** cacheName */
-    private String cacheName;
-
-    /** name */
-    private String name;
-
-    /** eventQueueType -- pooled, or single threaded */
-    private ICacheEventQueue.QueueType eventQueueType;
-
-    /** Named when pooled */
-    private String eventQueuePoolName;
-
-    /**
-     * @param name
-     */
-    @Override
-    public void setCacheName( String name )
-    {
-        this.cacheName = name;
-    }
-
-    /**
-     * Gets the cacheName attribute of the AuxiliaryCacheAttributes object
-     * <p>
-     * @return The cacheName value
-     */
-    @Override
-    public String getCacheName()
-    {
-        return this.cacheName;
-    }
-
-    /**
-     * This is the name of the auxiliary in configuration file.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes#setName(java.lang.String)
-     */
-    @Override
-    public void setName( String s )
-    {
-        this.name = s;
-    }
-
-    /**
-     * Gets the name attribute of the AuxiliaryCacheAttributes object
-     * <p>
-     * @return The name value
-     */
-    @Override
-    public String getName()
-    {
-        return this.name;
-    }
-
-    /**
-     * SINGLE is the default. If you choose POOLED, the value of EventQueuePoolName will be used
-     * <p>
-     * @param queueType SINGLE or POOLED
-     */
-    @Override
-    public void setEventQueueType( ICacheEventQueue.QueueType queueType )
-    {
-        this.eventQueueType = queueType;
-    }
-
-    /**
-     * @return SINGLE or POOLED
-     */
-    @Override
-    public ICacheEventQueue.QueueType getEventQueueType()
-    {
-        return eventQueueType;
-    }
-
-    /**
-     * If you choose a POOLED event queue type, the value of EventQueuePoolName will be used. This
-     * is ignored if the pool type is SINGLE
-     * <p>
-     * @param s SINGLE or POOLED
-     */
-    @Override
-    public void setEventQueuePoolName( String s )
-    {
-        eventQueuePoolName = s;
-    }
-
-    /**
-     * Sets the pool name to use. If a pool is not found by this name, the thread pool manager will
-     * return a default configuration.
-     * <p>
-     * @return name of thread pool to use for this auxiliary
-     */
-    @Override
-    public String getEventQueuePoolName()
-    {
-        return eventQueuePoolName;
-    }
-
-    /**
-     * @see java.lang.Object#clone()
-     */
-    @Override
-    public AbstractAuxiliaryCacheAttributes clone()
-    {
-        try
-        {
-            return (AbstractAuxiliaryCacheAttributes)super.clone();
-        }
-        catch (CloneNotSupportedException e)
-        {
-            throw new RuntimeException("Clone not supported. This should never happen.", e);
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheEventLogging.java b/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheEventLogging.java
deleted file mode 100644
index 44e368e..0000000
--- a/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheEventLogging.java
+++ /dev/null
@@ -1,353 +0,0 @@
-package org.apache.commons.jcs.auxiliary;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEvent;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * All ICacheEvents are defined as final. Children must implement process events. These are wrapped
- * in event log parent calls.
- * <p>
- * You can override the public method, but if you don't, the default will call getWithTiming.
- */
-public abstract class AbstractAuxiliaryCacheEventLogging<K, V>
-    extends AbstractAuxiliaryCache<K, V>
-{
-    /**
-     * Puts an item into the cache.
-     * <p>
-     * @param cacheElement
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> cacheElement )
-        throws IOException
-    {
-        updateWithEventLogging( cacheElement );
-    }
-
-    /**
-     * Puts an item into the cache. Wrapped in logging.
-     * <p>
-     * @param cacheElement
-     * @throws IOException
-     */
-    protected final void updateWithEventLogging( ICacheElement<K, V> cacheElement )
-        throws IOException
-    {
-        ICacheEvent<K> cacheEvent = createICacheEvent( cacheElement, ICacheEventLogger.UPDATE_EVENT );
-        try
-        {
-            processUpdate( cacheElement );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Implementation of put.
-     * <p>
-     * @param cacheElement
-     * @throws IOException
-     */
-    protected abstract void processUpdate( ICacheElement<K, V> cacheElement )
-        throws IOException;
-
-    /**
-     * Gets the item from the cache.
-     * <p>
-     * @param key
-     * @return ICacheElement, a wrapper around the key, value, and attributes
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> get( K key )
-        throws IOException
-    {
-        return getWithEventLogging( key );
-    }
-
-    /**
-     * Gets the item from the cache. Wrapped in logging.
-     * <p>
-     * @param key
-     * @return ICacheElement, a wrapper around the key, value, and attributes
-     * @throws IOException
-     */
-    protected final ICacheElement<K, V> getWithEventLogging( K key )
-        throws IOException
-    {
-        ICacheEvent<K> cacheEvent = createICacheEvent( getCacheName(), key, ICacheEventLogger.GET_EVENT );
-        try
-        {
-            return processGet( key );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Implementation of get.
-     * <p>
-     * @param key
-     * @return ICacheElement, a wrapper around the key, value, and attributes
-     * @throws IOException
-     */
-    protected abstract ICacheElement<K, V> processGet( K key )
-        throws IOException;
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
-        throws IOException
-    {
-        return getMultipleWithEventLogging( keys );
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    protected final Map<K, ICacheElement<K, V>> getMultipleWithEventLogging(Set<K> keys )
-        throws IOException
-    {
-        ICacheEvent<Serializable> cacheEvent = createICacheEvent( getCacheName(), (Serializable) keys,
-                                                    ICacheEventLogger.GETMULTIPLE_EVENT );
-        try
-        {
-            return processGetMultiple( keys );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Implementation of getMultiple.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    protected abstract Map<K, ICacheElement<K, V>> processGetMultiple(Set<K> keys)
-        throws IOException;
-
-    /**
-     * Gets items from the cache matching the given pattern. Items from memory will replace those
-     * from remote sources.
-     * <p>
-     * This only works with string keys. It's too expensive to do a toString on every key.
-     * <p>
-     * Auxiliaries will do their best to handle simple expressions. For instance, the JDBC disk
-     * cache will convert * to % and . to _
-     * <p>
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data matching the pattern.
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String pattern )
-        throws IOException
-    {
-        return getMatchingWithEventLogging( pattern );
-    }
-
-    /**
-     * Gets mmatching items from the cache based on the given pattern.
-     * <p>
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data matching the pattern.
-     * @throws IOException
-     */
-    protected final Map<K, ICacheElement<K, V>> getMatchingWithEventLogging( String pattern )
-        throws IOException
-    {
-        ICacheEvent<String> cacheEvent = createICacheEvent( getCacheName(), pattern, ICacheEventLogger.GETMATCHING_EVENT );
-        try
-        {
-            return processGetMatching( pattern );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Implementation of getMatching.
-     * <p>
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data matching the pattern.
-     * @throws IOException
-     */
-    protected abstract Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
-        throws IOException;
-
-    /**
-     * Removes the item from the cache. Wraps the remove in event logs.
-     * <p>
-     * @param key
-     * @return boolean, whether or not the item was removed
-     * @throws IOException
-     */
-    @Override
-    public boolean remove( K key )
-        throws IOException
-    {
-        return removeWithEventLogging( key );
-    }
-
-    /**
-     * Removes the item from the cache. Wraps the remove in event logs.
-     * <p>
-     * @param key
-     * @return boolean, whether or not the item was removed
-     * @throws IOException
-     */
-    protected final boolean removeWithEventLogging( K key )
-        throws IOException
-    {
-        ICacheEvent<K> cacheEvent = createICacheEvent( getCacheName(), key, ICacheEventLogger.REMOVE_EVENT );
-        try
-        {
-            return processRemove( key );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Specific implementation of remove.
-     * <p>
-     * @param key
-     * @return boolean, whether or not the item was removed
-     * @throws IOException
-     */
-    protected abstract boolean processRemove( K key )
-        throws IOException;
-
-    /**
-     * Removes all from the region. Wraps the removeAll in event logs.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public void removeAll()
-        throws IOException
-    {
-        removeAllWithEventLogging();
-    }
-
-    /**
-     * Removes all from the region. Wraps the removeAll in event logs.
-     * <p>
-     * @throws IOException
-     */
-    protected final void removeAllWithEventLogging()
-        throws IOException
-    {
-        ICacheEvent<String> cacheEvent = createICacheEvent( getCacheName(), "all", ICacheEventLogger.REMOVEALL_EVENT );
-        try
-        {
-            processRemoveAll();
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Specific implementation of removeAll.
-     * <p>
-     * @throws IOException
-     */
-    protected abstract void processRemoveAll()
-        throws IOException;
-
-    /**
-     * Synchronously dispose the remote cache; if failed, replace the remote handle with a zombie.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public void dispose()
-        throws IOException
-    {
-        disposeWithEventLogging();
-    }
-
-    /**
-     * Synchronously dispose the remote cache; if failed, replace the remote handle with a zombie.
-     * Wraps the removeAll in event logs.
-     * <p>
-     * @throws IOException
-     */
-    protected final void disposeWithEventLogging()
-        throws IOException
-    {
-        ICacheEvent<String> cacheEvent = createICacheEvent( getCacheName(), "none", ICacheEventLogger.DISPOSE_EVENT );
-        try
-        {
-            processDispose();
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Specific implementation of dispose.
-     * <p>
-     * @throws IOException
-     */
-    protected abstract void processDispose()
-        throws IOException;
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheFactory.java b/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheFactory.java
deleted file mode 100644
index 657015e..0000000
--- a/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.apache.commons.jcs.auxiliary;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheFactory;
-
-/**
- * Base class for auxiliary cache factories.
- */
-public abstract class AbstractAuxiliaryCacheFactory
-    implements AuxiliaryCacheFactory
-{
-    /** The auxiliary name. The composite cache manager keeps this in a map, keyed by name. */
-    private String name = this.getClass().getSimpleName();
-
-    /**
-     * Initialize this factory
-     */
-    @Override
-    public void initialize()
-    {
-        // empty
-    }
-
-    /**
-     * Dispose of this factory, clean up shared resources
-     */
-    @Override
-    public void dispose()
-    {
-        // empty
-    }
-
-    /**
-     * Gets the name attribute of the DiskCacheFactory object
-     * <p>
-     * @return The name value
-     */
-    @Override
-    public String getName()
-    {
-        return this.name;
-    }
-
-    /**
-     * Sets the name attribute of the DiskCacheFactory object
-     * <p>
-     * @param name The new name value
-     */
-    @Override
-    public void setName( String name )
-    {
-        this.name = name;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheMonitor.java b/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheMonitor.java
deleted file mode 100644
index 4a3e3de..0000000
--- a/src/org/apache/commons/jcs/auxiliary/AbstractAuxiliaryCacheMonitor.java
+++ /dev/null
@@ -1,206 +0,0 @@
-package org.apache.commons.jcs.auxiliary;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.locks.Condition;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Used to monitor and repair any failed connection for the lateral cache service. By default the
- * monitor operates in a failure driven mode. That is, it goes into a wait state until there is an
- * error. Upon the notification of a connection error, the monitor changes to operate in a time
- * driven mode. That is, it attempts to recover the connections on a periodic basis. When all failed
- * connections are restored, it changes back to the failure driven mode.
- */
-public abstract class AbstractAuxiliaryCacheMonitor extends Thread
-{
-    /** The logger */
-    protected final Log log = LogFactory.getLog( this.getClass() );
-
-    /** How long to wait between runs */
-    protected static long idlePeriod = 20 * 1000;
-
-    /**
-     * Must make sure AbstractAuxiliaryCacheMonitor is started before any error can be detected!
-     */
-    protected AtomicBoolean allright = new AtomicBoolean(true);
-
-    /**
-     * shutdown flag
-     */
-    private AtomicBoolean shutdown = new AtomicBoolean(false);
-
-    /** Synchronization helper lock */
-    private Lock lock = new ReentrantLock();
-
-    /** Synchronization helper condition */
-    private Condition trigger = lock.newCondition();
-
-    /**
-     * Constructor
-     *
-     * @param name the thread name
-     */
-    public AbstractAuxiliaryCacheMonitor(String name)
-    {
-        super(name);
-    }
-
-    /**
-     * Configures the idle period between repairs.
-     * <p>
-     * @param idlePeriod The new idlePeriod value
-     */
-    public static void setIdlePeriod( long idlePeriod )
-    {
-        if ( idlePeriod > AbstractAuxiliaryCacheMonitor.idlePeriod )
-        {
-            AbstractAuxiliaryCacheMonitor.idlePeriod = idlePeriod;
-        }
-    }
-
-    /**
-     * Notifies the cache monitor that an error occurred, and kicks off the error recovery process.
-     */
-    public void notifyError()
-    {
-        if (allright.compareAndSet(true, false))
-        {
-            signalTrigger();
-        }
-    }
-
-    /**
-     * Notifies the cache monitor that the service shall shut down
-     */
-    public void notifyShutdown()
-    {
-        if (shutdown.compareAndSet(false, true))
-        {
-            signalTrigger();
-        }
-    }
-
-    // Trigger continuation of loop
-    private void signalTrigger()
-    {
-        try
-        {
-            lock.lock();
-            trigger.signal();
-        }
-        finally
-        {
-            lock.unlock();
-        }
-    }
-
-    /**
-     * Clean up all resources before shutdown
-     */
-    protected abstract void dispose();
-
-    /**
-     * do actual work
-     */
-    protected abstract void doWork();
-
-    /**
-     * Main processing method for the AbstractAuxiliaryCacheMonitor object
-     */
-    @Override
-    public void run()
-    {
-        do
-        {
-            if ( log.isDebugEnabled() )
-            {
-                if ( allright.get() )
-                {
-                    log.debug( "ERROR DRIVEN MODE: allright = true, cache monitor will wait for an error." );
-                }
-                else
-                {
-                    log.debug( "ERROR DRIVEN MODE: allright = false cache monitor running." );
-                }
-            }
-
-            if ( allright.get() )
-            {
-                // Failure driven mode.
-                try
-                {
-                    lock.lock();
-                    trigger.await();
-                    // wake up only if there is an error.
-                }
-                catch ( InterruptedException ignore )
-                {
-                    //no op, this is expected
-                }
-                finally
-                {
-                    lock.unlock();
-                }
-            }
-
-            // check for requested shutdown
-            if ( shutdown.get() )
-            {
-                log.info( "Shutting down cache monitor" );
-                dispose();
-                return;
-            }
-
-            // The "allright" flag must be false here.
-            // Simply presume we can fix all the errors until proven otherwise.
-            allright.set(true);
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Cache monitor running." );
-            }
-
-            doWork();
-
-            try
-            {
-                // don't want to sleep after waking from an error
-                // run immediately and sleep here.
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Cache monitor sleeping for " + idlePeriod + " between runs." );
-                }
-
-                Thread.sleep( idlePeriod );
-            }
-            catch ( InterruptedException ex )
-            {
-                // ignore;
-            }
-        }
-        while ( true );
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/AuxiliaryCache.java b/src/org/apache/commons/jcs/auxiliary/AuxiliaryCache.java
deleted file mode 100644
index 3bc3a52..0000000
--- a/src/org/apache/commons/jcs/auxiliary/AuxiliaryCache.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.apache.commons.jcs.auxiliary;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICache;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-
-import java.io.IOException;
-import java.util.Set;
-
-/**
- * Tag interface for auxiliary caches. Currently this provides no additional methods over what is in
- * ICache, but I anticipate that will change. For example, there will be a mechanism for determining
- * the type (disk/lateral/remote) of the auxiliary here -- and the existing getCacheType will be
- * removed from ICache.
- */
-public interface AuxiliaryCache<K, V>
-    extends ICache<K, V>
-{
-    /**
-     * Get a set of the keys for all elements in the auxiliary cache.
-     * <p>
-     * @return a set of the key type
-     * TODO This should probably be done in chunks with a range passed in. This
-     *       will be a problem if someone puts a 1,000,000 or so items in a
-     *       region.
-     * @throws IOException if access to the auxiliary cache fails
-     */
-    Set<K> getKeySet() throws IOException;
-
-    /**
-     * @return the historical and statistical data for a region's auxiliary cache.
-     */
-    IStats getStatistics();
-
-    /**
-     * This returns the generic attributes for an auxiliary cache. Most implementations will cast
-     * this to a more specific type.
-     * <p>
-     * @return the attributes for the auxiliary cache
-     */
-    AuxiliaryCacheAttributes getAuxiliaryCacheAttributes();
-
-    /**
-     * Allows you to inject a custom serializer. A good example would be a compressing standard
-     * serializer.
-     * <p>
-     * @param elementSerializer
-     */
-    void setElementSerializer( IElementSerializer elementSerializer );
-
-    /**
-     * Every Auxiliary must allow for the use of an event logger.
-     * <p>
-     * @param cacheEventLogger
-     */
-    void setCacheEventLogger( ICacheEventLogger cacheEventLogger );
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/AuxiliaryCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/AuxiliaryCacheAttributes.java
deleted file mode 100644
index f962cd2..0000000
--- a/src/org/apache/commons/jcs/auxiliary/AuxiliaryCacheAttributes.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.apache.commons.jcs.auxiliary;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-import org.apache.commons.jcs.engine.behavior.ICacheEventQueue;
-
-/**
- * This is a nominal interface that auxiliary cache attributes should implement. This allows the
- * auxiliary mangers to share a common interface.
- */
-public interface AuxiliaryCacheAttributes
-    extends Serializable, Cloneable
-{
-    /**
-     * Sets the name of the cache, referenced by the appropriate manager.
-     * <p>
-     * @param s The new cacheName value
-     */
-    void setCacheName( String s );
-
-    /**
-     * Gets the cacheName attribute of the AuxiliaryCacheAttributes object
-     * <p>
-     * @return The cacheName value
-     */
-    String getCacheName();
-
-    /**
-     * Name known by by configurator
-     * <p>
-     * @param s The new name value
-     */
-    void setName( String s );
-
-    /**
-     * Gets the name attribute of the AuxiliaryCacheAttributes object
-     * <p>
-     * @return The name value
-     */
-    String getName();
-
-    /**
-     * SINGLE is the default. If you choose POOLED, the value of EventQueuePoolName will be used
-     * <p>
-     * @param s SINGLE or POOLED
-     */
-    void setEventQueueType( ICacheEventQueue.QueueType s );
-
-    /**
-     * @return SINGLE or POOLED
-     */
-    ICacheEventQueue.QueueType getEventQueueType();
-
-    /**
-     * If you choose a POOLED event queue type, the value of EventQueuePoolName will be used. This
-     * is ignored if the pool type is SINGLE
-     * <p>
-     * @param s SINGLE or POOLED
-     */
-    void setEventQueuePoolName( String s );
-
-    /**
-     * Sets the pool name to use. If a pool is not found by this name, the thread pool manager will
-     * return a default configuration.
-     * <p>
-     * @return name of thread pool to use for this auxiliary
-     */
-    String getEventQueuePoolName();
-
-    /**
-     * Clone object
-     */
-    AuxiliaryCacheAttributes clone();
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/AuxiliaryCacheConfigurator.java b/src/org/apache/commons/jcs/auxiliary/AuxiliaryCacheConfigurator.java
deleted file mode 100644
index 1a87313..0000000
--- a/src/org/apache/commons/jcs/auxiliary/AuxiliaryCacheConfigurator.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package org.apache.commons.jcs.auxiliary;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.utils.config.OptionConverter;
-import org.apache.commons.jcs.utils.config.PropertySetter;
-import org.apache.commons.jcs.utils.serialization.StandardSerializer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.util.Properties;
-
-/**
- * Configuration util for auxiliary caches. I plan to move the auxiliary configuration from the
- * composite cache configurator here.
- */
-public class AuxiliaryCacheConfigurator
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( AuxiliaryCacheConfigurator.class );
-
-    /** .attributes */
-    public static final String ATTRIBUTE_PREFIX = ".attributes";
-
-    /**
-     * jcs.auxiliary.NAME.cacheeventlogger=CLASSNAME
-     * <p>
-     * jcs.auxiliary.NAME.cacheeventlogger.attributes.CUSTOMPROPERTY=VALUE
-     */
-    public static final String CACHE_EVENT_LOGGER_PREFIX = ".cacheeventlogger";
-
-    /**
-     * jcs.auxiliary.NAME.serializer=CLASSNAME
-     * <p>
-     * jcs.auxiliary.NAME.serializer.attributes.CUSTOMPROPERTY=VALUE
-     */
-    public static final String SERIALIZER_PREFIX = ".serializer";
-
-    /**
-     * Parses the event logger config, if there is any for the auxiliary.
-     * <p>
-     * @param props
-     * @param auxPrefix - ex. AUXILIARY_PREFIX + auxName
-     * @return cacheEventLogger
-     */
-    public static ICacheEventLogger parseCacheEventLogger( Properties props, String auxPrefix )
-    {
-        ICacheEventLogger cacheEventLogger = null;
-
-        // auxFactory was not previously initialized.
-        String eventLoggerClassName = auxPrefix + CACHE_EVENT_LOGGER_PREFIX;
-        cacheEventLogger = OptionConverter.instantiateByKey( props, eventLoggerClassName, null );
-        if ( cacheEventLogger != null )
-        {
-            String cacheEventLoggerAttributePrefix = auxPrefix + CACHE_EVENT_LOGGER_PREFIX + ATTRIBUTE_PREFIX;
-            PropertySetter.setProperties( cacheEventLogger, props, cacheEventLoggerAttributePrefix + "." );
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Using custom cache event logger [" + cacheEventLogger + "] for auxiliary [" + auxPrefix
-                    + "]" );
-            }
-        }
-        else
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "No cache event logger defined for auxiliary [" + auxPrefix + "]" );
-            }
-        }
-        return cacheEventLogger;
-    }
-
-    /**
-     * Parses the element config, if there is any for the auxiliary.
-     * <p>
-     * @param props
-     * @param auxPrefix - ex. AUXILIARY_PREFIX + auxName
-     * @return cacheEventLogger
-     */
-    public static IElementSerializer parseElementSerializer( Properties props, String auxPrefix )
-    {
-        // TODO take in the entire prop key
-        IElementSerializer elementSerializer = null;
-
-        // auxFactory was not previously initialized.
-        String elementSerializerClassName = auxPrefix + SERIALIZER_PREFIX;
-        elementSerializer = OptionConverter.instantiateByKey( props, elementSerializerClassName, null );
-        if ( elementSerializer != null )
-        {
-            String attributePrefix = auxPrefix + SERIALIZER_PREFIX + ATTRIBUTE_PREFIX;
-            PropertySetter.setProperties( elementSerializer, props, attributePrefix + "." );
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Using custom element serializer [" + elementSerializer + "] for auxiliary [" + auxPrefix
-                    + "]" );
-            }
-        }
-        else
-        {
-            // use the default standard serializer
-            elementSerializer = new StandardSerializer();
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Using standard serializer [" + elementSerializer + "] for auxiliary [" + auxPrefix + "]" );
-            }
-        }
-        return elementSerializer;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/AuxiliaryCacheFactory.java b/src/org/apache/commons/jcs/auxiliary/AuxiliaryCacheFactory.java
deleted file mode 100644
index 75bcdb7..0000000
--- a/src/org/apache/commons/jcs/auxiliary/AuxiliaryCacheFactory.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.apache.commons.jcs.auxiliary;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-
-/**
- * All auxiliary caches must have a factory that the cache configurator can use to create instances.
- */
-public interface AuxiliaryCacheFactory
-{
-    /**
-     * Creates an auxiliary using the supplied attributes. Adds it to the composite cache manager.
-     * <p>
-     * @param attr
-     * @param cacheMgr This allows auxiliaries to reference the manager without assuming that it is
-     *            a singleton. This will allow JCS to be a non-singleton. Also, it makes it easier to
-     *            test.
-     * @param cacheEventLogger
-     * @param elementSerializer
-     * @return AuxiliaryCache
-     * @throws Exception if cache instance could not be created
-     */
-    <K, V> AuxiliaryCache<K, V> createCache(
-            AuxiliaryCacheAttributes attr, ICompositeCacheManager cacheMgr,
-            ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
-            throws Exception;
-
-    /**
-     * Initialize this factory
-     */
-    void initialize();
-
-    /**
-     * Dispose of this factory, clean up shared resources
-     */
-    void dispose();
-
-    /**
-     * Sets the name attribute of the AuxiliaryCacheFactory object
-     * <p>
-     * @param s The new name value
-     */
-    void setName( String s );
-
-    /**
-     * Gets the name attribute of the AuxiliaryCacheFactory object
-     * <p>
-     * @return The name value
-     */
-    String getName();
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/AbstractDiskCache.java b/src/org/apache/commons/jcs/auxiliary/disk/AbstractDiskCache.java
deleted file mode 100644
index 2dcab4a..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/AbstractDiskCache.java
+++ /dev/null
@@ -1,883 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheEventLogging;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.disk.behavior.IDiskCacheAttributes;
-import org.apache.commons.jcs.engine.CacheEventQueueFactory;
-import org.apache.commons.jcs.engine.CacheInfo;
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.behavior.ICache;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheEventQueue;
-import org.apache.commons.jcs.engine.behavior.ICacheListener;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Abstract class providing a base implementation of a disk cache, which can be easily extended to
- * implement a disk cache for a specific persistence mechanism.
- * <p>
- * When implementing the abstract methods note that while this base class handles most things, it
- * does not acquire or release any locks. Implementations should do so as necessary. This is mainly
- * done to minimize the time spent in critical sections.
- * <p>
- * Error handling in this class needs to be addressed. Currently if an exception is thrown by the
- * persistence mechanism, this class destroys the event queue. Should it also destroy purgatory?
- * Should it dispose itself?
- */
-public abstract class AbstractDiskCache<K, V>
-    extends AbstractAuxiliaryCacheEventLogging<K, V>
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( AbstractDiskCache.class );
-
-    /** Generic disk cache attributes */
-    private IDiskCacheAttributes diskCacheAttributes = null;
-
-    /**
-     * Map where elements are stored between being added to this cache and actually spooled to disk.
-     * This allows puts to the disk cache to return quickly, and the more expensive operation of
-     * serializing the elements to persistent storage queued for later.
-     * <p>
-     * If the elements are pulled into the memory cache while the are still in purgatory, writing to
-     * disk can be canceled.
-     */
-    private Map<K, PurgatoryElement<K, V>> purgatory;
-
-    /**
-     * The CacheEventQueue where changes will be queued for asynchronous updating of the persistent
-     * storage.
-     */
-    private ICacheEventQueue<K, V> cacheEventQueue;
-
-    /**
-     * Indicates whether the cache is 'alive': initialized, but not yet disposed. Child classes must
-     * set this to true.
-     */
-    private boolean alive = false;
-
-    /** Every cache will have a name, subclasses must set this when they are initialized. */
-    private String cacheName;
-
-    /** DEBUG: Keeps a count of the number of purgatory hits for debug messages */
-    private int purgHits = 0;
-
-    /**
-     * We lock here, so that we cannot get an update after a remove all. an individual removal locks
-     * the item.
-     */
-    private final ReentrantReadWriteLock removeAllLock = new ReentrantReadWriteLock();
-
-    // ----------------------------------------------------------- constructors
-
-    /**
-     * Construct the abstract disk cache, create event queues and purgatory. Child classes should
-     * set the alive flag to true after they are initialized.
-     * <p>
-     * @param attr
-     */
-    protected AbstractDiskCache( IDiskCacheAttributes attr )
-    {
-        this.diskCacheAttributes = attr;
-        this.cacheName = attr.getCacheName();
-
-        // create queue
-        CacheEventQueueFactory<K, V> fact = new CacheEventQueueFactory<K, V>();
-        this.cacheEventQueue = fact.createCacheEventQueue( new MyCacheListener(), CacheInfo.listenerId, cacheName,
-                                                           diskCacheAttributes.getEventQueuePoolName(),
-                                                           diskCacheAttributes.getEventQueueType() );
-
-        // create purgatory
-        initPurgatory();
-    }
-
-    /**
-     * @return true if the cache is alive
-     */
-    public boolean isAlive()
-    {
-        return alive;
-    }
-
-    /**
-     * @param alive set the alive status
-     */
-    public void setAlive(boolean alive)
-    {
-        this.alive = alive;
-    }
-
-    /**
-     * Purgatory size of -1 means to use a HashMap with no size limit. Anything greater will use an
-     * LRU map of some sort.
-     * <p>
-     * TODO Currently setting this to 0 will cause nothing to be put to disk, since it will assume
-     *       that if an item is not in purgatory, then it must have been plucked. We should make 0
-     *       work, a way to not use purgatory.
-     */
-    private void initPurgatory()
-    {
-        // we need this so we can stop the updates from happening after a
-        // removeall
-        removeAllLock.writeLock().lock();
-
-        try
-        {
-            synchronized (this)
-            {
-                if ( diskCacheAttributes.getMaxPurgatorySize() >= 0 )
-                {
-                    purgatory = new LRUMapJCS<K, PurgatoryElement<K, V>>( diskCacheAttributes.getMaxPurgatorySize() );
-                }
-                else
-                {
-                    purgatory = new HashMap<K, PurgatoryElement<K, V>>();
-                }
-            }
-        }
-        finally
-        {
-            removeAllLock.writeLock().unlock();
-        }
-    }
-
-    // ------------------------------------------------------- interface ICache
-
-    /**
-     * Adds the provided element to the cache. Element will be added to purgatory, and then queued
-     * for later writing to the serialized storage mechanism.
-     * <p>
-     * An update results in a put event being created. The put event will call the handlePut method
-     * defined here. The handlePut method calls the implemented doPut on the child.
-     * <p>
-     * @param cacheElement
-     * @throws IOException
-     * @see org.apache.commons.jcs.engine.behavior.ICache#update
-     */
-    @Override
-    public final void update( ICacheElement<K, V> cacheElement )
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Putting element in purgatory, cacheName: " + cacheName + ", key: " + cacheElement.getKey() );
-        }
-
-        try
-        {
-            // Wrap the CacheElement in a PurgatoryElement
-            PurgatoryElement<K, V> pe = new PurgatoryElement<K, V>( cacheElement );
-
-            // Indicates the the element is eligible to be spooled to disk,
-            // this will remain true unless the item is pulled back into
-            // memory.
-            pe.setSpoolable( true );
-
-            // Add the element to purgatory
-            synchronized ( purgatory )
-            {
-                purgatory.put( pe.getKey(), pe );
-            }
-
-            // Queue element for serialization
-            cacheEventQueue.addPutEvent( pe );
-        }
-        catch ( IOException ex )
-        {
-            log.error( "Problem adding put event to queue.", ex );
-
-            cacheEventQueue.destroy();
-        }
-    }
-
-    /**
-     * Check to see if the item is in purgatory. If so, return it. If not, check to see if we have
-     * it on disk.
-     * <p>
-     * @param key
-     * @return ICacheElement<K, V> or null
-     * @see AuxiliaryCache#get
-     */
-    @Override
-    public final ICacheElement<K, V> get( K key )
-    {
-        // If not alive, always return null.
-
-        if ( !alive )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "get was called, but the disk cache is not alive." );
-            }
-            return null;
-        }
-
-        PurgatoryElement<K, V> pe = null;
-        synchronized ( purgatory )
-        {
-            pe = purgatory.get( key );
-        }
-
-        // If the element was found in purgatory
-        if ( pe != null )
-        {
-            purgHits++;
-
-            if ( log.isDebugEnabled() )
-            {
-                if ( purgHits % 100 == 0 )
-                {
-                    log.debug( "Purgatory hits = " + purgHits );
-                }
-            }
-
-            // Since the element will go back to the memory cache, we could set
-            // spoolable to false, which will prevent the queue listener from
-            // serializing the element. This would not match the disk cache
-            // behavior and the behavior of other auxiliaries. Gets never remove
-            // items from auxiliaries.
-            // Beyond consistency, the items should stay in purgatory and get
-            // spooled since the mem cache may be set to 0. If an item is
-            // active, it will keep getting put into purgatory and removed. The
-            // CompositeCache now does not put an item to memory from disk if
-            // the size is 0.
-            // Do not set spoolable to false. Just let it go to disk. This
-            // will allow the memory size = 0 setting to work well.
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Found element in purgatory, cacheName: " + cacheName + ", key: " + key );
-            }
-
-            return pe.getCacheElement();
-        }
-
-        // If we reach this point, element was not found in purgatory, so get
-        // it from the cache.
-        try
-        {
-            return doGet( key );
-        }
-        catch ( Exception e )
-        {
-            log.error( e );
-
-            cacheEventQueue.destroy();
-        }
-
-        return null;
-    }
-
-    /**
-     * Gets items from the cache matching the given pattern. Items from memory will replace those
-     * from remote sources.
-     * <p>
-     * This only works with string keys. It's too expensive to do a toString on every key.
-     * <p>
-     * Auxiliaries will do their best to handle simple expressions. For instance, the JDBC disk
-     * cache will convert * to % and . to _
-     * <p>
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data matching the pattern.
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String pattern )
-        throws IOException
-    {
-        // Get the keys from purgatory
-        Set<K> keyArray = null;
-
-        // this avoids locking purgatory, but it uses more memory
-        synchronized ( purgatory )
-        {
-            keyArray = new HashSet<K>(purgatory.keySet());
-        }
-
-        Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray( pattern, keyArray );
-
-        // call getMultiple with the set
-        Map<K, ICacheElement<K, V>> result = processGetMultiple( matchingKeys );
-
-        // Get the keys from disk
-        Map<K, ICacheElement<K, V>> diskMatches = doGetMatching( pattern );
-
-        result.putAll( diskMatches );
-
-        return result;
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> processGetMultiple(Set<K> keys)
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-
-        if ( keys != null && !keys.isEmpty() )
-        {
-            for (K key : keys)
-            {
-                ICacheElement<K, V> element = get( key );
-
-                if ( element != null )
-                {
-                    elements.put( key, element );
-                }
-            }
-        }
-
-        return elements;
-    }
-
-    /**
-     * The keys in the cache.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getKeySet()
-     */
-    @Override
-    public abstract Set<K> getKeySet() throws IOException;
-
-    /**
-     * Removes are not queued. A call to remove is immediate.
-     * <p>
-     * @param key
-     * @return whether the item was present to be removed.
-     * @throws IOException
-     * @see org.apache.commons.jcs.engine.behavior.ICache#remove
-     */
-    @Override
-    public final boolean remove( K key )
-        throws IOException
-    {
-        PurgatoryElement<K, V> pe = null;
-
-        synchronized ( purgatory )
-        {
-            // I'm getting the object, so I can lock on the element
-            // Remove element from purgatory if it is there
-            pe = purgatory.get( key );
-        }
-
-        if ( pe != null )
-        {
-            synchronized ( pe.getCacheElement() )
-            {
-                synchronized ( purgatory )
-                {
-                    purgatory.remove( key );
-                }
-
-                // no way to remove from queue, just make sure it doesn't get on
-                // disk and then removed right afterwards
-                pe.setSpoolable( false );
-
-                // Remove from persistent store immediately
-                doRemove( key );
-            }
-        }
-        else
-        {
-            // Remove from persistent store immediately
-            doRemove( key );
-        }
-
-        return false;
-    }
-
-    /**
-     * @throws IOException
-     * @see org.apache.commons.jcs.engine.behavior.ICache#removeAll
-     */
-    @Override
-    public final void removeAll()
-        throws IOException
-    {
-        if ( this.diskCacheAttributes.isAllowRemoveAll() )
-        {
-            // Replace purgatory with a new empty hashtable
-            initPurgatory();
-
-            // Remove all from persistent store immediately
-            doRemoveAll();
-        }
-        else
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "RemoveAll was requested but the request was not fulfilled: allowRemoveAll is set to false." );
-            }
-        }
-    }
-
-    /**
-     * Adds a dispose request to the disk cache.
-     * <p>
-     * Disposal proceeds in several steps.
-     * <ol>
-     * <li>Prior to this call the Composite cache dumped the memory into the disk cache. If it is
-     * large then we need to wait for the event queue to finish.
-     * <li>Wait until the event queue is empty of until the configured ShutdownSpoolTimeLimit is
-     * reached.
-     * <li>Call doDispose on the concrete impl.
-     * </ol>
-     * @throws IOException
-     */
-    @Override
-    public final void dispose()
-        throws IOException
-    {
-        Runnable disR = new Runnable()
-        {
-            @Override
-            public void run()
-            {
-                boolean keepGoing = true;
-                // long total = 0;
-                long interval = 100;
-                while ( keepGoing )
-                {
-                    keepGoing = !cacheEventQueue.isEmpty();
-                    try
-                    {
-                        Thread.sleep( interval );
-                        // total += interval;
-                        // log.info( "total = " + total );
-                    }
-                    catch ( InterruptedException e )
-                    {
-                        break;
-                    }
-                }
-                log.info( "No longer waiting for event queue to finish: " + cacheEventQueue.getStatistics() );
-            }
-        };
-        Thread t = new Thread( disR );
-        t.start();
-        // wait up to 60 seconds for dispose and then quit if not done.
-        try
-        {
-            t.join( this.diskCacheAttributes.getShutdownSpoolTimeLimit() * 1000L );
-        }
-        catch ( InterruptedException ex )
-        {
-            log.error( "The Shutdown Spool Process was interrupted.", ex );
-        }
-
-        log.info( "In dispose, destroying event queue." );
-        // This stops the processor thread.
-        cacheEventQueue.destroy();
-
-        // Invoke any implementation specific disposal code
-        // need to handle the disposal first.
-        doDispose();
-
-        alive = false;
-    }
-
-    /**
-     * @return the region name.
-     * @see ICache#getCacheName
-     */
-    @Override
-    public String getCacheName()
-    {
-        return cacheName;
-    }
-
-    /**
-     * Gets basic stats for the abstract disk cache.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String getStats()
-    {
-        return getStatistics().toString();
-    }
-
-    /**
-     * Returns semi-structured data.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getStatistics()
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "Abstract Disk Cache" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        elems.add(new StatElement<Integer>( "Purgatory Hits", Integer.valueOf(purgHits) ) );
-        elems.add(new StatElement<Integer>( "Purgatory Size", Integer.valueOf(purgatory.size()) ) );
-
-        // get the stats from the event queue too
-        IStats eqStats = this.cacheEventQueue.getStatistics();
-        elems.addAll(eqStats.getStatElements());
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-
-    /**
-     * @return the status -- alive or disposed from CacheConstants
-     * @see ICache#getStatus
-     */
-    @Override
-    public CacheStatus getStatus()
-    {
-        return ( alive ? CacheStatus.ALIVE : CacheStatus.DISPOSED );
-    }
-
-    /**
-     * Size cannot be determined without knowledge of the cache implementation, so subclasses will
-     * need to implement this method.
-     * <p>
-     * @return the number of items.
-     * @see ICache#getSize
-     */
-    @Override
-    public abstract int getSize();
-
-    /**
-     * @see org.apache.commons.jcs.engine.behavior.ICacheType#getCacheType
-     * @return Always returns DISK_CACHE since subclasses should all be of that type.
-     */
-    @Override
-    public CacheType getCacheType()
-    {
-        return CacheType.DISK_CACHE;
-    }
-
-    /**
-     * Cache that implements the CacheListener interface, and calls appropriate methods in its
-     * parent class.
-     */
-    protected class MyCacheListener
-        implements ICacheListener<K, V>
-    {
-        /** Id of the listener */
-        private long listenerId = 0;
-
-        /**
-         * @return cacheElement.getElementAttributes();
-         * @throws IOException
-         * @see ICacheListener#getListenerId
-         */
-        @Override
-        public long getListenerId()
-            throws IOException
-        {
-            return this.listenerId;
-        }
-
-        /**
-         * @param id
-         * @throws IOException
-         * @see ICacheListener#setListenerId
-         */
-        @Override
-        public void setListenerId( long id )
-            throws IOException
-        {
-            this.listenerId = id;
-        }
-
-        /**
-         * @param element
-         * @throws IOException
-         * @see ICacheListener#handlePut NOTE: This checks if the element is a puratory element and
-         *      behaves differently depending. However since we have control over how elements are
-         *      added to the cache event queue, that may not be needed ( they are always
-         *      PurgatoryElements ).
-         */
-        @Override
-        public void handlePut( ICacheElement<K, V> element )
-            throws IOException
-        {
-            if ( alive )
-            {
-                // If the element is a PurgatoryElement<K, V> we must check to see
-                // if it is still spoolable, and remove it from purgatory.
-                if ( element instanceof PurgatoryElement )
-                {
-                    PurgatoryElement<K, V> pe = (PurgatoryElement<K, V>) element;
-
-                    synchronized ( pe.getCacheElement() )
-                    {
-                        // TODO consider a timeout.
-                        // we need this so that we can have multiple update
-                        // threads and still have removeAll requests come in that
-                        // always win
-                        removeAllLock.readLock().lock();
-
-                        try
-                        {
-                            // TODO consider changing purgatory sync
-                            // String keyAsString = element.getKey().toString();
-                            synchronized ( purgatory )
-                            {
-                                // If the element has already been removed from
-                                // purgatory do nothing
-                                if ( !purgatory.containsKey( pe.getKey() ) )
-                                {
-                                    return;
-                                }
-
-                                element = pe.getCacheElement();
-                            }
-
-                            // I took this out of the purgatory sync block.
-                            // If the element is still eligible, spool it.
-                            if ( pe.isSpoolable() )
-                            {
-                                doUpdate( element );
-                            }
-                        }
-                        finally
-                        {
-                            removeAllLock.readLock().unlock();
-                        }
-
-                        synchronized ( purgatory )
-                        {
-                            // After the update has completed, it is safe to
-                            // remove the element from purgatory.
-                            purgatory.remove( element.getKey() );
-                        }
-                    }
-                }
-                else
-                {
-                    // call the child's implementation
-                    doUpdate( element );
-                }
-            }
-            else
-            {
-                /*
-                 * The cache is not alive, hence the element should be removed from purgatory. All
-                 * elements should be removed eventually. Perhaps, the alive check should have been
-                 * done before it went in the queue. This block handles the case where the disk
-                 * cache fails during normal operations.
-                 */
-                synchronized ( purgatory )
-                {
-                    purgatory.remove( element.getKey() );
-                }
-            }
-        }
-
-        /**
-         * @param cacheName
-         * @param key
-         * @throws IOException
-         * @see ICacheListener#handleRemove
-         */
-        @Override
-        public void handleRemove( String cacheName, K key )
-            throws IOException
-        {
-            if ( alive )
-            {
-                if ( doRemove( key ) )
-                {
-                    log.debug( "Element removed, key: " + key );
-                }
-            }
-        }
-
-        /**
-         * @param cacheName
-         * @throws IOException
-         * @see ICacheListener#handleRemoveAll
-         */
-        @Override
-        public void handleRemoveAll( String cacheName )
-            throws IOException
-        {
-            if ( alive )
-            {
-                doRemoveAll();
-            }
-        }
-
-        /**
-         * @param cacheName
-         * @throws IOException
-         * @see ICacheListener#handleDispose
-         */
-        @Override
-        public void handleDispose( String cacheName )
-            throws IOException
-        {
-            if ( alive )
-            {
-                doDispose();
-            }
-        }
-    }
-
-    /**
-     * Before the event logging layer, the subclasses implemented the do* methods. Now the do*
-     * methods call the *WithEventLogging method on the super. The *WithEventLogging methods call
-     * the abstract process* methods. The children implement the process methods.
-     * <p>
-     * ex. doGet calls getWithEventLogging, which calls processGet
-     */
-
-    /**
-     * Get a value from the persistent store.
-     * <p>
-     * Before the event logging layer, the subclasses implemented the do* methods. Now the do*
-     * methods call the *EventLogging method on the super. The *WithEventLogging methods call the
-     * abstract process* methods. The children implement the process methods.
-     * <p>
-     * @param key Key to locate value for.
-     * @return An object matching key, or null.
-     * @throws IOException
-     */
-    protected final ICacheElement<K, V> doGet( K key )
-        throws IOException
-    {
-        return super.getWithEventLogging( key );
-    }
-
-    /**
-     * Get a value from the persistent store.
-     * <p>
-     * Before the event logging layer, the subclasses implemented the do* methods. Now the do*
-     * methods call the *EventLogging method on the super. The *WithEventLogging methods call the
-     * abstract process* methods. The children implement the process methods.
-     * <p>
-     * @param pattern Used to match keys.
-     * @return A map of matches..
-     * @throws IOException
-     */
-    protected final Map<K, ICacheElement<K, V>> doGetMatching( String pattern )
-        throws IOException
-    {
-        return super.getMatchingWithEventLogging( pattern );
-    }
-
-    /**
-     * Add a cache element to the persistent store.
-     * <p>
-     * Before the event logging layer, the subclasses implemented the do* methods. Now the do*
-     * methods call the *EventLogging method on the super. The *WithEventLogging methods call the
-     * abstract process* methods. The children implement the process methods.
-     * <p>
-     * @param cacheElement
-     * @throws IOException
-     */
-    protected final void doUpdate( ICacheElement<K, V> cacheElement )
-        throws IOException
-    {
-        super.updateWithEventLogging( cacheElement );
-    }
-
-    /**
-     * Remove an object from the persistent store if found.
-     * <p>
-     * Before the event logging layer, the subclasses implemented the do* methods. Now the do*
-     * methods call the *EventLogging method on the super. The *WithEventLogging methods call the
-     * abstract process* methods. The children implement the process methods.
-     * <p>
-     * @param key Key of object to remove.
-     * @return whether or no the item was present when removed
-     * @throws IOException
-     */
-    protected final boolean doRemove( K key )
-        throws IOException
-    {
-        return super.removeWithEventLogging( key );
-    }
-
-    /**
-     * Remove all objects from the persistent store.
-     * <p>
-     * Before the event logging layer, the subclasses implemented the do* methods. Now the do*
-     * methods call the *EventLogging method on the super. The *WithEventLogging methods call the
-     * abstract process* methods. The children implement the process methods.
-     * <p>
-     * @throws IOException
-     */
-    protected final void doRemoveAll()
-        throws IOException
-    {
-        super.removeAllWithEventLogging();
-    }
-
-    /**
-     * Dispose of the persistent store. Note that disposal of purgatory and setting alive to false
-     * does NOT need to be done by this method.
-     * <p>
-     * Before the event logging layer, the subclasses implemented the do* methods. Now the do*
-     * methods call the *EventLogging method on the super. The *WithEventLogging methods call the
-     * abstract process* methods. The children implement the process methods.
-     * <p>
-     * @throws IOException
-     */
-    protected final void doDispose()
-        throws IOException
-    {
-        super.disposeWithEventLogging();
-    }
-
-    /**
-     * Gets the extra info for the event log.
-     * <p>
-     * @return disk location
-     */
-    @Override
-    public String getEventLoggingExtraInfo()
-    {
-        return getDiskLocation();
-    }
-
-    /**
-     * This is used by the event logging.
-     * <p>
-     * @return the location of the disk, either path or ip.
-     */
-    protected abstract String getDiskLocation();
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/AbstractDiskCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/disk/AbstractDiskCacheAttributes.java
deleted file mode 100644
index 7d5ca70..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/AbstractDiskCacheAttributes.java
+++ /dev/null
@@ -1,221 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.disk.behavior.IDiskCacheAttributes;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This has common attributes that any conceivable disk cache would need.
- */
-public abstract class AbstractDiskCacheAttributes extends AbstractAuxiliaryCacheAttributes implements IDiskCacheAttributes
-{
-    /** Don't change. */
-    private static final long serialVersionUID = 8306631920391711229L;
-
-    /** The logger */
-    private static final Log log = LogFactory.getLog(AbstractDiskCacheAttributes.class);
-
-    /** path to disk */
-    private File diskPath;
-
-    /** if this is false, we will not execute remove all */
-    private boolean allowRemoveAll = true;
-
-    /** default to 5000 */
-    private int maxPurgatorySize = MAX_PURGATORY_SIZE_DEFAULT;
-
-    /** Default amount of time to allow for key persistence on shutdown */
-    private static final int DEFAULT_shutdownSpoolTimeLimit = 60;
-
-    /**
-     * This default determines how long the shutdown will wait for the key spool and data defrag to
-     * finish.
-     */
-    private int shutdownSpoolTimeLimit = DEFAULT_shutdownSpoolTimeLimit;
-
-    /** Type of disk limit: SIZE or COUNT */
-    private DiskLimitType diskLimitType = DiskLimitType.COUNT;
-
-    /**
-     * Sets the diskPath attribute of the DiskCacheAttributes object
-     * <p>
-     *
-     * @param path
-     *            The new diskPath value
-     */
-    @Override
-    public void setDiskPath(String path)
-    {
-        setDiskPath(new File(path));
-    }
-
-    /**
-     * Sets the diskPath attribute of the DiskCacheAttributes object
-     * <p>
-     *
-     * @param diskPath
-     *            The new diskPath value
-     */
-    public void setDiskPath(File diskPath)
-    {
-        this.diskPath = diskPath;
-        boolean result = this.diskPath.isDirectory();
-
-        if (!result)
-        {
-            result = this.diskPath.mkdirs();
-        }
-        if (!result)
-        {
-            log.error("Failed to create directory " + diskPath);
-        }
-    }
-
-    /**
-     * Gets the diskPath attribute of the attributes object
-     * <p>
-     *
-     * @return The diskPath value
-     */
-    @Override
-    public File getDiskPath()
-    {
-        return this.diskPath;
-    }
-
-    /**
-     * Gets the maxKeySize attribute of the DiskCacheAttributes object
-     * <p>
-     *
-     * @return The maxPurgatorySize value
-     */
-    @Override
-    public int getMaxPurgatorySize()
-    {
-        return maxPurgatorySize;
-    }
-
-    /**
-     * Sets the maxPurgatorySize attribute of the DiskCacheAttributes object
-     * <p>
-     *
-     * @param maxPurgatorySize
-     *            The new maxPurgatorySize value
-     */
-    @Override
-    public void setMaxPurgatorySize(int maxPurgatorySize)
-    {
-        this.maxPurgatorySize = maxPurgatorySize;
-    }
-
-    /**
-     * Get the amount of time in seconds we will wait for elements to move to disk during shutdown
-     * for a particular region.
-     * <p>
-     *
-     * @return the time in seconds.
-     */
-    @Override
-    public int getShutdownSpoolTimeLimit()
-    {
-        return this.shutdownSpoolTimeLimit;
-    }
-
-    /**
-     * Sets the amount of time in seconds we will wait for elements to move to disk during shutdown
-     * for a particular region.
-     * <p>
-     * This is how long we give the event queue to empty.
-     * <p>
-     * The default is 60 seconds.
-     * <p>
-     *
-     * @param shutdownSpoolTimeLimit
-     *            the time in seconds
-     */
-    @Override
-    public void setShutdownSpoolTimeLimit(int shutdownSpoolTimeLimit)
-    {
-        this.shutdownSpoolTimeLimit = shutdownSpoolTimeLimit;
-    }
-
-    /**
-     * @param allowRemoveAll
-     *            The allowRemoveAll to set.
-     */
-    @Override
-    public void setAllowRemoveAll(boolean allowRemoveAll)
-    {
-        this.allowRemoveAll = allowRemoveAll;
-    }
-
-    /**
-     * @return Returns the allowRemoveAll.
-     */
-    @Override
-    public boolean isAllowRemoveAll()
-    {
-        return allowRemoveAll;
-    }
-
-    /**
-     * Includes the common attributes for a debug message.
-     * <p>
-     *
-     * @return String
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder str = new StringBuilder();
-        str.append("AbstractDiskCacheAttributes ");
-        str.append("\n diskPath = " + getDiskPath());
-        str.append("\n maxPurgatorySize   = " + getMaxPurgatorySize());
-        str.append("\n allowRemoveAll   = " + isAllowRemoveAll());
-        str.append("\n ShutdownSpoolTimeLimit   = " + getShutdownSpoolTimeLimit());
-        return str.toString();
-    }
-
-    @Override
-    public void setDiskLimitType(DiskLimitType diskLimitType)
-    {
-        this.diskLimitType = diskLimitType;
-    }
-
-    @Override
-    public void setDiskLimitTypeName(String diskLimitTypeName)
-    {
-        if (diskLimitTypeName != null)
-        {
-            diskLimitType = DiskLimitType.valueOf(diskLimitTypeName.trim());
-        }
-    }
-
-    @Override
-    public DiskLimitType getDiskLimitType()
-    {
-        return diskLimitType;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/LRUMapJCS.java b/src/org/apache/commons/jcs/auxiliary/disk/LRUMapJCS.java
deleted file mode 100644
index c6b1801..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/LRUMapJCS.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.utils.struct.LRUMap;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Extension of LRUMap for logging of removals. Can switch this back to a HashMap easily. This
- * provides some abstraction. It also makes it easy to log overflow.
- */
-public class LRUMapJCS<K, V>
-    extends LRUMap<K, V>
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( LRUMapJCS.class );
-
-    /**
-     * This creates an unbounded version.
-     */
-    public LRUMapJCS()
-    {
-        super();
-    }
-
-    /**
-     * This creates a list bounded by the max key size argument. The Boundary is enforces by an LRU
-     * eviction policy.
-     * <p>
-     * This is used in the Disk cache to store keys and purgatory elements if a boundary is
-     * requested.
-     * <p>
-     * The LRU memory cache uses its own LRU implementation.
-     * <p>
-     * @param maxKeySize
-     */
-    public LRUMapJCS( int maxKeySize )
-    {
-        super( maxKeySize );
-    }
-
-    /**
-     * This is called when an item is removed from the LRU. We just log some information.
-     * <p>
-     * @param key
-     * @param value
-     */
-    @Override
-    protected void processRemovedLRU(K key, V value)
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Removing key [" + key + "] from key store, value [" + value + "]" );
-            log.debug( "Key store size [" + this.size() + "]" );
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/PurgatoryElement.java b/src/org/apache/commons/jcs/auxiliary/disk/PurgatoryElement.java
deleted file mode 100644
index 429f5f8..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/PurgatoryElement.java
+++ /dev/null
@@ -1,156 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.CacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-
-/**
- * Implementation of cache elements in purgatory.
- * <p>
- * Elements are stored in purgatory when they are spooled to the auxiliary cache, but have not yet
- * been written to disk.
- */
-public class PurgatoryElement<K, V>
-    extends CacheElement<K, V>
-{
-    /** Don't change */
-    private static final long serialVersionUID = -8152034342684135628L;
-
-    /** Is the element ready to be spooled? */
-    private boolean spoolable = false;
-
-    /** Wrapped cache Element */
-    private ICacheElement<K, V> cacheElement;
-
-    /**
-     * Constructor for the PurgatoryElement<K, V> object
-     * <p>
-     * @param cacheElement CacheElement
-     */
-    public PurgatoryElement( ICacheElement<K, V> cacheElement )
-    {
-        super(cacheElement.getCacheName(),
-                cacheElement.getKey(), cacheElement.getVal(),
-                cacheElement.getElementAttributes());
-        this.cacheElement = cacheElement;
-    }
-
-    /**
-     * Gets the spoolable property.
-     * <p>
-     * @return The spoolable value
-     */
-    public boolean isSpoolable()
-    {
-        return spoolable;
-    }
-
-    /**
-     * Sets the spoolable property.
-     * <p>
-     * @param spoolable The new spoolable value
-     */
-    public void setSpoolable( boolean spoolable )
-    {
-        this.spoolable = spoolable;
-    }
-
-    /**
-     * Get the wrapped cache element.
-     * <p>
-     * @return ICacheElement
-     */
-    public ICacheElement<K, V> getCacheElement()
-    {
-        return cacheElement;
-    }
-
-    // ------------------------------------------------ interface ICacheElement
-
-    /**
-     * @return cacheElement.getCacheName();
-     * @see ICacheElement#getCacheName
-     */
-    @Override
-    public String getCacheName()
-    {
-        return cacheElement.getCacheName();
-    }
-
-    /**
-     * @return cacheElement.getKey();
-     * @see ICacheElement#getKey
-     */
-    @Override
-    public K getKey()
-    {
-        return cacheElement.getKey();
-    }
-
-    /**
-     * @return cacheElement.getVal();
-     * @see ICacheElement#getVal
-     */
-    @Override
-    public V getVal()
-    {
-        return cacheElement.getVal();
-    }
-
-    /**
-     * @return cacheElement.getElementAttributes();
-     * @see ICacheElement#getElementAttributes
-     */
-    @Override
-    public IElementAttributes getElementAttributes()
-    {
-        return cacheElement.getElementAttributes();
-    }
-
-    /**
-     * @param attr
-     * @see ICacheElement#setElementAttributes
-     */
-    @Override
-    public void setElementAttributes( IElementAttributes attr )
-    {
-        cacheElement.setElementAttributes( attr );
-    }
-
-    /**
-     * @return debug string
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "[PurgatoryElement: " );
-        buf.append( " isSpoolable = " + isSpoolable() );
-        buf.append( " CacheElement = " + getCacheElement() );
-        buf.append( " CacheName = " + getCacheName() );
-        buf.append( " Key = " + getKey() );
-        buf.append( " Value = " + getVal() );
-        buf.append( " ElementAttributes = " + getElementAttributes() );
-        buf.append( "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/behavior/IDiskCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/disk/behavior/IDiskCacheAttributes.java
deleted file mode 100644
index f7d32fd..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/behavior/IDiskCacheAttributes.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-
-import java.io.File;
-
-/**
- * Common disk cache attributes.
- */
-public interface IDiskCacheAttributes
-    extends AuxiliaryCacheAttributes
-{
-    enum DiskLimitType {
-        /** limit elements by count (default) */
-        COUNT,
-        /** limit elements by their size */
-        SIZE
-    }
-    /**
-     * This is the default purgatory size limit. Purgatory is the area where
-     * items to be spooled are temporarily stored. It basically provides access
-     * to items on the to-be-spooled queue.
-     */
-    int MAX_PURGATORY_SIZE_DEFAULT = 5000;
-
-    /**
-     * Sets the diskPath attribute of the IJISPCacheAttributes object
-     * <p>
-     * @param path
-     *            The new diskPath value
-     */
-    void setDiskPath( String path );
-
-    /**
-     * Gets the diskPath attribute of the attributes object
-     * <p>
-     * @return The diskPath value
-     */
-    File getDiskPath();
-
-    /**
-     * Gets the maxKeySize attribute of the DiskCacheAttributes object
-     * <p>
-     * @return The maxPurgatorySize value
-     */
-    int getMaxPurgatorySize();
-
-    /**
-     * Sets the maxPurgatorySize attribute of the DiskCacheAttributes object
-     * <p>
-     * @param maxPurgatorySize
-     *            The new maxPurgatorySize value
-     */
-    void setMaxPurgatorySize( int maxPurgatorySize );
-
-    /**
-     * Get the amount of time in seconds we will wait for elements to move to
-     * disk during shutdown for a particular region.
-     * <p>
-     * @return the time in seconds.
-     */
-    int getShutdownSpoolTimeLimit();
-
-    /**
-     * Sets the amount of time in seconds we will wait for elements to move to
-     * disk during shutdown for a particular region.
-     * <p>
-     * This is how long we give the event queue to empty.
-     * <p>
-     * The default is 60 seconds.
-     * <p>
-     * @param shutdownSpoolTimeLimit
-     *            the time in seconds
-     */
-    void setShutdownSpoolTimeLimit( int shutdownSpoolTimeLimit );
-
-    /**
-     * If this is true then remove all is not prohibited.
-     * <p>
-     * @return boolean
-     */
-    boolean isAllowRemoveAll();
-
-    /**
-     * If this is false, then remove all requests will not be honored.
-     * <p>
-     * This provides a safety mechanism for the persistent store.
-     * <p>
-     * @param allowRemoveAll
-     */
-    void setAllowRemoveAll( boolean allowRemoveAll );
-
-    /**
-     * set the type of the limit of the cache size
-     * @param diskLimitType COUNT - limit by count of the elements, SIZE, limit by sum of element's size
-     */
-    void setDiskLimitType(DiskLimitType diskLimitType);
-
-    /**
-     * Translates and stores String values  of DiskLimitType
-     *
-     * Allowed values: "COUNT" and "SIZE"
-     * @param diskLimitTypeName
-     */
-    void setDiskLimitTypeName(String diskLimitTypeName);
-
-    /**
-     *
-     * @return active DiskLimitType
-     */
-    DiskLimitType getDiskLimitType();
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDisk.java b/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDisk.java
deleted file mode 100644
index 1e918da..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDisk.java
+++ /dev/null
@@ -1,524 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.block;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.io.Serializable;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicLong;
-
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.utils.serialization.StandardSerializer;
-import org.apache.commons.jcs.utils.struct.SingleLinkedList;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This class manages reading an writing data to disk. When asked to write a value, it returns a
- * block array. It can read an object from the block numbers in a byte array.
- * <p>
- * @author Aaron Smuts
- */
-public class BlockDisk
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( BlockDisk.class );
-
-    /** The size of the header that indicates the amount of data stored in an occupied block. */
-    public static final byte HEADER_SIZE_BYTES = 4;
-    // N.B. 4 bytes is the size used for ByteBuffer.putInt(int value) and ByteBuffer.getInt()
-
-    /** defaults to 4kb */
-    private static final int DEFAULT_BLOCK_SIZE_BYTES = 4 * 1024;
-
-    /** Size of the blocks */
-    private final int blockSizeBytes;
-
-    /**
-     * the total number of blocks that have been used. If there are no free, we will use this to
-     * calculate the position of the next block.
-     */
-    private final AtomicInteger numberOfBlocks = new AtomicInteger(0);
-
-    /** Empty blocks that can be reused. */
-    private final SingleLinkedList<Integer> emptyBlocks = new SingleLinkedList<Integer>();
-
-    /** The serializer. */
-    private final IElementSerializer elementSerializer;
-
-    /** Location of the spot on disk */
-    private final String filepath;
-
-    /** File channel for multiple concurrent reads and writes */
-    private final FileChannel fc;
-
-    /** How many bytes have we put to disk */
-    private final AtomicLong putBytes = new AtomicLong(0);
-
-    /** How many items have we put to disk */
-    private final AtomicLong putCount = new AtomicLong(0);
-
-    /**
-     * Constructor for the Disk object
-     * <p>
-     * @param file
-     * @param elementSerializer
-     * @throws FileNotFoundException
-     */
-    public BlockDisk( File file, IElementSerializer elementSerializer )
-        throws FileNotFoundException
-    {
-        this( file, DEFAULT_BLOCK_SIZE_BYTES, elementSerializer );
-    }
-
-    /**
-     * Creates the file and set the block size in bytes.
-     * <p>
-     * @param file
-     * @param blockSizeBytes
-     * @throws FileNotFoundException
-     */
-    public BlockDisk( File file, int blockSizeBytes )
-        throws FileNotFoundException
-    {
-        this( file, blockSizeBytes, new StandardSerializer() );
-    }
-
-    /**
-     * Creates the file and set the block size in bytes.
-     * <p>
-     * @param file
-     * @param blockSizeBytes
-     * @param elementSerializer
-     * @throws FileNotFoundException
-     */
-    public BlockDisk( File file, int blockSizeBytes, IElementSerializer elementSerializer )
-        throws FileNotFoundException
-    {
-        this.filepath = file.getAbsolutePath();
-        RandomAccessFile raf = new RandomAccessFile( filepath, "rw" );
-        this.fc = raf.getChannel();
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Constructing BlockDisk, blockSizeBytes [" + blockSizeBytes + "]" );
-        }
-
-        this.blockSizeBytes = blockSizeBytes;
-        this.elementSerializer = elementSerializer;
-    }
-
-    /**
-     * Allocate a given number of blocks from the available set
-     *
-     * @param numBlocksNeeded
-     * @return an array of allocated blocks
-     */
-    private int[] allocateBlocks(int numBlocksNeeded)
-    {
-        assert numBlocksNeeded >= 1;
-
-        int[] blocks = new int[numBlocksNeeded];
-        // get them from the empty list or take the next one
-        for (int i = 0; i < numBlocksNeeded; i++)
-        {
-            Integer emptyBlock = emptyBlocks.takeFirst();
-            if (emptyBlock == null)
-            {
-                emptyBlock = Integer.valueOf(numberOfBlocks.getAndIncrement());
-            }
-            blocks[i] = emptyBlock.intValue();
-        }
-
-        return blocks;
-    }
-
-    /**
-     * This writes an object to disk and returns the blocks it was stored in.
-     * <p>
-     * The program flow is as follows:
-     * <ol>
-     * <li>Serialize the object.</li>
-     * <li>Determine the number of blocks needed.</li>
-     * <li>Look for free blocks in the emptyBlock list.</li>
-     * <li>If there were not enough in the empty list. Take the nextBlock and increment it.</li>
-     * <li>If the data will not fit in one block, create sub arrays.</li>
-     * <li>Write the subarrays to disk.</li>
-     * <li>If the process fails we should decrement the block count if we took from it.</li>
-     * </ol>
-     * @param object
-     * @return the blocks we used.
-     * @throws IOException
-     */
-    protected int[] write( Serializable object )
-        throws IOException
-    {
-        // serialize the object
-        byte[] data = elementSerializer.serialize(object);
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "write, total pre-chunking data.length = " + data.length );
-        }
-
-        this.putBytes.addAndGet(data.length);
-        this.putCount.incrementAndGet();
-
-        // figure out how many blocks we need.
-        int numBlocksNeeded = calculateTheNumberOfBlocksNeeded(data);
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "numBlocksNeeded = " + numBlocksNeeded );
-        }
-
-        // allocate blocks
-        int[] blocks = allocateBlocks(numBlocksNeeded);
-
-        int offset = 0;
-        final int maxChunkSize = blockSizeBytes - HEADER_SIZE_BYTES;
-        ByteBuffer headerBuffer = ByteBuffer.allocate(HEADER_SIZE_BYTES);
-
-        for (int i = 0; i < numBlocksNeeded; i++)
-        {
-            headerBuffer.clear();
-            int length = Math.min(maxChunkSize, data.length - offset);
-            headerBuffer.putInt(length);
-
-            ByteBuffer dataBuffer = ByteBuffer.wrap(data, offset, length);
-
-            long position = calculateByteOffsetForBlock(blocks[i]);
-            // write the header
-            headerBuffer.flip();
-            int written = fc.write(headerBuffer, position);
-            assert written == HEADER_SIZE_BYTES;
-
-            //write the data
-            written = fc.write(dataBuffer, position + HEADER_SIZE_BYTES);
-            assert written == length;
-
-            offset += length;
-        }
-
-        //fc.force(false);
-
-        return blocks;
-    }
-
-    /**
-     * Return the amount to put in each block. Fill them all the way, minus the header.
-     * <p>
-     * @param complete
-     * @param numBlocksNeeded
-     * @return byte[][]
-     */
-    protected byte[][] getBlockChunks( byte[] complete, int numBlocksNeeded )
-    {
-        byte[][] chunks = new byte[numBlocksNeeded][];
-
-        if ( numBlocksNeeded == 1 )
-        {
-            chunks[0] = complete;
-        }
-        else
-        {
-            int maxChunkSize = this.blockSizeBytes - HEADER_SIZE_BYTES;
-            int totalBytes = complete.length;
-            int totalUsed = 0;
-            for ( short i = 0; i < numBlocksNeeded; i++ )
-            {
-                // use the max that can be written to a block or whatever is left in the original
-                // array
-                int chunkSize = Math.min( maxChunkSize, totalBytes - totalUsed );
-                byte[] chunk = new byte[chunkSize];
-                // copy from the used position to the chunk size on the complete array to the chunk
-                // array.
-                System.arraycopy( complete, totalUsed, chunk, 0, chunkSize );
-                chunks[i] = chunk;
-                totalUsed += chunkSize;
-            }
-        }
-
-        return chunks;
-    }
-
-    /**
-     * Reads an object that is located in the specified blocks.
-     * <p>
-     * @param blockNumbers
-     * @return Serializable
-     * @throws IOException
-     * @throws ClassNotFoundException
-     */
-    protected <T extends Serializable> T read( int[] blockNumbers )
-        throws IOException, ClassNotFoundException
-    {
-        byte[] data = null;
-
-        if ( blockNumbers.length == 1 )
-        {
-            data = readBlock( blockNumbers[0] );
-        }
-        else
-        {
-            ByteArrayOutputStream baos = new ByteArrayOutputStream(getBlockSizeBytes());
-            // get all the blocks into data
-            for ( short i = 0; i < blockNumbers.length; i++ )
-            {
-                byte[] chunk = readBlock( blockNumbers[i] );
-                baos.write(chunk);
-            }
-
-            data = baos.toByteArray();
-            baos.close();
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "read, total post combination data.length = " + data.length );
-        }
-
-        return elementSerializer.deSerialize( data, null );
-    }
-
-    /**
-     * This reads the occupied data in a block.
-     * <p>
-     * The first four bytes of the record should tell us how long it is. The data is read into a
-     * byte array and then an object is constructed from the byte array.
-     * <p>
-     * @return byte[]
-     * @param block
-     * @throws IOException
-     */
-    private byte[] readBlock( int block )
-        throws IOException
-    {
-        int datalen = 0;
-
-        String message = null;
-        boolean corrupted = false;
-        long fileLength = fc.size();
-
-        int position = calculateByteOffsetForBlock( block );
-//        if ( position > fileLength )
-//        {
-//            corrupted = true;
-//            message = "Record " + position + " starts past EOF.";
-//        }
-//        else
-        {
-            ByteBuffer datalength = ByteBuffer.allocate(HEADER_SIZE_BYTES);
-            fc.read(datalength, position);
-            datalength.flip();
-            datalen = datalength.getInt();
-            if ( position + datalen > fileLength )
-            {
-                corrupted = true;
-                message = "Record " + position + " exceeds file length.";
-            }
-        }
-
-        if ( corrupted )
-        {
-            log.warn( "\n The file is corrupt: " + "\n " + message );
-            throw new IOException( "The File Is Corrupt, need to reset" );
-        }
-
-        ByteBuffer data = ByteBuffer.allocate(datalen);
-        fc.read(data, position + HEADER_SIZE_BYTES);
-        data.flip();
-
-        return data.array();
-    }
-
-    /**
-     * Add these blocks to the emptyBlock list.
-     * <p>
-     * @param blocksToFree
-     */
-    protected void freeBlocks( int[] blocksToFree )
-    {
-        if ( blocksToFree != null )
-        {
-            for ( short i = 0; i < blocksToFree.length; i++ )
-            {
-                emptyBlocks.addLast( Integer.valueOf( blocksToFree[i] ) );
-            }
-        }
-    }
-
-    /**
-     * Calculates the file offset for a particular block.
-     * <p>
-     * @param block
-     * @return the offset for this block
-     */
-    protected int calculateByteOffsetForBlock( int block )
-    {
-        return block * blockSizeBytes;
-    }
-
-    /**
-     * The number of blocks needed.
-     * <p>
-     * @param data
-     * @return the number of blocks needed to store the byte array
-     */
-    protected int calculateTheNumberOfBlocksNeeded( byte[] data )
-    {
-        int dataLength = data.length;
-
-        int oneBlock = blockSizeBytes - HEADER_SIZE_BYTES;
-
-        // takes care of 0 = HEADER_SIZE_BYTES + blockSizeBytes
-        if ( dataLength <= oneBlock )
-        {
-            return 1;
-        }
-
-        int dividend = dataLength / oneBlock;
-
-        if ( dataLength % oneBlock != 0 )
-        {
-            dividend++;
-        }
-        return dividend;
-    }
-
-    /**
-     * Returns the file length.
-     * <p>
-     * @return the size of the file.
-     * @throws IOException
-     */
-    protected long length()
-        throws IOException
-    {
-        return fc.size();
-    }
-
-    /**
-     * Closes the file.
-     * <p>
-     * @throws IOException
-     */
-    protected void close()
-        throws IOException
-    {
-        fc.close();
-    }
-
-    /**
-     * Resets the file.
-     * <p>
-     * @throws IOException
-     */
-    protected synchronized void reset()
-        throws IOException
-    {
-        this.numberOfBlocks.set(0);
-        this.emptyBlocks.clear();
-        fc.truncate(0);
-        fc.force(true);
-    }
-
-    /**
-     * @return Returns the numberOfBlocks.
-     */
-    protected int getNumberOfBlocks()
-    {
-        return numberOfBlocks.get();
-    }
-
-    /**
-     * @return Returns the blockSizeBytes.
-     */
-    protected int getBlockSizeBytes()
-    {
-        return blockSizeBytes;
-    }
-
-    /**
-     * @return Returns the average size of the an element inserted.
-     */
-    protected long getAveragePutSizeBytes()
-    {
-        long count = this.putCount.get();
-
-        if (count == 0 )
-        {
-            return 0;
-        }
-        return this.putBytes.get() / count;
-    }
-
-    /**
-     * @return Returns the number of empty blocks.
-     */
-    protected int getEmptyBlocks()
-    {
-        return this.emptyBlocks.size();
-    }
-
-    /**
-     * For debugging only.
-     * <p>
-     * @return String with details.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\nBlock Disk " );
-        buf.append( "\n  Filepath [" + filepath + "]" );
-        buf.append( "\n  NumberOfBlocks [" + this.numberOfBlocks.get() + "]" );
-        buf.append( "\n  BlockSizeBytes [" + this.blockSizeBytes + "]" );
-        buf.append( "\n  Put Bytes [" + this.putBytes + "]" );
-        buf.append( "\n  Put Count [" + this.putCount + "]" );
-        buf.append( "\n  Average Size [" + getAveragePutSizeBytes() + "]" );
-        buf.append( "\n  Empty Blocks [" + this.getEmptyBlocks() + "]" );
-        try
-        {
-            buf.append( "\n  Length [" + length() + "]" );
-        }
-        catch ( IOException e )
-        {
-            // swallow
-        }
-        return buf.toString();
-    }
-
-    /**
-     * This is used for debugging.
-     * <p>
-     * @return the file path.
-     */
-    protected String getFilePath()
-    {
-        return filepath;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCache.java b/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCache.java
deleted file mode 100644
index 2443741..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCache.java
+++ /dev/null
@@ -1,738 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.block;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache;
-import org.apache.commons.jcs.engine.CacheConstants;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.behavior.IRequireScheduler;
-import org.apache.commons.jcs.engine.control.group.GroupAttrName;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * There is one BlockDiskCache per region. It manages the key and data store.
- * <p>
- * @author Aaron Smuts
- */
-public class BlockDiskCache<K, V>
-    extends AbstractDiskCache<K, V>
-    implements IRequireScheduler
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( BlockDiskCache.class );
-
-    /** The name to prefix all log messages with. */
-    private final String logCacheName;
-
-    /** The name of the file to store data. */
-    private final String fileName;
-
-    /** The data access object */
-    private BlockDisk dataFile;
-
-    /** Attributes governing the behavior of the block disk cache. */
-    private final BlockDiskCacheAttributes blockDiskCacheAttributes;
-
-    /** The root directory for keys and data. */
-    private final File rootDirectory;
-
-    /** Store, loads, and persists the keys */
-    private BlockDiskKeyStore<K> keyStore;
-
-    /**
-     * Use this lock to synchronize reads and writes to the underlying storage mechanism. We don't
-     * need a reentrant lock, since we only lock one level.
-     */
-    private final ReentrantReadWriteLock storageLock = new ReentrantReadWriteLock();
-
-    /**
-     * Constructs the BlockDisk after setting up the root directory.
-     * <p>
-     * @param cacheAttributes
-     */
-    public BlockDiskCache( BlockDiskCacheAttributes cacheAttributes )
-    {
-        this( cacheAttributes, null );
-    }
-
-    /**
-     * Constructs the BlockDisk after setting up the root directory.
-     * <p>
-     * @param cacheAttributes
-     * @param elementSerializer used if supplied, the super's super will not set a null
-     */
-    public BlockDiskCache( BlockDiskCacheAttributes cacheAttributes, IElementSerializer elementSerializer )
-    {
-        super( cacheAttributes );
-        setElementSerializer( elementSerializer );
-
-        this.blockDiskCacheAttributes = cacheAttributes;
-        this.logCacheName = "Region [" + getCacheName() + "] ";
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( logCacheName + "Constructing BlockDiskCache with attributes " + cacheAttributes );
-        }
-
-        // Make a clean file name
-        this.fileName = getCacheName().replaceAll("[^a-zA-Z0-9-_\\.]", "_");
-        this.rootDirectory = cacheAttributes.getDiskPath();
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( logCacheName + "Cache file root directory: [" + rootDirectory + "]");
-        }
-
-        try
-        {
-            if ( this.blockDiskCacheAttributes.getBlockSizeBytes() > 0 )
-            {
-                this.dataFile = new BlockDisk( new File( rootDirectory, fileName + ".data" ),
-                                               this.blockDiskCacheAttributes.getBlockSizeBytes(),
-                                               getElementSerializer() );
-            }
-            else
-            {
-                this.dataFile = new BlockDisk( new File( rootDirectory, fileName + ".data" ),
-                                               getElementSerializer() );
-            }
-
-            keyStore = new BlockDiskKeyStore<K>( this.blockDiskCacheAttributes, this );
-
-            boolean alright = verifyDisk();
-
-            if ( keyStore.size() == 0 || !alright )
-            {
-                this.reset();
-            }
-
-            // Initialization finished successfully, so set alive to true.
-            setAlive(true);
-            if ( log.isInfoEnabled() )
-            {
-                log.info( logCacheName + "Block Disk Cache is alive." );
-            }
-        }
-        catch ( IOException e )
-        {
-            log.error( logCacheName + "Failure initializing for fileName: " + fileName + " and root directory: "
-                + rootDirectory, e );
-        }
-    }
-
-    /**
-     * @see org.apache.commons.jcs.engine.behavior.IRequireScheduler#setScheduledExecutorService(java.util.concurrent.ScheduledExecutorService)
-     */
-    @Override
-    public void setScheduledExecutorService(ScheduledExecutorService scheduledExecutor)
-    {
-        // add this region to the persistence thread.
-        // TODO we might need to stagger this a bit.
-        if ( this.blockDiskCacheAttributes.getKeyPersistenceIntervalSeconds() > 0 )
-        {
-            scheduledExecutor.scheduleAtFixedRate(
-                    new Runnable()
-                    {
-                        @Override
-                        public void run()
-                        {
-                            keyStore.saveKeys();
-                        }
-                    },
-                    this.blockDiskCacheAttributes.getKeyPersistenceIntervalSeconds(),
-                    this.blockDiskCacheAttributes.getKeyPersistenceIntervalSeconds(),
-                    TimeUnit.SECONDS);
-        }
-    }
-
-    /**
-     * We need to verify that the file on disk uses the same block size and that the file is the
-     * proper size.
-     * <p>
-     * @return true if it looks ok
-     */
-    protected boolean verifyDisk()
-    {
-        boolean alright = false;
-        // simply try to read a few. If it works, then the file is probably ok.
-        // TODO add more.
-
-        storageLock.readLock().lock();
-
-        try
-        {
-            int maxToTest = 100;
-            int count = 0;
-            Iterator<Map.Entry<K, int[]>> it = this.keyStore.entrySet().iterator();
-            while ( it.hasNext() && count < maxToTest )
-            {
-                count++;
-                Map.Entry<K, int[]> entry = it.next();
-                Object data = this.dataFile.read( entry.getValue() );
-                if ( data == null )
-                {
-                    throw new Exception( logCacheName + "Couldn't find data for key [" + entry.getKey() + "]" );
-                }
-            }
-            alright = true;
-        }
-        catch ( Exception e )
-        {
-            log.warn( logCacheName + "Problem verifying disk.  Message [" + e.getMessage() + "]" );
-            alright = false;
-        }
-        finally
-        {
-            storageLock.readLock().unlock();
-        }
-
-        return alright;
-    }
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet() throws IOException
-    {
-        HashSet<K> keys = new HashSet<K>();
-
-        storageLock.readLock().lock();
-
-        try
-        {
-            keys.addAll(this.keyStore.keySet());
-        }
-        finally
-        {
-            storageLock.readLock().unlock();
-        }
-
-        return keys;
-    }
-
-    /**
-     * Gets matching items from the cache.
-     * <p>
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache matching keys
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-
-        Set<K> keyArray = null;
-        storageLock.readLock().lock();
-        try
-        {
-            keyArray = new HashSet<K>(keyStore.keySet());
-        }
-        finally
-        {
-            storageLock.readLock().unlock();
-        }
-
-        Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray( pattern, keyArray );
-
-        for (K key : matchingKeys)
-        {
-            ICacheElement<K, V> element = processGet( key );
-            if ( element != null )
-            {
-                elements.put( key, element );
-            }
-        }
-
-        return elements;
-    }
-
-    /**
-     * Returns the number of keys.
-     * <p>
-     * (non-Javadoc)
-     * @see org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache#getSize()
-     */
-    @Override
-    public int getSize()
-    {
-        return this.keyStore.size();
-    }
-
-    /**
-     * Gets the ICacheElement<K, V> for the key if it is in the cache. The program flow is as follows:
-     * <ol>
-     * <li>Make sure the disk cache is alive.</li> <li>Get a read lock.</li> <li>See if the key is
-     * in the key store.</li> <li>If we found a key, ask the BlockDisk for the object at the
-     * blocks..</li> <li>Release the lock.</li>
-     * </ol>
-     * @param key
-     * @return ICacheElement
-     * @see org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache#get(Object)
-     */
-    @Override
-    protected ICacheElement<K, V> processGet( K key )
-    {
-        if ( !isAlive() )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( logCacheName + "No longer alive so returning null for key = " + key );
-            }
-            return null;
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( logCacheName + "Trying to get from disk: " + key );
-        }
-
-        ICacheElement<K, V> object = null;
-
-
-        try
-        {
-            storageLock.readLock().lock();
-            try {
-                int[] ded = this.keyStore.get( key );
-                if ( ded != null )
-                {
-                    object = this.dataFile.read( ded );
-                }
-            } finally {
-                storageLock.readLock().unlock();
-            }
-
-        }
-        catch ( IOException ioe )
-        {
-            log.error( logCacheName + "Failure getting from disk--IOException, key = " + key, ioe );
-            reset();
-        }
-        catch ( Exception e )
-        {
-            log.error( logCacheName + "Failure getting from disk, key = " + key, e );
-        }
-        return object;
-    }
-
-    /**
-     * Writes an element to disk. The program flow is as follows:
-     * <ol>
-     * <li>Acquire write lock.</li> <li>See id an item exists for this key.</li> <li>If an item
-     * already exists, add its blocks to the remove list.</li> <li>Have the Block disk write the
-     * item.</li> <li>Create a descriptor and add it to the key map.</li> <li>Release the write
-     * lock.</li>
-     * </ol>
-     * @param element
-     * @see org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache#update(ICacheElement)
-     */
-    @Override
-    protected void processUpdate( ICacheElement<K, V> element )
-    {
-        if ( !isAlive() )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( logCacheName + "No longer alive; aborting put of key = " + element.getKey() );
-            }
-            return;
-        }
-
-        int[] old = null;
-
-        // make sure this only locks for one particular cache region
-        storageLock.writeLock().lock();
-
-        try
-        {
-            old = this.keyStore.get( element.getKey() );
-
-            if ( old != null )
-            {
-                this.dataFile.freeBlocks( old );
-            }
-
-            int[] blocks = this.dataFile.write( element );
-
-            this.keyStore.put( element.getKey(), blocks );
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( logCacheName + "Put to file [" + fileName + "] key [" + element.getKey() + "]" );
-            }
-        }
-        catch ( IOException e )
-        {
-            log.error( logCacheName + "Failure updating element, key: " + element.getKey() + " old: " + Arrays.toString(old), e );
-        }
-        finally
-        {
-            storageLock.writeLock().unlock();
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( logCacheName + "Storing element on disk, key: " + element.getKey() );
-        }
-    }
-
-    /**
-     * Returns true if the removal was successful; or false if there is nothing to remove. Current
-     * implementation always result in a disk orphan.
-     * <p>
-     * @param key
-     * @return true if removed anything
-     * @see org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache#remove(Object)
-     */
-    @Override
-    protected boolean processRemove( K key )
-    {
-        if ( !isAlive() )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( logCacheName + "No longer alive so returning false for key = " + key );
-            }
-            return false;
-        }
-
-        boolean reset = false;
-        boolean removed = false;
-
-        storageLock.writeLock().lock();
-
-        try
-        {
-            if ( key instanceof String && key.toString().endsWith( CacheConstants.NAME_COMPONENT_DELIMITER ) )
-            {
-                // remove all keys of the same name group.
-                Iterator<Map.Entry<K, int[]>> iter = this.keyStore.entrySet().iterator();
-
-                while ( iter.hasNext() )
-                {
-                    Map.Entry<K, int[]> entry = iter.next();
-                    K k = entry.getKey();
-
-                    if ( k instanceof String && k.toString().startsWith( key.toString() ) )
-                    {
-                        int[] ded = entry.getValue();
-                        this.dataFile.freeBlocks( ded );
-                        iter.remove();
-                        removed = true;
-                        // TODO this needs to update the remove count separately
-                    }
-                }
-            }
-            else if ( key instanceof GroupAttrName && ((GroupAttrName<?>)key).attrName == null )
-            {
-                // remove all keys of the same name hierarchy.
-                Iterator<Map.Entry<K, int[]>> iter = this.keyStore.entrySet().iterator();
-                while ( iter.hasNext() )
-                {
-                    Map.Entry<K, int[]> entry = iter.next();
-                    K k = entry.getKey();
-
-                    if ( k instanceof GroupAttrName &&
-                        ((GroupAttrName<?>)k).groupId.equals(((GroupAttrName<?>)key).groupId))
-                    {
-                        int[] ded = entry.getValue();
-                        this.dataFile.freeBlocks( ded );
-                        iter.remove();
-                        removed = true;
-                    }
-                }
-            }
-            else
-            {
-                // remove single item.
-                int[] ded = this.keyStore.remove( key );
-                removed = ded != null;
-                if ( removed )
-                {
-                    this.dataFile.freeBlocks( ded );
-                }
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( logCacheName + "Disk removal: Removed from key hash, key [" + key + "] removed = "
-                        + removed );
-                }
-            }
-        }
-        catch ( Exception e )
-        {
-            log.error( logCacheName + "Problem removing element.", e );
-            reset = true;
-        }
-        finally
-        {
-            storageLock.writeLock().unlock();
-        }
-
-        if ( reset )
-        {
-            reset();
-        }
-
-        return removed;
-    }
-
-    /**
-     * Resets the keyfile, the disk file, and the memory key map.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache#removeAll()
-     */
-    @Override
-    protected void processRemoveAll()
-    {
-        reset();
-    }
-
-    /**
-     * Dispose of the disk cache in a background thread. Joins against this thread to put a cap on
-     * the disposal time.
-     * <p>
-     * TODO make dispose window configurable.
-     */
-    @Override
-    public void processDispose()
-    {
-        Runnable disR = new Runnable()
-        {
-            @Override
-            public void run()
-            {
-                try
-                {
-                    disposeInternal();
-                }
-                catch ( InterruptedException e )
-                {
-                    log.warn( "Interrupted while diposing." );
-                }
-            }
-        };
-        Thread t = new Thread( disR, "BlockDiskCache-DisposalThread" );
-        t.start();
-        // wait up to 60 seconds for dispose and then quit if not done.
-        try
-        {
-            t.join( 60 * 1000 );
-        }
-        catch ( InterruptedException ex )
-        {
-            log.error( logCacheName + "Interrupted while waiting for disposal thread to finish.", ex );
-        }
-    }
-
-    /**
-     * Internal method that handles the disposal.
-     * @throws InterruptedException
-     */
-    protected void disposeInternal()
-        throws InterruptedException
-    {
-        if ( !isAlive() )
-        {
-            log.error( logCacheName + "Not alive and dispose was called, filename: " + fileName );
-            return;
-        }
-        storageLock.writeLock().lock();
-        try
-        {
-            // Prevents any interaction with the cache while we're shutting down.
-            setAlive(false);
-            this.keyStore.saveKeys();
-
-            try
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( logCacheName + "Closing files, base filename: " + fileName );
-                }
-                dataFile.close();
-                // dataFile = null;
-
-                // TOD make a close
-                // keyFile.close();
-                // keyFile = null;
-            }
-            catch ( IOException e )
-            {
-                log.error( logCacheName + "Failure closing files in dispose, filename: " + fileName, e );
-            }
-        }
-        finally
-        {
-            storageLock.writeLock().unlock();
-        }
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( logCacheName + "Shutdown complete." );
-        }
-    }
-
-    /**
-     * Returns the attributes.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getAuxiliaryCacheAttributes()
-     */
-    @Override
-    public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
-    {
-        return this.blockDiskCacheAttributes;
-    }
-
-    /**
-     * Reset effectively clears the disk cache, creating new files, recyclebins, and keymaps.
-     * <p>
-     * It can be used to handle errors by last resort, force content update, or removeall.
-     */
-    private void reset()
-    {
-        if ( log.isWarnEnabled() )
-        {
-            log.warn( logCacheName + "Resetting cache" );
-        }
-
-        try
-        {
-            storageLock.writeLock().lock();
-
-            this.keyStore.reset();
-
-            if ( dataFile != null )
-            {
-                dataFile.reset();
-            }
-        }
-        catch ( IOException e )
-        {
-            log.error( logCacheName + "Failure resetting state", e );
-        }
-        finally
-        {
-            storageLock.writeLock().unlock();
-        }
-    }
-
-    /**
-     * Add these blocks to the emptyBlock list.
-     * <p>
-     * @param blocksToFree
-     */
-    protected void freeBlocks( int[] blocksToFree )
-    {
-        this.dataFile.freeBlocks( blocksToFree );
-    }
-
-    /**
-     * Gets basic stats for the disk cache.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String getStats()
-    {
-        return getStatistics().toString();
-    }
-
-    /**
-     * Returns info about the disk cache.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getStatistics()
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "Block Disk Cache" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        elems.add(new StatElement<Boolean>( "Is Alive", Boolean.valueOf(isAlive()) ) );
-        elems.add(new StatElement<Integer>( "Key Map Size", Integer.valueOf(this.keyStore.size()) ) );
-
-        if (this.dataFile != null)
-        {
-            try
-            {
-                elems.add(new StatElement<Long>( "Data File Length", Long.valueOf(this.dataFile.length()) ) );
-            }
-            catch ( IOException e )
-            {
-                log.error( e );
-            }
-
-            elems.add(new StatElement<Integer>( "Block Size Bytes",
-                    Integer.valueOf(this.dataFile.getBlockSizeBytes()) ) );
-            elems.add(new StatElement<Integer>( "Number Of Blocks",
-                    Integer.valueOf(this.dataFile.getNumberOfBlocks()) ) );
-            elems.add(new StatElement<Long>( "Average Put Size Bytes",
-                    Long.valueOf(this.dataFile.getAveragePutSizeBytes()) ) );
-            elems.add(new StatElement<Integer>( "Empty Blocks",
-                    Integer.valueOf(this.dataFile.getEmptyBlocks()) ) );
-        }
-
-        // get the stats from the super too
-        IStats sStats = super.getStatistics();
-        elems.addAll(sStats.getStatElements());
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-
-    /**
-     * This is used by the event logging.
-     * <p>
-     * @return the location of the disk, either path or ip.
-     */
-    @Override
-    protected String getDiskLocation()
-    {
-        return dataFile.getFilePath();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCacheAttributes.java
deleted file mode 100644
index e520dda..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCacheAttributes.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.block;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.disk.AbstractDiskCacheAttributes;
-
-/**
- * This holds attributes for Block Disk Cache configuration.
- * <p>
- * @author Aaron Smuts
- */
-public class BlockDiskCacheAttributes
-    extends AbstractDiskCacheAttributes
-{
-    /** Don't change */
-    private static final long serialVersionUID = 6568840097657265989L;
-
-    /** The size per block in bytes. */
-    private int blockSizeBytes;
-
-    /** Maximum number of keys to be kept in memory */
-    private static final int DEFAULT_MAX_KEY_SIZE = 5000;
-
-    /** -1 means no limit. */
-    private int maxKeySize = DEFAULT_MAX_KEY_SIZE;
-
-    /** How often should we persist the keys. */
-    private static final long DEFAULT_KEY_PERSISTENCE_INTERVAL_SECONDS = 5 * 60;
-
-    /** The keys will be persisted at this interval.  -1 mean never. */
-    private long keyPersistenceIntervalSeconds = DEFAULT_KEY_PERSISTENCE_INTERVAL_SECONDS;
-
-    /**
-     * The size of the blocks. All blocks are the same size.
-     * <p>
-     * @param blockSizeBytes The blockSizeBytes to set.
-     */
-    public void setBlockSizeBytes( int blockSizeBytes )
-    {
-        this.blockSizeBytes = blockSizeBytes;
-    }
-
-    /**
-     * @return Returns the blockSizeBytes.
-     */
-    public int getBlockSizeBytes()
-    {
-        return blockSizeBytes;
-    }
-
-    /**
-     * @param maxKeySize The maxKeySize to set.
-     */
-    public void setMaxKeySize( int maxKeySize )
-    {
-        this.maxKeySize = maxKeySize;
-    }
-
-    /**
-     * @return Returns the maxKeySize.
-     */
-    public int getMaxKeySize()
-    {
-        return maxKeySize;
-    }
-
-    /**
-     * @param keyPersistenceIntervalSeconds The keyPersistenceIntervalSeconds to set.
-     */
-    public void setKeyPersistenceIntervalSeconds( long keyPersistenceIntervalSeconds )
-    {
-        this.keyPersistenceIntervalSeconds = keyPersistenceIntervalSeconds;
-    }
-
-    /**
-     * @return Returns the keyPersistenceIntervalSeconds.
-     */
-    public long getKeyPersistenceIntervalSeconds()
-    {
-        return keyPersistenceIntervalSeconds;
-    }
-
-    /**
-     * Write out the values for debugging purposes.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder str = new StringBuilder();
-        str.append( "\nBlockDiskAttributes " );
-        str.append( "\n DiskPath [" + this.getDiskPath() + "]" );
-        str.append( "\n MaxKeySize [" + this.getMaxKeySize() + "]" );
-        str.append( "\n MaxPurgatorySize [" + this.getMaxPurgatorySize() + "]" );
-        str.append( "\n BlockSizeBytes [" + this.getBlockSizeBytes() + "]" );
-        str.append( "\n KeyPersistenceIntervalSeconds [" + this.getKeyPersistenceIntervalSeconds() + "]" );
-        str.append( "\n DiskLimitType [" + this.getDiskLimitType() + "]" );
-        return str.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCacheFactory.java b/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCacheFactory.java
deleted file mode 100644
index 0b35d2b..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCacheFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.block;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheFactory;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Creates disk cache instances.
- */
-public class BlockDiskCacheFactory
-    extends AbstractAuxiliaryCacheFactory
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( BlockDiskCacheFactory.class );
-
-    /**
-     * Create an instance of the BlockDiskCache.
-     * <p>
-     * @param iaca the cache attributes for this cache
-     * @param cacheMgr This allows auxiliaries to reference the manager without assuming that it is
-     *            a singleton. This will allow JCS to be a non-singleton. Also, it makes it easier
-     *            to test.
-     * @param cacheEventLogger
-     * @param elementSerializer
-     * @return BlockDiskCache
-     */
-    @Override
-    public <K, V> BlockDiskCache<K, V> createCache( AuxiliaryCacheAttributes iaca, ICompositeCacheManager cacheMgr,
-                                       ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
-    {
-        BlockDiskCacheAttributes idca = (BlockDiskCacheAttributes) iaca;
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Creating DiskCache for attributes = " + idca );
-        }
-
-        BlockDiskCache<K, V> cache = new BlockDiskCache<K, V>( idca, elementSerializer );
-        cache.setCacheEventLogger( cacheEventLogger );
-
-        return cache;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskElementDescriptor.java b/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskElementDescriptor.java
deleted file mode 100644
index 73fd657..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskElementDescriptor.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.block;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.io.Serializable;
-
-/**
- * This represents an element on disk. This is used when we persist the keys. We only store the
- * block addresses in memory. We don't need the length here, since all the blocks are the same size
- * receyle bin.
- * <p>
- * @author Aaron Smuts
- */
-public class BlockDiskElementDescriptor<K>
-    implements Serializable, Externalizable
-{
-    /** Don't change */
-    private static final long serialVersionUID = -1400659301208101411L;
-
-    /** The key */
-    private K key;
-
-    /** The array of block numbers */
-    private int[] blocks;
-
-    /**
-     * @param key The key to set.
-     */
-    public void setKey( K key )
-    {
-        this.key = key;
-    }
-
-    /**
-     * @return Returns the key.
-     */
-    public K getKey()
-    {
-        return key;
-    }
-
-    /**
-     * @param blocks The blocks to set.
-     */
-    public void setBlocks( int[] blocks )
-    {
-        this.blocks = blocks;
-    }
-
-    /**
-     * This holds the block numbers. An item my be dispersed between multiple blocks.
-     * <p>
-     * @return Returns the blocks.
-     */
-    public int[] getBlocks()
-    {
-        return blocks;
-    }
-
-    /**
-     * For debugging.
-     * <p>
-     * @return Info on the descriptor.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\nBlockDiskElementDescriptor" );
-        buf.append( "\n key [" + this.getKey() + "]" );
-        buf.append( "\n blocks [" );
-        if ( this.getBlocks() != null )
-        {
-            for ( int i = 0; i < blocks.length; i++ )
-            {
-                buf.append( this.getBlocks()[i] );
-            }
-        }
-        buf.append( "]" );
-        return buf.toString();
-    }
-
-    /**
-     * Saves on reflection.
-     * <p>
-     * (non-Javadoc)
-     * @see java.io.Externalizable#readExternal(java.io.ObjectInput)
-     */
-    @Override
-    @SuppressWarnings("unchecked") // Need cast to K
-    public void readExternal( ObjectInput input )
-        throws IOException, ClassNotFoundException
-    {
-        this.key = (K) input.readObject();
-        this.blocks = (int[]) input.readObject();
-    }
-
-    /**
-     * Saves on reflection.
-     * <p>
-     * (non-Javadoc)
-     * @see java.io.Externalizable#writeExternal(java.io.ObjectOutput)
-     */
-    @Override
-    public void writeExternal( ObjectOutput output )
-        throws IOException
-    {
-        output.writeObject( this.key );
-        output.writeObject( this.blocks );
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskKeyStore.java b/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskKeyStore.java
deleted file mode 100644
index 0a752cf..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskKeyStore.java
+++ /dev/null
@@ -1,518 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.block;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.EOFException;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.commons.jcs.auxiliary.disk.behavior.IDiskCacheAttributes.DiskLimitType;
-import org.apache.commons.jcs.io.ObjectInputStreamClassLoaderAware;
-import org.apache.commons.jcs.utils.struct.AbstractLRUMap;
-import org.apache.commons.jcs.utils.struct.LRUMap;
-import org.apache.commons.jcs.utils.timing.ElapsedTimer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This is responsible for storing the keys.
- * <p>
- *
- * @author Aaron Smuts
- */
-public class BlockDiskKeyStore<K>
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog(BlockDiskKeyStore.class);
-
-    /** Attributes governing the behavior of the block disk cache. */
-    private final BlockDiskCacheAttributes blockDiskCacheAttributes;
-
-    /** The key to block map */
-    private Map<K, int[]> keyHash;
-
-    /** The file where we persist the keys */
-    private final File keyFile;
-
-    /** The name to prefix log messages with. */
-    protected final String logCacheName;
-
-    /** Name of the file where we persist the keys */
-    private final String fileName;
-
-    /** The maximum number of keys to store in memory */
-    private final int maxKeySize;
-
-    /** we need this so we can communicate free blocks to the data store when keys fall off the LRU */
-    protected final BlockDiskCache<K, ?> blockDiskCache;
-
-    private DiskLimitType diskLimitType = DiskLimitType.COUNT;
-
-    private int blockSize;
-
-    /**
-     * Set the configuration options.
-     * <p>
-     *
-     * @param cacheAttributes
-     * @param blockDiskCache
-     *            used for freeing
-     */
-    public BlockDiskKeyStore(BlockDiskCacheAttributes cacheAttributes, BlockDiskCache<K, ?> blockDiskCache)
-    {
-        this.blockDiskCacheAttributes = cacheAttributes;
-        this.logCacheName = "Region [" + this.blockDiskCacheAttributes.getCacheName() + "] ";
-        this.fileName = this.blockDiskCacheAttributes.getCacheName();
-        this.maxKeySize = cacheAttributes.getMaxKeySize();
-        this.blockDiskCache = blockDiskCache;
-        this.diskLimitType = cacheAttributes.getDiskLimitType();
-        this.blockSize = cacheAttributes.getBlockSizeBytes();
-
-        File rootDirectory = cacheAttributes.getDiskPath();
-
-        if (log.isInfoEnabled())
-        {
-            log.info(logCacheName + "Cache file root directory [" + rootDirectory + "]");
-        }
-
-        this.keyFile = new File(rootDirectory, fileName + ".key");
-
-        if (log.isInfoEnabled())
-        {
-            log.info(logCacheName + "Key File [" + this.keyFile.getAbsolutePath() + "]");
-        }
-
-        if (keyFile.length() > 0)
-        {
-            loadKeys();
-            // TODO verify somehow
-        }
-        else
-        {
-            initKeyMap();
-        }
-    }
-
-    /**
-     * Saves key file to disk. This gets the LRUMap entry set and write the entries out one by one
-     * after putting them in a wrapper.
-     */
-    protected void saveKeys()
-    {
-        try
-        {
-            ElapsedTimer timer = new ElapsedTimer();
-            int numKeys = keyHash.size();
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "Saving keys to [" + this.keyFile.getAbsolutePath() + "], key count [" + numKeys + "]");
-            }
-
-            synchronized (keyFile)
-            {
-                FileOutputStream fos = new FileOutputStream(keyFile);
-                BufferedOutputStream bos = new BufferedOutputStream(fos, 65536);
-                ObjectOutputStream oos = new ObjectOutputStream(bos);
-                try
-                {
-                    // don't need to synchronize, since the underlying collection makes a copy
-                    for (Map.Entry<K, int[]> entry : keyHash.entrySet())
-                    {
-                        BlockDiskElementDescriptor<K> descriptor = new BlockDiskElementDescriptor<K>();
-                        descriptor.setKey(entry.getKey());
-                        descriptor.setBlocks(entry.getValue());
-                        // stream these out in the loop.
-                        oos.writeUnshared(descriptor);
-                    }
-                }
-                finally
-                {
-                    oos.flush();
-                    oos.close();
-                }
-            }
-
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "Finished saving keys. It took " + timer.getElapsedTimeString() + " to store " + numKeys
-                    + " keys.  Key file length [" + keyFile.length() + "]");
-            }
-        }
-        catch (IOException e)
-        {
-            log.error(logCacheName + "Problem storing keys.", e);
-        }
-    }
-
-    /**
-     * Resets the file and creates a new key map.
-     */
-    protected void reset()
-    {
-        synchronized (keyFile)
-        {
-            clearMemoryMap();
-            saveKeys();
-        }
-    }
-
-    /**
-     * This is mainly used for testing. It leave the disk in tact, and just clears memory.
-     */
-    protected void clearMemoryMap()
-    {
-        this.keyHash.clear();
-    }
-
-    /**
-     * Create the map for keys that contain the index position on disk.
-     */
-    private void initKeyMap()
-    {
-        keyHash = null;
-        if (maxKeySize >= 0)
-        {
-            if (this.diskLimitType == DiskLimitType.SIZE)
-            {
-                keyHash = new LRUMapSizeLimited(maxKeySize);
-            }
-            else
-            {
-                keyHash = new LRUMapCountLimited(maxKeySize);
-            }
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "Set maxKeySize to: '" + maxKeySize + "'");
-            }
-        }
-        else
-        {
-            // If no max size, use a plain map for memory and processing efficiency.
-            keyHash = new HashMap<K, int[]>();
-            // keyHash = Collections.synchronizedMap( new HashMap() );
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "Set maxKeySize to unlimited'");
-            }
-        }
-    }
-
-    /**
-     * Loads the keys from the .key file. The keys are stored individually on disk. They are added
-     * one by one to an LRUMap..
-     */
-    protected void loadKeys()
-    {
-        if (log.isInfoEnabled())
-        {
-            log.info(logCacheName + "Loading keys for " + keyFile.toString());
-        }
-
-        try
-        {
-            // create a key map to use.
-            initKeyMap();
-
-            HashMap<K, int[]> keys = new HashMap<K, int[]>();
-
-            synchronized (keyFile)
-            {
-                FileInputStream fis = new FileInputStream(keyFile);
-                BufferedInputStream bis = new BufferedInputStream(fis, 65536);
-                ObjectInputStream ois = new ObjectInputStreamClassLoaderAware(bis, null);
-                try
-                {
-                    while (true)
-                    {
-                        @SuppressWarnings("unchecked")
-                        // Need to cast from Object
-                        BlockDiskElementDescriptor<K> descriptor = (BlockDiskElementDescriptor<K>) ois.readObject();
-                        if (descriptor != null)
-                        {
-                            keys.put(descriptor.getKey(), descriptor.getBlocks());
-                        }
-                    }
-                }
-                catch (EOFException eof)
-                {
-                    // nothing
-                }
-                finally
-                {
-                    ois.close();
-                }
-            }
-
-            if (!keys.isEmpty())
-            {
-                keyHash.putAll(keys);
-
-                if (log.isDebugEnabled())
-                {
-                    log.debug(logCacheName + "Found " + keys.size() + " in keys file.");
-                }
-
-                if (log.isInfoEnabled())
-                {
-                    log.info(logCacheName + "Loaded keys from [" + fileName + "], key count: " + keyHash.size() + "; up to "
-                        + maxKeySize + " will be available.");
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            log.error(logCacheName + "Problem loading keys for file " + fileName, e);
-        }
-    }
-
-    /**
-     * Gets the entry set.
-     * <p>
-     *
-     * @return entry set.
-     */
-    public Set<Map.Entry<K, int[]>> entrySet()
-    {
-        return this.keyHash.entrySet();
-    }
-
-    /**
-     * Gets the key set.
-     * <p>
-     *
-     * @return key set.
-     */
-    public Set<K> keySet()
-    {
-        return this.keyHash.keySet();
-    }
-
-    /**
-     * Gets the size of the key hash.
-     * <p>
-     *
-     * @return the number of keys.
-     */
-    public int size()
-    {
-        return this.keyHash.size();
-    }
-
-    /**
-     * gets the object for the key.
-     * <p>
-     *
-     * @param key
-     * @return Object
-     */
-    public int[] get(K key)
-    {
-        return this.keyHash.get(key);
-    }
-
-    /**
-     * Puts a int[] in the keyStore.
-     * <p>
-     *
-     * @param key
-     * @param value
-     */
-    public void put(K key, int[] value)
-    {
-        this.keyHash.put(key, value);
-    }
-
-    /**
-     * Remove by key.
-     * <p>
-     *
-     * @param key
-     * @return BlockDiskElementDescriptor if it was present, else null
-     */
-    public int[] remove(K key)
-    {
-        return this.keyHash.remove(key);
-    }
-
-    /**
-     * Class for recycling and lru. This implements the LRU size overflow callback, so we can mark the
-     * blocks as free.
-     */
-    public class LRUMapSizeLimited extends AbstractLRUMap<K, int[]>
-    {
-        /**
-         * <code>tag</code> tells us which map we are working on.
-         */
-        public final static String TAG = "orig-lru-size";
-
-        // size of the content in kB
-        private AtomicInteger contentSize;
-        private int maxSize;
-
-        /**
-         * Default
-         */
-        public LRUMapSizeLimited()
-        {
-            this(-1);
-        }
-
-        /**
-         * @param maxSize maximum cache size in kB
-         */
-        public LRUMapSizeLimited(int maxSize)
-        {
-            super();
-            this.maxSize = maxSize;
-            this.contentSize = new AtomicInteger(0);
-        }
-
-        // keep the content size in kB, so 2^31 kB is reasonable value
-        private void subLengthFromCacheSize(int[] value)
-        {
-            contentSize.addAndGet(value.length * blockSize / -1024 - 1);
-        }
-
-        // keep the content size in kB, so 2^31 kB is reasonable value
-        private void addLengthToCacheSize(int[] value)
-        {
-            contentSize.addAndGet(value.length * blockSize / 1024 + 1);
-        }
-
-        @Override
-        public int[] put(K key, int[] value)
-        {
-            int[] oldValue = null;
-
-            try
-            {
-                oldValue = super.put(key, value);
-            }
-            finally
-            {
-                if (value != null)
-                {
-                    addLengthToCacheSize(value);
-                }
-                if (oldValue != null)
-                {
-                    subLengthFromCacheSize(oldValue);
-                }
-            }
-
-            return oldValue;
-        }
-
-        @Override
-        public int[] remove(Object key)
-        {
-            int[] value = null;
-
-            try
-            {
-                value = super.remove(key);
-                return value;
-            }
-            finally
-            {
-                if (value != null)
-                {
-                    subLengthFromCacheSize(value);
-                }
-            }
-        }
-
-        /**
-         * This is called when the may key size is reached. The least recently used item will be
-         * passed here. We will store the position and size of the spot on disk in the recycle bin.
-         * <p>
-         *
-         * @param key
-         * @param value
-         */
-        @Override
-        protected void processRemovedLRU(K key, int[] value)
-        {
-            blockDiskCache.freeBlocks(value);
-            if (log.isDebugEnabled())
-            {
-                log.debug(logCacheName + "Removing key: [" + key + "] from key store.");
-                log.debug(logCacheName + "Key store size: [" + super.size() + "].");
-            }
-
-            if (value != null)
-            {
-                subLengthFromCacheSize(value);
-            }
-        }
-
-        @Override
-        protected boolean shouldRemove()
-        {
-            return maxSize > 0 && contentSize.get() > maxSize && this.size() > 1;
-        }
-    }
-
-    /**
-     * Class for recycling and lru. This implements the LRU overflow callback, so we can mark the
-     * blocks as free.
-     */
-    public class LRUMapCountLimited extends LRUMap<K, int[]>
-    {
-        /**
-         * <code>tag</code> tells us which map we are working on.
-         */
-        public final static String TAG = "orig-lru-count";
-
-        public LRUMapCountLimited(int maxKeySize)
-        {
-            super(maxKeySize);
-        }
-
-        /**
-         * This is called when the may key size is reached. The least recently used item will be
-         * passed here. We will store the position and size of the spot on disk in the recycle bin.
-         * <p>
-         *
-         * @param key
-         * @param value
-         */
-        @Override
-        protected void processRemovedLRU(K key, int[] value)
-        {
-            blockDiskCache.freeBlocks(value);
-            if (log.isDebugEnabled())
-            {
-                log.debug(logCacheName + "Removing key: [" + key + "] from key store.");
-                log.debug(logCacheName + "Key store size: [" + super.size() + "].");
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDisk.java b/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDisk.java
deleted file mode 100644
index ee6a3ad..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDisk.java
+++ /dev/null
@@ -1,282 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.indexed;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.io.Serializable;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/** Provides thread safe access to the underlying random access file. */
-class IndexedDisk
-{
-    /** The size of the header that indicates the amount of data stored in an occupied block. */
-    public static final byte HEADER_SIZE_BYTES = 4;
-
-    /** The serializer. */
-    private final IElementSerializer elementSerializer;
-
-    /** The logger */
-    private static final Log log = LogFactory.getLog( IndexedDisk.class );
-
-    /** The path to the log directory. */
-    private final String filepath;
-
-    /** The data file. */
-    private final FileChannel fc;
-
-    /**
-     * Constructor for the Disk object
-     * <p>
-     * @param file
-     * @param elementSerializer
-     * @throws FileNotFoundException
-     */
-    public IndexedDisk( File file, IElementSerializer elementSerializer )
-        throws FileNotFoundException
-    {
-        this.filepath = file.getAbsolutePath();
-        this.elementSerializer = elementSerializer;
-        RandomAccessFile raf = new RandomAccessFile( filepath, "rw" );
-        this.fc = raf.getChannel();
-    }
-
-    /**
-     * This reads an object from the given starting position on the file.
-     * <p>
-     * The first four bytes of the record should tell us how long it is. The data is read into a byte
-     * array and then an object is constructed from the byte array.
-     * <p>
-     * @return Serializable
-     * @param ded
-     * @throws IOException
-     * @throws ClassNotFoundException
-     */
-    protected <T extends Serializable> T readObject( IndexedDiskElementDescriptor ded )
-        throws IOException, ClassNotFoundException
-    {
-        String message = null;
-        boolean corrupted = false;
-        long fileLength = fc.size();
-        if ( ded.pos > fileLength )
-        {
-            corrupted = true;
-            message = "Record " + ded + " starts past EOF.";
-        }
-        else
-        {
-            ByteBuffer datalength = ByteBuffer.allocate(HEADER_SIZE_BYTES);
-            fc.read(datalength, ded.pos);
-            datalength.flip();
-            int datalen = datalength.getInt();
-            if ( ded.len != datalen )
-            {
-                corrupted = true;
-                message = "Record " + ded + " does not match data length on disk (" + datalen + ")";
-            }
-            else if ( ded.pos + ded.len > fileLength )
-            {
-                corrupted = true;
-                message = "Record " + ded + " exceeds file length.";
-            }
-        }
-
-        if ( corrupted )
-        {
-            log.warn( "\n The file is corrupt: " + "\n " + message );
-            throw new IOException( "The File Is Corrupt, need to reset" );
-        }
-
-        ByteBuffer data = ByteBuffer.allocate(ded.len);
-        fc.read(data, ded.pos + HEADER_SIZE_BYTES);
-        data.flip();
-
-        return elementSerializer.deSerialize( data.array(), null );
-    }
-
-    /**
-     * Moves the data stored from one position to another. The descriptor's position is updated.
-     * <p>
-     * @param ded
-     * @param newPosition
-     * @throws IOException
-     */
-    protected void move( final IndexedDiskElementDescriptor ded, final long newPosition )
-        throws IOException
-    {
-        ByteBuffer datalength = ByteBuffer.allocate(HEADER_SIZE_BYTES);
-        fc.read(datalength, ded.pos);
-        datalength.flip();
-        int length = datalength.getInt();
-
-        if ( length != ded.len )
-        {
-            throw new IOException( "Mismatched memory and disk length (" + length + ") for " + ded );
-        }
-
-        // TODO: more checks?
-
-        long readPos = ded.pos;
-        long writePos = newPosition;
-
-        // header len + data len
-        int remaining = HEADER_SIZE_BYTES + length;
-        ByteBuffer buffer = ByteBuffer.allocate(16384);
-
-        while ( remaining > 0 )
-        {
-            // chunk it
-            int chunkSize = Math.min( remaining, buffer.capacity() );
-            buffer.limit(chunkSize);
-            fc.read(buffer, readPos);
-            buffer.flip();
-            fc.write(buffer, writePos);
-            buffer.clear();
-
-            writePos += chunkSize;
-            readPos += chunkSize;
-            remaining -= chunkSize;
-        }
-
-        ded.pos = newPosition;
-    }
-
-    /**
-     * Writes the given byte array to the Disk at the specified position.
-     * <p>
-     * @param data
-     * @param ded
-     * @return true if we wrote successfully
-     * @throws IOException
-     */
-    protected boolean write( IndexedDiskElementDescriptor ded, byte[] data )
-        throws IOException
-    {
-        long pos = ded.pos;
-        if ( log.isTraceEnabled() )
-        {
-            log.trace( "write> pos=" + pos );
-            log.trace( fc + " -- data.length = " + data.length );
-        }
-
-        if ( data.length != ded.len )
-        {
-            throw new IOException( "Mismatched descriptor and data lengths" );
-        }
-
-        ByteBuffer buffer = ByteBuffer.allocate(HEADER_SIZE_BYTES + data.length);
-        buffer.putInt(data.length);
-        buffer.put(data);
-        buffer.flip();
-        int written = fc.write(buffer, pos);
-        //fc.force(true);
-
-        return written == data.length;
-    }
-
-    /**
-     * Serializes the object and write it out to the given position.
-     * <p>
-     * TODO: make this take a ded as well.
-     * @return true unless error
-     * @param obj
-     * @param pos
-     * @throws IOException
-     */
-    protected boolean writeObject( Serializable obj, long pos )
-        throws IOException
-    {
-        byte[] data = elementSerializer.serialize( obj );
-        write( new IndexedDiskElementDescriptor( pos, data.length ), data );
-        return true;
-    }
-
-    /**
-     * Returns the raf length.
-     * <p>
-     * @return the length of the file.
-     * @throws IOException
-     */
-    protected long length()
-        throws IOException
-    {
-        return fc.size();
-    }
-
-    /**
-     * Closes the raf.
-     * <p>
-     * @throws IOException
-     */
-    protected void close()
-        throws IOException
-    {
-        fc.close();
-    }
-
-    /**
-     * Sets the raf to empty.
-     * <p>
-     * @throws IOException
-     */
-    protected synchronized void reset()
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Resetting Indexed File [" + filepath + "]" );
-        }
-        fc.truncate(0);
-        fc.force(true);
-    }
-
-    /**
-     * Truncates the file to a given length.
-     * <p>
-     * @param length the new length of the file
-     * @throws IOException
-     */
-    protected void truncate( long length )
-        throws IOException
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Truncating file [" + filepath + "] to " + length );
-        }
-        fc.truncate( length );
-    }
-
-    /**
-     * This is used for debugging.
-     * <p>
-     * @return the file path.
-     */
-    protected String getFilePath()
-    {
-        return filepath;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCache.java b/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCache.java
deleted file mode 100644
index 2cda130..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCache.java
+++ /dev/null
@@ -1,1837 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.indexed;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.ConcurrentModificationException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache;
-import org.apache.commons.jcs.auxiliary.disk.behavior.IDiskCacheAttributes.DiskLimitType;
-import org.apache.commons.jcs.engine.CacheConstants;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.control.group.GroupAttrName;
-import org.apache.commons.jcs.engine.control.group.GroupId;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEvent;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.jcs.utils.struct.AbstractLRUMap;
-import org.apache.commons.jcs.utils.struct.LRUMap;
-import org.apache.commons.jcs.utils.struct.SortedPreferentialArray;
-import org.apache.commons.jcs.utils.timing.ElapsedTimer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Disk cache that uses a RandomAccessFile with keys stored in memory. The maximum number of keys
- * stored in memory is configurable. The disk cache tries to recycle spots on disk to limit file
- * expansion.
- */
-public class IndexedDiskCache<K, V> extends AbstractDiskCache<K, V>
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog(IndexedDiskCache.class);
-
-    /** Cache name used in log messages */
-    protected final String logCacheName;
-
-    /** The name of the file where the data is stored */
-    private final String fileName;
-
-    /** The IndexedDisk manages reads and writes to the data file. */
-    private IndexedDisk dataFile;
-
-    /** The IndexedDisk manages reads and writes to the key file. */
-    private IndexedDisk keyFile;
-
-    /** Map containing the keys and disk offsets. */
-    private Map<K, IndexedDiskElementDescriptor> keyHash;
-
-    /** The maximum number of keys that we will keep in memory. */
-    private final int maxKeySize;
-
-    /** A handle on the data file. */
-    private File rafDir;
-
-    /** Should we keep adding to the recycle bin. False during optimization. */
-    boolean doRecycle = true;
-
-    /** Should we optimize real time */
-    boolean isRealTimeOptimizationEnabled = true;
-
-    /** Should we optimize on shutdown. */
-    boolean isShutdownOptimizationEnabled = true;
-
-    /** are we currently optimizing the files */
-    boolean isOptimizing = false;
-
-    /** The number of times the file has been optimized. */
-    private int timesOptimized = 0;
-
-    /** The thread optimizing the file. */
-    private volatile Thread currentOptimizationThread;
-
-    /** used for counting the number of requests */
-    private int removeCount = 0;
-
-    /** Should we queue puts. True when optimizing. We write the queue post optimization. */
-    private boolean queueInput = false;
-
-    /** list where puts made during optimization are made */
-    private final LinkedList<IndexedDiskElementDescriptor> queuedPutList = new LinkedList<IndexedDiskElementDescriptor>();
-
-    /** RECYLCE BIN -- array of empty spots */
-    private SortedPreferentialArray<IndexedDiskElementDescriptor> recycle;
-
-    /** User configurable parameters */
-    private final IndexedDiskCacheAttributes cattr;
-
-    /** How many slots have we recycled. */
-    private int recycleCnt = 0;
-
-    /** How many items were there on startup. */
-    private int startupSize = 0;
-
-    /** the number of bytes free on disk. */
-    private long bytesFree = 0;
-
-    /** mode we are working on (size or count limited **/
-    private DiskLimitType diskLimitType = DiskLimitType.COUNT;
-
-    /** simple stat */
-    private AtomicInteger hitCount = new AtomicInteger(0);
-
-    /**
-     * Use this lock to synchronize reads and writes to the underlying storage mechanism.
-     */
-    protected ReentrantReadWriteLock storageLock = new ReentrantReadWriteLock();
-
-    /**
-     * Constructor for the DiskCache object.
-     * <p>
-     *
-     * @param cacheAttributes
-     */
-    public IndexedDiskCache(IndexedDiskCacheAttributes cacheAttributes)
-    {
-        this(cacheAttributes, null);
-    }
-
-    /**
-     * Constructor for the DiskCache object.
-     * <p>
-     *
-     * @param cattr
-     * @param elementSerializer
-     *            used if supplied, the super's super will not set a null
-     */
-    public IndexedDiskCache(IndexedDiskCacheAttributes cattr, IElementSerializer elementSerializer)
-    {
-        super(cattr);
-
-        setElementSerializer(elementSerializer);
-
-        this.cattr = cattr;
-        this.maxKeySize = cattr.getMaxKeySize();
-        this.isRealTimeOptimizationEnabled = cattr.getOptimizeAtRemoveCount() > 0;
-        this.isShutdownOptimizationEnabled = cattr.isOptimizeOnShutdown();
-        this.logCacheName = "Region [" + getCacheName() + "] ";
-        this.diskLimitType = cattr.getDiskLimitType();
-        // Make a clean file name
-        this.fileName = getCacheName().replaceAll("[^a-zA-Z0-9-_\\.]", "_");
-
-        try
-        {
-            initializeFileSystem(cattr);
-
-            initializeKeysAndData(cattr);
-
-            initializeRecycleBin();
-
-            // Initialization finished successfully, so set alive to true.
-            setAlive(true);
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "Indexed Disk Cache is alive.");
-            }
-
-            // TODO: Should we improve detection of whether or not the file should be optimized.
-            if (isRealTimeOptimizationEnabled && keyHash.size() > 0)
-            {
-                // Kick off a real time optimization, in case we didn't do a final optimization.
-                doOptimizeRealTime();
-            }
-        }
-        catch (Exception e)
-        {
-            log.error(
-                logCacheName + "Failure initializing for fileName: " + fileName + " and directory: "
-                    + this.rafDir.getAbsolutePath(), e);
-        }
-    }
-
-    /**
-     * Tries to create the root directory if it does not already exist.
-     * <p>
-     *
-     * @param cattr
-     */
-    private void initializeFileSystem(IndexedDiskCacheAttributes cattr)
-    {
-        this.rafDir = cattr.getDiskPath();
-        if (log.isInfoEnabled())
-        {
-            log.info(logCacheName + "Cache file root directory: " + rafDir);
-        }
-    }
-
-    /**
-     * Creates the key and data disk caches.
-     * <p>
-     * Loads any keys if they are present and ClearDiskOnStartup is false.
-     * <p>
-     *
-     * @param cattr
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    private void initializeKeysAndData(IndexedDiskCacheAttributes cattr) throws IOException, InterruptedException
-    {
-        this.dataFile = new IndexedDisk(new File(rafDir, fileName + ".data"), getElementSerializer());
-        this.keyFile = new IndexedDisk(new File(rafDir, fileName + ".key"), getElementSerializer());
-
-        if (cattr.isClearDiskOnStartup())
-        {
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "ClearDiskOnStartup is set to true.  Ingnoring any persisted data.");
-            }
-            initializeEmptyStore();
-        }
-        else if (keyFile.length() > 0)
-        {
-            // If the key file has contents, try to initialize the keys
-            // from it. In no keys are loaded reset the data file.
-            initializeStoreFromPersistedData();
-        }
-        else
-        {
-            // Otherwise start with a new empty map for the keys, and reset
-            // the data file if it has contents.
-            initializeEmptyStore();
-        }
-    }
-
-    /**
-     * Initializes an empty disk cache.
-     * <p>
-     *
-     * @throws IOException
-     */
-    private void initializeEmptyStore() throws IOException
-    {
-        initializeKeyMap();
-
-        if (dataFile.length() > 0)
-        {
-            dataFile.reset();
-        }
-    }
-
-    /**
-     * Loads any persisted data and checks for consistency. If there is a consistency issue, the
-     * files are cleared.
-     * <p>
-     *
-     * @throws InterruptedException
-     * @throws IOException
-     */
-    private void initializeStoreFromPersistedData() throws InterruptedException, IOException
-    {
-        loadKeys();
-
-        if (keyHash.isEmpty())
-        {
-            dataFile.reset();
-        }
-        else
-        {
-            boolean isOk = checkKeyDataConsistency(false);
-            if (!isOk)
-            {
-                keyHash.clear();
-                keyFile.reset();
-                dataFile.reset();
-                log.warn(logCacheName + "Corruption detected.  Reseting data and keys files.");
-            }
-            else
-            {
-                synchronized (this)
-                {
-                    startupSize = keyHash.size();
-                }
-            }
-        }
-    }
-
-    /**
-     * Loads the keys from the .key file. The keys are stored in a HashMap on disk. This is
-     * converted into a LRUMap.
-     * <p>
-     *
-     * @throws InterruptedException
-     */
-    protected void loadKeys() throws InterruptedException
-    {
-        if (log.isDebugEnabled())
-        {
-            log.debug(logCacheName + "Loading keys for " + keyFile.toString());
-        }
-
-        storageLock.writeLock().lock();
-
-        try
-        {
-            // create a key map to use.
-            initializeKeyMap();
-
-            HashMap<K, IndexedDiskElementDescriptor> keys = keyFile.readObject(new IndexedDiskElementDescriptor(0, (int) keyFile
-                .length() - IndexedDisk.HEADER_SIZE_BYTES));
-
-            if (keys != null)
-            {
-                if (log.isDebugEnabled())
-                {
-                    log.debug(logCacheName + "Found " + keys.size() + " in keys file.");
-                }
-
-                keyHash.putAll(keys);
-
-                if (log.isInfoEnabled())
-                {
-                    log.info(logCacheName + "Loaded keys from [" + fileName + "], key count: " + keyHash.size() + "; up to "
-                        + maxKeySize + " will be available.");
-                }
-            }
-
-            if (log.isDebugEnabled())
-            {
-                dump(false);
-            }
-        }
-        catch (Exception e)
-        {
-            log.error(logCacheName + "Problem loading keys for file " + fileName, e);
-        }
-        finally
-        {
-            storageLock.writeLock().unlock();
-        }
-    }
-
-    /**
-     * Check for minimal consistency between the keys and the datafile. Makes sure no starting
-     * positions in the keys exceed the file length.
-     * <p>
-     * The caller should take the appropriate action if the keys and data are not consistent.
-     *
-     * @param checkForDedOverlaps
-     *            if <code>true</code>, do a more thorough check by checking for
-     *            data overlap
-     * @return <code>true</code> if the test passes
-     */
-    private boolean checkKeyDataConsistency(boolean checkForDedOverlaps)
-    {
-        ElapsedTimer timer = new ElapsedTimer();
-        log.debug(logCacheName + "Performing inital consistency check");
-
-        boolean isOk = true;
-        long fileLength = 0;
-        try
-        {
-            fileLength = dataFile.length();
-
-            for (Map.Entry<K, IndexedDiskElementDescriptor> e : keyHash.entrySet())
-            {
-                IndexedDiskElementDescriptor ded = e.getValue();
-
-                isOk = ded.pos + IndexedDisk.HEADER_SIZE_BYTES + ded.len <= fileLength;
-
-                if (!isOk)
-                {
-                    log.warn(logCacheName + "The dataFile is corrupted!" + "\n raf.length() = " + fileLength + "\n ded.pos = "
-                        + ded.pos);
-                    break;
-                }
-            }
-
-            if (isOk && checkForDedOverlaps)
-            {
-                isOk = checkForDedOverlaps(createPositionSortedDescriptorList());
-            }
-        }
-        catch (Exception e)
-        {
-            log.error(e);
-            isOk = false;
-        }
-
-        if (log.isInfoEnabled())
-        {
-            log.info(logCacheName + "Finished inital consistency check, isOk = " + isOk + " in " + timer.getElapsedTimeString());
-        }
-
-        return isOk;
-    }
-
-    /**
-     * Detects any overlapping elements. This expects a sorted list.
-     * <p>
-     * The total length of an item is IndexedDisk.RECORD_HEADER + ded.len.
-     * <p>
-     *
-     * @param sortedDescriptors
-     * @return false if there are overlaps.
-     */
-    protected boolean checkForDedOverlaps(IndexedDiskElementDescriptor[] sortedDescriptors)
-    {
-        long start = System.currentTimeMillis();
-        boolean isOk = true;
-        long expectedNextPos = 0;
-        for (int i = 0; i < sortedDescriptors.length; i++)
-        {
-            IndexedDiskElementDescriptor ded = sortedDescriptors[i];
-            if (expectedNextPos > ded.pos)
-            {
-                log.error(logCacheName + "Corrupt file: overlapping deds " + ded);
-                isOk = false;
-                break;
-            }
-            else
-            {
-                expectedNextPos = ded.pos + IndexedDisk.HEADER_SIZE_BYTES + ded.len;
-            }
-        }
-        long end = System.currentTimeMillis();
-        if (log.isDebugEnabled())
-        {
-            log.debug(logCacheName + "Check for DED overlaps took " + (end - start) + " ms.");
-        }
-
-        return isOk;
-    }
-
-    /**
-     * Saves key file to disk. This converts the LRUMap to a HashMap for deserialization.
-     */
-    protected void saveKeys()
-    {
-        try
-        {
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "Saving keys to: " + fileName + ", key count: " + keyHash.size());
-            }
-
-            keyFile.reset();
-
-            HashMap<K, IndexedDiskElementDescriptor> keys = new HashMap<K, IndexedDiskElementDescriptor>();
-            keys.putAll(keyHash);
-
-            if (keys.size() > 0)
-            {
-                keyFile.writeObject(keys, 0);
-            }
-
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "Finished saving keys.");
-            }
-        }
-        catch (Exception e)
-        {
-            log.error(logCacheName + "Problem storing keys.", e);
-        }
-    }
-
-    /**
-     * Update the disk cache. Called from the Queue. Makes sure the Item has not been retrieved from
-     * purgatory while in queue for disk. Remove items from purgatory when they go to disk.
-     * <p>
-     *
-     * @param ce
-     *            The ICacheElement<K, V> to put to disk.
-     */
-    @Override
-    protected void processUpdate(ICacheElement<K, V> ce)
-    {
-        if (!isAlive())
-        {
-            log.error(logCacheName + "No longer alive; aborting put of key = " + ce.getKey());
-            return;
-        }
-
-        if (log.isDebugEnabled())
-        {
-            log.debug(logCacheName + "Storing element on disk, key: " + ce.getKey());
-        }
-
-        IndexedDiskElementDescriptor ded = null;
-
-        // old element with same key
-        IndexedDiskElementDescriptor old = null;
-
-        try
-        {
-            byte[] data = getElementSerializer().serialize(ce);
-
-            // make sure this only locks for one particular cache region
-            storageLock.writeLock().lock();
-            try
-            {
-                old = keyHash.get(ce.getKey());
-
-                // Item with the same key already exists in file.
-                // Try to reuse the location if possible.
-                if (old != null && data.length <= old.len)
-                {
-                    // Reuse the old ded. The defrag relies on ded updates by reference, not
-                    // replacement.
-                    ded = old;
-                    ded.len = data.length;
-                }
-                else
-                {
-                    // we need this to compare in the recycle bin
-                    ded = new IndexedDiskElementDescriptor(dataFile.length(), data.length);
-
-                    if (doRecycle)
-                    {
-                        IndexedDiskElementDescriptor rep = recycle.takeNearestLargerOrEqual(ded);
-                        if (rep != null)
-                        {
-                            ded = rep;
-                            ded.len = data.length;
-                            recycleCnt++;
-                            this.adjustBytesFree(ded, false);
-                            if (log.isDebugEnabled())
-                            {
-                                log.debug(logCacheName + "using recycled ded " + ded.pos + " rep.len = " + rep.len + " ded.len = "
-                                    + ded.len);
-                            }
-                        }
-                    }
-
-                    // Put it in the map
-                    keyHash.put(ce.getKey(), ded);
-
-                    if (queueInput)
-                    {
-                        queuedPutList.add(ded);
-                        if (log.isDebugEnabled())
-                        {
-                            log.debug(logCacheName + "added to queued put list." + queuedPutList.size());
-                        }
-                    }
-
-                    // add the old slot to the recycle bin
-                    if (old != null)
-                    {
-                        addToRecycleBin(old);
-                    }
-                }
-
-                dataFile.write(ded, data);
-            }
-            finally
-            {
-                storageLock.writeLock().unlock();
-            }
-
-            if (log.isDebugEnabled())
-            {
-                log.debug(logCacheName + "Put to file: " + fileName + ", key: " + ce.getKey() + ", position: " + ded.pos
-                    + ", size: " + ded.len);
-            }
-        }
-        catch (ConcurrentModificationException cme)
-        {
-            // do nothing, this means it has gone back to memory mid
-            // serialization
-            if (log.isDebugEnabled())
-            {
-                // this shouldn't be possible
-                log.debug(logCacheName + "Caught ConcurrentModificationException." + cme);
-            }
-        }
-        catch (Exception e)
-        {
-            log.error(logCacheName + "Failure updating element, key: " + ce.getKey() + " old: " + old, e);
-        }
-    }
-
-    /**
-     * Gets the key, then goes to disk to get the object.
-     * <p>
-     *
-     * @param key
-     * @return ICacheElement<K, V> or null
-     * @see AbstractDiskCache#doGet
-     */
-    @Override
-    protected ICacheElement<K, V> processGet(K key)
-    {
-        if (!isAlive())
-        {
-            log.error(logCacheName + "No longer alive so returning null for key = " + key);
-            return null;
-        }
-
-        if (log.isDebugEnabled())
-        {
-            log.debug(logCacheName + "Trying to get from disk: " + key);
-        }
-
-        ICacheElement<K, V> object = null;
-        try
-        {
-            storageLock.readLock().lock();
-            try
-            {
-                object = readElement(key);
-            }
-            finally
-            {
-                storageLock.readLock().unlock();
-            }
-
-            if (object != null)
-            {
-                hitCount.incrementAndGet();
-            }
-        }
-        catch (IOException ioe)
-        {
-            log.error(logCacheName + "Failure getting from disk, key = " + key, ioe);
-            reset();
-        }
-        catch (Exception e)
-        {
-            log.error(logCacheName + "Failure getting from disk, key = " + key, e);
-        }
-        return object;
-    }
-
-    /**
-     * Gets matching items from the cache.
-     * <p>
-     *
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache matching keys
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> processGetMatching(String pattern)
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-        try
-        {
-            Set<K> keyArray = null;
-            storageLock.readLock().lock();
-            try
-            {
-                keyArray = new HashSet<K>(keyHash.keySet());
-            }
-            finally
-            {
-                storageLock.readLock().unlock();
-            }
-
-            Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray(pattern, keyArray);
-
-            for (K key : matchingKeys)
-            {
-                ICacheElement<K, V> element = processGet(key);
-                if (element != null)
-                {
-                    elements.put(key, element);
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            log.error(logCacheName + "Failure getting matching from disk, pattern = " + pattern, e);
-        }
-        return elements;
-    }
-
-    /**
-     * Reads the item from disk.
-     * <p>
-     *
-     * @param key
-     * @return ICacheElement
-     * @throws IOException
-     */
-    private ICacheElement<K, V> readElement(K key) throws IOException
-    {
-        ICacheElement<K, V> object = null;
-
-        IndexedDiskElementDescriptor ded = keyHash.get(key);
-
-        if (ded != null)
-        {
-            if (log.isDebugEnabled())
-            {
-                log.debug(logCacheName + "Found on disk, key: " + key);
-            }
-            try
-            {
-                ICacheElement<K, V> readObject = dataFile.readObject(ded);
-                object = readObject;
-                // TODO consider checking key equality and throwing if there is a failure
-            }
-            catch (IOException e)
-            {
-                log.error(logCacheName + "IO Exception, Problem reading object from file", e);
-                throw e;
-            }
-            catch (Exception e)
-            {
-                log.error(logCacheName + "Exception, Problem reading object from file", e);
-                throw new IOException(logCacheName + "Problem reading object from disk. " + e.getMessage());
-            }
-        }
-
-        return object;
-    }
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     *
-     * @see org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet() throws IOException
-    {
-        HashSet<K> keys = new HashSet<K>();
-
-        storageLock.readLock().lock();
-
-        try
-        {
-            keys.addAll(this.keyHash.keySet());
-        }
-        finally
-        {
-            storageLock.readLock().unlock();
-        }
-
-        return keys;
-    }
-
-    /**
-     * Returns true if the removal was successful; or false if there is nothing to remove. Current
-     * implementation always result in a disk orphan.
-     * <p>
-     *
-     * @return true if at least one item was removed.
-     * @param key
-     */
-    @Override
-    protected boolean processRemove(K key)
-    {
-        if (!isAlive())
-        {
-            log.error(logCacheName + "No longer alive so returning false for key = " + key);
-            return false;
-        }
-
-        if (key == null)
-        {
-            return false;
-        }
-
-        boolean reset = false;
-        boolean removed = false;
-        try
-        {
-            storageLock.writeLock().lock();
-
-            if (key instanceof String && key.toString().endsWith(CacheConstants.NAME_COMPONENT_DELIMITER))
-            {
-                removed = performPartialKeyRemoval((String) key);
-            }
-            else if (key instanceof GroupAttrName && ((GroupAttrName<?>) key).attrName == null)
-            {
-                removed = performGroupRemoval(((GroupAttrName<?>) key).groupId);
-            }
-            else
-            {
-                removed = performSingleKeyRemoval(key);
-            }
-        }
-        catch (Exception e)
-        {
-            log.error(logCacheName + "Problem removing element.", e);
-            reset = true;
-        }
-        finally
-        {
-            storageLock.writeLock().unlock();
-        }
-
-        if (reset)
-        {
-            reset();
-        }
-
-        // this increments the remove count.
-        // there is no reason to call this if an item was not removed.
-        if (removed)
-        {
-            doOptimizeRealTime();
-        }
-
-        return removed;
-    }
-
-    /**
-     * Iterates over the keyset. Builds a list of matches. Removes all the keys in the list. Does
-     * not remove via the iterator, since the map impl may not support it.
-     * <p>
-     * This operates under a lock obtained in doRemove().
-     * <p>
-     *
-     * @param key
-     * @return true if there was a match
-     */
-    private boolean performPartialKeyRemoval(String key)
-    {
-        boolean removed = false;
-
-        // remove all keys of the same name hierarchy.
-        List<K> itemsToRemove = new LinkedList<K>();
-
-        for (K k : keyHash.keySet())
-        {
-            if (k instanceof String && k.toString().startsWith(key))
-            {
-                itemsToRemove.add(k);
-            }
-        }
-
-        // remove matches.
-        for (K fullKey : itemsToRemove)
-        {
-            // Don't add to recycle bin here
-            // https://issues.apache.org/jira/browse/JCS-67
-            performSingleKeyRemoval(fullKey);
-            removed = true;
-            // TODO this needs to update the remove count separately
-        }
-
-        return removed;
-    }
-
-    /**
-     * Remove all elements from the group. This does not use the iterator to remove. It builds a
-     * list of group elements and then removes them one by one.
-     * <p>
-     * This operates under a lock obtained in doRemove().
-     * <p>
-     *
-     * @param key
-     * @return true if an element was removed
-     */
-    private boolean performGroupRemoval(GroupId key)
-    {
-        boolean removed = false;
-
-        // remove all keys of the same name group.
-        List<K> itemsToRemove = new LinkedList<K>();
-
-        // remove all keys of the same name hierarchy.
-        for (K k : keyHash.keySet())
-        {
-            if (k instanceof GroupAttrName && ((GroupAttrName<?>) k).groupId.equals(key))
-            {
-                itemsToRemove.add(k);
-            }
-        }
-
-        // remove matches.
-        for (K fullKey : itemsToRemove)
-        {
-            // Don't add to recycle bin here
-            // https://issues.apache.org/jira/browse/JCS-67
-            performSingleKeyRemoval(fullKey);
-            removed = true;
-            // TODO this needs to update the remove count separately
-        }
-
-        return removed;
-    }
-
-    /**
-     * Removes an individual key from the cache.
-     * <p>
-     * This operates under a lock obtained in doRemove().
-     * <p>
-     *
-     * @param key
-     * @return true if an item was removed.
-     */
-    private boolean performSingleKeyRemoval(K key)
-    {
-        boolean removed;
-        // remove single item.
-        IndexedDiskElementDescriptor ded = keyHash.remove(key);
-        removed = ded != null;
-        addToRecycleBin(ded);
-
-        if (log.isDebugEnabled())
-        {
-            log.debug(logCacheName + "Disk removal: Removed from key hash, key [" + key + "] removed = " + removed);
-        }
-        return removed;
-    }
-
-    /**
-     * Remove all the items from the disk cache by reseting everything.
-     */
-    @Override
-    public void processRemoveAll()
-    {
-        ICacheEvent<String> cacheEvent = createICacheEvent(getCacheName(), "all", ICacheEventLogger.REMOVEALL_EVENT);
-        try
-        {
-            reset();
-        }
-        catch (Exception e)
-        {
-            log.error(logCacheName + "Problem removing all.", e);
-            reset();
-        }
-        finally
-        {
-            logICacheEvent(cacheEvent);
-        }
-    }
-
-    /**
-     * Reset effectively clears the disk cache, creating new files, recyclebins, and keymaps.
-     * <p>
-     * It can be used to handle errors by last resort, force content update, or removeall.
-     */
-    private void reset()
-    {
-        if (log.isWarnEnabled())
-        {
-            log.warn(logCacheName + "Reseting cache");
-        }
-
-        try
-        {
-            storageLock.writeLock().lock();
-
-            if (dataFile != null)
-            {
-                dataFile.close();
-            }
-            File dataFileTemp = new File(rafDir, fileName + ".data");
-            boolean result = dataFileTemp.delete();
-            if (!result && log.isDebugEnabled())
-            {
-                log.debug("Could not delete file " + dataFileTemp);
-            }
-
-            if (keyFile != null)
-            {
-                keyFile.close();
-            }
-            File keyFileTemp = new File(rafDir, fileName + ".key");
-            result = keyFileTemp.delete();
-            if (!result && log.isDebugEnabled())
-            {
-                log.debug("Could not delete file " + keyFileTemp);
-            }
-
-            dataFile = new IndexedDisk(new File(rafDir, fileName + ".data"), getElementSerializer());
-            keyFile = new IndexedDisk(new File(rafDir, fileName + ".key"), getElementSerializer());
-
-            initializeRecycleBin();
-
-            initializeKeyMap();
-        }
-        catch (IOException e)
-        {
-            log.error(logCacheName + "Failure reseting state", e);
-        }
-        finally
-        {
-            storageLock.writeLock().unlock();
-        }
-    }
-
-    /**
-     * If the maxKeySize is < 0, use 5000, no way to have an unlimited recycle bin right now, or one
-     * less than the mazKeySize.
-     */
-    private void initializeRecycleBin()
-    {
-        int recycleBinSize = cattr.getMaxRecycleBinSize() >= 0 ? cattr.getMaxRecycleBinSize() : 0;
-        recycle = new SortedPreferentialArray<IndexedDiskElementDescriptor>(recycleBinSize);
-        if (log.isDebugEnabled())
-        {
-            log.debug(logCacheName + "Set recycle max Size to MaxRecycleBinSize: '" + recycleBinSize + "'");
-        }
-    }
-
-    /**
-     * Create the map for keys that contain the index position on disk.
-     */
-    private void initializeKeyMap()
-    {
-        keyHash = null;
-        if (maxKeySize >= 0)
-        {
-            if (this.diskLimitType == DiskLimitType.COUNT)
-            {
-                keyHash = new LRUMapCountLimited(maxKeySize);
-            }
-            else
-            {
-                keyHash = new LRUMapSizeLimited(maxKeySize);
-            }
-
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "Set maxKeySize to: '" + maxKeySize + "'");
-            }
-        }
-        else
-        {
-            // If no max size, use a plain map for memory and processing efficiency.
-            keyHash = new HashMap<K, IndexedDiskElementDescriptor>();
-            // keyHash = Collections.synchronizedMap( new HashMap() );
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "Set maxKeySize to unlimited'");
-            }
-        }
-    }
-
-    /**
-     * Dispose of the disk cache in a background thread. Joins against this thread to put a cap on
-     * the disposal time.
-     * <p>
-     * TODO make dispose window configurable.
-     */
-    @Override
-    public void processDispose()
-    {
-        ICacheEvent<String> cacheEvent = createICacheEvent(getCacheName(), "none", ICacheEventLogger.DISPOSE_EVENT);
-        try
-        {
-            Runnable disR = new Runnable()
-            {
-                @Override
-                public void run()
-                {
-                    disposeInternal();
-                }
-            };
-            Thread t = new Thread(disR, "IndexedDiskCache-DisposalThread");
-            t.start();
-            // wait up to 60 seconds for dispose and then quit if not done.
-            try
-            {
-                t.join(60 * 1000);
-            }
-            catch (InterruptedException ex)
-            {
-                log.error(logCacheName + "Interrupted while waiting for disposal thread to finish.", ex);
-            }
-        }
-        finally
-        {
-            logICacheEvent(cacheEvent);
-        }
-    }
-
-    /**
-     * Internal method that handles the disposal.
-     */
-    protected void disposeInternal()
-    {
-        if (!isAlive())
-        {
-            log.error(logCacheName + "Not alive and dispose was called, filename: " + fileName);
-            return;
-        }
-
-        // Prevents any interaction with the cache while we're shutting down.
-        setAlive(false);
-
-        Thread optimizationThread = currentOptimizationThread;
-        if (isRealTimeOptimizationEnabled && optimizationThread != null)
-        {
-            // Join with the current optimization thread.
-            if (log.isDebugEnabled())
-            {
-                log.debug(logCacheName + "In dispose, optimization already " + "in progress; waiting for completion.");
-            }
-            try
-            {
-                optimizationThread.join();
-            }
-            catch (InterruptedException e)
-            {
-                log.error(logCacheName + "Unable to join current optimization thread.", e);
-            }
-        }
-        else if (isShutdownOptimizationEnabled && this.getBytesFree() > 0)
-        {
-            optimizeFile();
-        }
-
-        saveKeys();
-
-        try
-        {
-            if (log.isDebugEnabled())
-            {
-                log.debug(logCacheName + "Closing files, base filename: " + fileName);
-            }
-            dataFile.close();
-            dataFile = null;
-            keyFile.close();
-            keyFile = null;
-        }
-        catch (IOException e)
-        {
-            log.error(logCacheName + "Failure closing files in dispose, filename: " + fileName, e);
-        }
-
-        if (log.isInfoEnabled())
-        {
-            log.info(logCacheName + "Shutdown complete.");
-        }
-    }
-
-    /**
-     * Add descriptor to recycle bin if it is not null. Adds the length of the item to the bytes
-     * free.
-     * <p>
-     * This is called in three places: (1) When an item is removed. All item removals funnel down to the removeSingleItem method.
-     * (2) When an item on disk is updated with a value that will not fit in the previous slot. (3) When the max key size is
-     * reached, the freed slot will be added.
-     * <p>
-     * The recylebin is not a set. If a slot it added twice, it will result in the wrong data being returned.
-     * <p>
-     *
-     * @param ded
-     */
-    protected void addToRecycleBin(IndexedDiskElementDescriptor ded)
-    {
-        // reuse the spot
-        if (ded != null)
-        {
-            this.adjustBytesFree(ded, true);
-
-            if (doRecycle)
-            {
-                recycle.add(ded);
-                if (log.isDebugEnabled())
-                {
-                    log.debug(logCacheName + "recycled ded" + ded);
-                }
-
-            }
-        }
-    }
-
-    /**
-     * Performs the check for optimization, and if it is required, do it.
-     */
-    protected void doOptimizeRealTime()
-    {
-        if (isRealTimeOptimizationEnabled && !isOptimizing && removeCount++ >= cattr.getOptimizeAtRemoveCount())
-        {
-            isOptimizing = true;
-
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "Optimizing file. removeCount [" + removeCount + "] OptimizeAtRemoveCount ["
-                    + cattr.getOptimizeAtRemoveCount() + "]");
-            }
-
-            if (currentOptimizationThread == null)
-            {
-                storageLock.writeLock().lock();
-
-                try
-                {
-                    if (currentOptimizationThread == null)
-                    {
-                        currentOptimizationThread = new Thread(new Runnable()
-                        {
-                            @Override
-                            public void run()
-                            {
-                                optimizeFile();
-
-                                currentOptimizationThread = null;
-                            }
-                        }, "IndexedDiskCache-OptimizationThread");
-                    }
-                }
-                finally
-                {
-                    storageLock.writeLock().unlock();
-                }
-
-                if (currentOptimizationThread != null)
-                {
-                    currentOptimizationThread.start();
-                }
-            }
-        }
-    }
-
-    /**
-     * File optimization is handled by this method. It works as follows:
-     * <ol>
-     * <li>Shutdown recycling and turn on queuing of puts.</li>
-     * <li>Take a snapshot of the current descriptors. If there are any removes, ignore them, as they will be compacted during the
-     * next optimization.</li>
-     * <li>Optimize the snapshot. For each descriptor:
-     * <ol>
-     * <li>Obtain the write-lock.</li>
-     * <li>Shift the element on the disk, in order to compact out the free space.</li>
-     * <li>Release the write-lock. This allows elements to still be accessible during optimization.</li>
-     * </ol>
-     * </li>
-     * <li>Obtain the write-lock.</li>
-     * <li>All queued puts are made at the end of the file. Optimize these under a single write-lock.</li>
-     * <li>Truncate the file.</li>
-     * <li>Release the write-lock.</li>
-     * <li>Restore system to standard operation.</li>
-     * </ol>
-     */
-    protected void optimizeFile()
-    {
-        ElapsedTimer timer = new ElapsedTimer();
-        timesOptimized++;
-        if (log.isInfoEnabled())
-        {
-            log.info(logCacheName + "Beginning Optimization #" + timesOptimized);
-        }
-
-        // CREATE SNAPSHOT
-        IndexedDiskElementDescriptor[] defragList = null;
-
-        storageLock.writeLock().lock();
-
-        try
-        {
-            queueInput = true;
-            // shut off recycle while we're optimizing,
-            doRecycle = false;
-            defragList = createPositionSortedDescriptorList();
-        }
-        finally
-        {
-            // Release if I acquired.
-            storageLock.writeLock().unlock();
-        }
-
-        // Defrag the file outside of the write lock. This allows a move to be made,
-        // and yet have the element still accessible for reading or writing.
-        long expectedNextPos = defragFile(defragList, 0);
-
-        // ADD THE QUEUED ITEMS to the end and then truncate
-        storageLock.writeLock().lock();
-
-        try
-        {
-            try
-            {
-                if (!queuedPutList.isEmpty())
-                {
-                    // This is perhaps unnecessary, but the list might not be as sorted as we think.
-                    defragList = new IndexedDiskElementDescriptor[queuedPutList.size()];
-                    queuedPutList.toArray(defragList);
-                    Arrays.sort(defragList, new PositionComparator());
-
-                    // pack them at the end
-                    expectedNextPos = defragFile(defragList, expectedNextPos);
-                }
-                // TRUNCATE THE FILE
-                dataFile.truncate(expectedNextPos);
-            }
-            catch (Exception e)
-            {
-                log.error(logCacheName + "Error optimizing queued puts.", e);
-            }
-
-            // RESTORE NORMAL OPERATION
-            removeCount = 0;
-            resetBytesFree();
-            initializeRecycleBin();
-            queuedPutList.clear();
-            queueInput = false;
-            // turn recycle back on.
-            doRecycle = true;
-            isOptimizing = false;
-        }
-        finally
-        {
-            storageLock.writeLock().unlock();
-        }
-
-        if (log.isInfoEnabled())
-        {
-            log.info(logCacheName + "Finished #" + timesOptimized + " Optimization took " + timer.getElapsedTimeString());
-        }
-    }
-
-    /**
-     * Defragments the file in place by compacting out the free space (i.e., moving records
-     * forward). If there were no gaps the resulting file would be the same size as the previous
-     * file. This must be supplied an ordered defragList.
-     * <p>
-     *
-     * @param defragList
-     *            sorted list of descriptors for optimization
-     * @param startingPos
-     *            the start position in the file
-     * @return this is the potential new file end
-     */
-    private long defragFile(IndexedDiskElementDescriptor[] defragList, long startingPos)
-    {
-        ElapsedTimer timer = new ElapsedTimer();
-        long preFileSize = 0;
-        long postFileSize = 0;
-        long expectedNextPos = 0;
-        try
-        {
-            preFileSize = this.dataFile.length();
-            // find the first gap in the disk and start defragging.
-            expectedNextPos = startingPos;
-            for (int i = 0; i < defragList.length; i++)
-            {
-                storageLock.writeLock().lock();
-                try
-                {
-                    if (expectedNextPos != defragList[i].pos)
-                    {
-                        dataFile.move(defragList[i], expectedNextPos);
-                    }
-                    expectedNextPos = defragList[i].pos + IndexedDisk.HEADER_SIZE_BYTES + defragList[i].len;
-                }
-                finally
-                {
-                    storageLock.writeLock().unlock();
-                }
-            }
-
-            postFileSize = this.dataFile.length();
-
-            // this is the potential new file end
-            return expectedNextPos;
-        }
-        catch (IOException e)
-        {
-            log.error(logCacheName + "Error occurred during defragmentation.", e);
-        }
-        finally
-        {
-            if (log.isInfoEnabled())
-            {
-                log.info(logCacheName + "Defragmentation took " + timer.getElapsedTimeString() + ". File Size (before="
-                    + preFileSize + ") (after=" + postFileSize + ") (truncating to " + expectedNextPos + ")");
-            }
-        }
-
-        return 0;
-    }
-
-    /**
-     * Creates a snapshot of the IndexedDiskElementDescriptors in the keyHash and returns them
-     * sorted by position in the dataFile.
-     * <p>
-     * TODO fix values() method on the LRU map.
-     * <p>
-     *
-     * @return IndexedDiskElementDescriptor[]
-     */
-    private IndexedDiskElementDescriptor[] createPositionSortedDescriptorList()
-    {
-        IndexedDiskElementDescriptor[] defragList = new IndexedDiskElementDescriptor[keyHash.size()];
-        Iterator<Map.Entry<K, IndexedDiskElementDescriptor>> iterator = keyHash.entrySet().iterator();
-        for (int i = 0; iterator.hasNext(); i++)
-        {
-            Map.Entry<K, IndexedDiskElementDescriptor> next = iterator.next();
-            defragList[i] = next.getValue();
-        }
-
-        Arrays.sort(defragList, new PositionComparator());
-
-        return defragList;
-    }
-
-    /**
-     * Returns the current cache size.
-     * <p>
-     *
-     * @return The size value
-     */
-    @Override
-    public int getSize()
-    {
-        return keyHash.size();
-    }
-
-    /**
-     * Returns the size of the recyclebin in number of elements.
-     * <p>
-     *
-     * @return The number of items in the bin.
-     */
-    protected int getRecyleBinSize()
-    {
-        return this.recycle.size();
-    }
-
-    /**
-     * Returns the number of times we have used spots from the recycle bin.
-     * <p>
-     *
-     * @return The number of spots used.
-     */
-    protected int getRecyleCount()
-    {
-        return this.recycleCnt;
-    }
-
-    /**
-     * Returns the number of bytes that are free. When an item is removed, its length is recorded.
-     * When a spot is used form the recycle bin, the length of the item stored is recorded.
-     * <p>
-     *
-     * @return The number bytes free on the disk file.
-     */
-    protected synchronized long getBytesFree()
-    {
-        return this.bytesFree;
-    }
-
-    /**
-     * Resets the number of bytes that are free.
-     */
-    private synchronized void resetBytesFree()
-    {
-        this.bytesFree = 0;
-    }
-
-    /**
-     * To subtract you can pass in false for add..
-     * <p>
-     *
-     * @param ded
-     * @param add
-     */
-    private synchronized void adjustBytesFree(IndexedDiskElementDescriptor ded, boolean add)
-    {
-        if (ded != null)
-        {
-            int amount = ded.len + IndexedDisk.HEADER_SIZE_BYTES;
-
-            if (add)
-            {
-                this.bytesFree += amount;
-            }
-            else
-            {
-                this.bytesFree -= amount;
-            }
-        }
-    }
-
-    /**
-     * This is for debugging and testing.
-     * <p>
-     *
-     * @return the length of the data file.
-     * @throws IOException
-     */
-    protected long getDataFileSize() throws IOException
-    {
-        long size = 0;
-
-        storageLock.readLock().lock();
-
-        try
-        {
-            if (dataFile != null)
-            {
-                size = dataFile.length();
-            }
-        }
-        finally
-        {
-            storageLock.readLock().unlock();
-        }
-
-        return size;
-    }
-
-    /**
-     * For debugging. This dumps the values by default.
-     */
-    public void dump()
-    {
-        dump(true);
-    }
-
-    /**
-     * For debugging.
-     * <p>
-     *
-     * @param dumpValues
-     *            A boolean indicating if values should be dumped.
-     */
-    public void dump(boolean dumpValues)
-    {
-        if (log.isDebugEnabled())
-        {
-            log.debug(logCacheName + "[dump] Number of keys: " + keyHash.size());
-
-            for (Map.Entry<K, IndexedDiskElementDescriptor> e : keyHash.entrySet())
-            {
-                K key = e.getKey();
-                IndexedDiskElementDescriptor ded = e.getValue();
-
-                log.debug(logCacheName + "[dump] Disk element, key: " + key + ", pos: " + ded.pos + ", ded.len" + ded.len
-                    + (dumpValues ? ", val: " + get(key) : ""));
-            }
-        }
-    }
-
-    /**
-     * @return Returns the AuxiliaryCacheAttributes.
-     */
-    @Override
-    public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
-    {
-        return this.cattr;
-    }
-
-    /**
-     * Gets basic stats for the disk cache.
-     * <p>
-     *
-     * @return String
-     */
-    @Override
-    public String getStats()
-    {
-        return getStatistics().toString();
-    }
-
-    /**
-     * Returns info about the disk cache.
-     * <p>
-     * (non-Javadoc)
-     *
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getStatistics()
-     */
-    @Override
-    public synchronized IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName("Indexed Disk Cache");
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        elems.add(new StatElement<Boolean>("Is Alive", Boolean.valueOf(isAlive())));
-        elems.add(new StatElement<Integer>("Key Map Size", Integer.valueOf(this.keyHash != null ? this.keyHash.size() : -1)));
-        try
-        {
-            elems
-                .add(new StatElement<Long>("Data File Length", Long.valueOf(this.dataFile != null ? this.dataFile.length() : -1L)));
-        }
-        catch (Exception e)
-        {
-            log.error(e);
-        }
-        elems.add(new StatElement<Integer>("Max Key Size", this.maxKeySize));
-        elems.add(new StatElement<Integer>("Hit Count", Integer.valueOf(this.hitCount.get())));
-        elems.add(new StatElement<Long>("Bytes Free", Long.valueOf(this.bytesFree)));
-        elems.add(new StatElement<Integer>("Optimize Operation Count", Integer.valueOf(this.removeCount)));
-        elems.add(new StatElement<Integer>("Times Optimized", Integer.valueOf(this.timesOptimized)));
-        elems.add(new StatElement<Integer>("Recycle Count", Integer.valueOf(this.recycleCnt)));
-        elems.add(new StatElement<Integer>("Recycle Bin Size", Integer.valueOf(this.recycle.size())));
-        elems.add(new StatElement<Integer>("Startup Size", Integer.valueOf(this.startupSize)));
-
-        // get the stats from the super too
-        IStats sStats = super.getStatistics();
-        elems.addAll(sStats.getStatElements());
-
-        stats.setStatElements(elems);
-
-        return stats;
-    }
-
-    /**
-     * This is exposed for testing.
-     * <p>
-     *
-     * @return Returns the timesOptimized.
-     */
-    protected int getTimesOptimized()
-    {
-        return timesOptimized;
-    }
-
-    /**
-     * This is used by the event logging.
-     * <p>
-     *
-     * @return the location of the disk, either path or ip.
-     */
-    @Override
-    protected String getDiskLocation()
-    {
-        return dataFile.getFilePath();
-    }
-
-    /**
-     * Compares IndexedDiskElementDescriptor based on their position.
-     * <p>
-     */
-    protected static final class PositionComparator implements Comparator<IndexedDiskElementDescriptor>, Serializable
-    {
-        /** serialVersionUID */
-        private static final long serialVersionUID = -8387365338590814113L;
-
-        /**
-         * Compares two descriptors based on position.
-         * <p>
-         *
-         * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-         */
-        @Override
-        public int compare(IndexedDiskElementDescriptor ded1, IndexedDiskElementDescriptor ded2)
-        {
-            if (ded1.pos < ded2.pos)
-            {
-                return -1;
-            }
-            else if (ded1.pos == ded2.pos)
-            {
-                return 0;
-            }
-            else
-            {
-                return 1;
-            }
-        }
-    }
-
-    /**
-     * Class for recycling and lru. This implements the LRU overflow callback, so we can add items
-     * to the recycle bin. This class counts the size element to decide, when to throw away an element
-     */
-    public class LRUMapSizeLimited extends AbstractLRUMap<K, IndexedDiskElementDescriptor>
-    {
-        /**
-         * <code>tag</code> tells us which map we are working on.
-         */
-        public static final String TAG = "orig";
-
-        // size of the content in kB
-        private AtomicInteger contentSize;
-        private int maxSize;
-
-        /**
-         * Default
-         */
-        public LRUMapSizeLimited()
-        {
-            this(-1);
-        }
-
-        /**
-         * @param maxKeySize
-         */
-        public LRUMapSizeLimited(int maxKeySize)
-        {
-            super();
-            this.maxSize = maxKeySize;
-            this.contentSize = new AtomicInteger(0);
-        }
-
-        // keep the content size in kB, so 2^31 kB is reasonable value
-        private void subLengthFromCacheSize(IndexedDiskElementDescriptor value)
-        {
-            contentSize.addAndGet((value.len + IndexedDisk.HEADER_SIZE_BYTES) / -1024 - 1);
-        }
-
-        // keep the content size in kB, so 2^31 kB is reasonable value
-        private void addLengthToCacheSize(IndexedDiskElementDescriptor value)
-        {
-            contentSize.addAndGet((value.len + IndexedDisk.HEADER_SIZE_BYTES) / 1024 + 1);
-        }
-
-        @Override
-        public IndexedDiskElementDescriptor put(K key, IndexedDiskElementDescriptor value)
-        {
-            IndexedDiskElementDescriptor oldValue = null;
-
-            try
-            {
-                oldValue = super.put(key, value);
-            }
-            finally
-            {
-                // keep the content size in kB, so 2^31 kB is reasonable value
-                if (value != null)
-                {
-                    addLengthToCacheSize(value);
-                }
-                if (oldValue != null)
-                {
-                    subLengthFromCacheSize(oldValue);
-                }
-            }
-
-            return oldValue;
-        }
-
-        @Override
-        public IndexedDiskElementDescriptor remove(Object key)
-        {
-            IndexedDiskElementDescriptor value = null;
-
-            try
-            {
-                value = super.remove(key);
-                return value;
-            }
-            finally
-            {
-                if (value != null)
-                {
-                    subLengthFromCacheSize(value);
-                }
-            }
-        }
-
-        /**
-         * This is called when the may key size is reached. The least recently used item will be
-         * passed here. We will store the position and size of the spot on disk in the recycle bin.
-         * <p>
-         *
-         * @param key
-         * @param value
-         */
-        @Override
-        protected void processRemovedLRU(K key, IndexedDiskElementDescriptor value)
-        {
-            if (value != null)
-            {
-                subLengthFromCacheSize(value);
-            }
-
-            addToRecycleBin(value);
-
-            if (log.isDebugEnabled())
-            {
-                log.debug(logCacheName + "Removing key: [" + key + "] from key store.");
-                log.debug(logCacheName + "Key store size: [" + this.size() + "].");
-            }
-
-            doOptimizeRealTime();
-        }
-
-        @Override
-        protected boolean shouldRemove()
-        {
-            return maxSize > 0 && contentSize.get() > maxSize && this.size() > 0;
-        }
-    }
-
-    /**
-     * Class for recycling and lru. This implements the LRU overflow callback, so we can add items
-     * to the recycle bin. This class counts the elements to decide, when to throw away an element
-     */
-
-    public class LRUMapCountLimited extends LRUMap<K, IndexedDiskElementDescriptor>
-    // implements Serializable
-    {
-        public LRUMapCountLimited(int maxKeySize)
-        {
-            super(maxKeySize);
-        }
-
-        /**
-         * This is called when the may key size is reached. The least recently used item will be
-         * passed here. We will store the position and size of the spot on disk in the recycle bin.
-         * <p>
-         *
-         * @param key
-         * @param value
-         */
-        @Override
-        protected void processRemovedLRU(K key, IndexedDiskElementDescriptor value)
-        {
-            addToRecycleBin(value);
-            if (log.isDebugEnabled())
-            {
-                log.debug(logCacheName + "Removing key: [" + key + "] from key store.");
-                log.debug(logCacheName + "Key store size: [" + this.size() + "].");
-            }
-
-            doOptimizeRealTime();
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCacheAttributes.java
deleted file mode 100644
index e946c33..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCacheAttributes.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.indexed;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.disk.AbstractDiskCacheAttributes;
-
-/**
- * Configuration class for the Indexed Disk Cache
- */
-public class IndexedDiskCacheAttributes
-    extends AbstractDiskCacheAttributes
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -2190863599358782950L;
-
-    /** default value */
-    private static final int DEFAULT_maxKeySize = 5000;
-
-    /** -1 means no limit. */
-    private int maxKeySize = DEFAULT_maxKeySize;
-
-    /** default value */
-    private static final int DEFAULT_maxRecycleBinSize = 5000;
-
-    /**
-     * Cannot be larger than the max size. If max is less than 0, this will be 5000
-     */
-    private int maxRecycleBinSize = DEFAULT_maxRecycleBinSize;
-
-    /** default to -1, i.e., don't optimize until shutdown */
-    private int optimizeAtRemoveCount = -1;
-
-    /** Should we optimize on shutdown. */
-    public static final boolean DEFAULT_OPTIMIZE_ON_SHUTDOWN = true;
-
-    /** Should we optimize on shutdown. */
-    private boolean optimizeOnShutdown = DEFAULT_OPTIMIZE_ON_SHUTDOWN;
-
-    /** Should we clear the disk on startup. */
-    public static final boolean DEFAULT_CLEAR_DISK_ON_STARTUP = false;
-
-    /** Should we clear the disk on startup. If true the congtents of disk are cleared. */
-    private boolean clearDiskOnStartup = DEFAULT_CLEAR_DISK_ON_STARTUP;
-
-    /**
-     * Constructor for the DiskCacheAttributes object
-     */
-    public IndexedDiskCacheAttributes()
-    {
-        super();
-    }
-
-    /**
-     * Gets the maxKeySize attribute of the DiskCacheAttributes object
-     * <p>
-     * @return The maxKeySize value
-     */
-    public int getMaxKeySize()
-    {
-        return this.maxKeySize;
-    }
-
-    /**
-     * Sets the maxKeySize attribute of the DiskCacheAttributes object
-     * <p>
-     * @param maxKeySize The new maxKeySize value
-     */
-    public void setMaxKeySize( int maxKeySize )
-    {
-        this.maxKeySize = maxKeySize;
-
-        // make sure the sizes are in accord with our rule.
-        setMaxRecycleBinSize( maxRecycleBinSize );
-    }
-
-    /**
-     * Gets the optimizeAtRemoveCount attribute of the DiskCacheAttributes object
-     * <p>
-     * @return The optimizeAtRemoveCount value
-     */
-    public int getOptimizeAtRemoveCount()
-    {
-        return this.optimizeAtRemoveCount;
-    }
-
-    /**
-     * Sets the optimizeAtRemoveCount attribute of the DiskCacheAttributes object This number
-     * determines how often the disk cache should run real time optimizations.
-     * <p>
-     * @param cnt The new optimizeAtRemoveCount value
-     */
-    public void setOptimizeAtRemoveCount( int cnt )
-    {
-        this.optimizeAtRemoveCount = cnt;
-    }
-
-    /**
-     * This cannot be larger than the maxKeySize. It wouldn't hurt anything, but it makes the config
-     * necessary. The recycle bin entry willbe at least as large as a key.
-     * <p>
-     * If the maxKeySize is -1 this will be set tot he default, which is 5000.
-     * <p>
-     * @param maxRecycleBinSize The maxRecycleBinSize to set.
-     */
-    public void setMaxRecycleBinSize( int maxRecycleBinSize )
-    {
-        this.maxRecycleBinSize = maxRecycleBinSize;
-    }
-
-    /**
-     * @return Returns the maxRecycleBinSize.
-     */
-    public int getMaxRecycleBinSize()
-    {
-        return maxRecycleBinSize;
-    }
-
-    /**
-     * @param optimizeOnShutdown The optimizeOnShutdown to set.
-     */
-    public void setOptimizeOnShutdown( boolean optimizeOnShutdown )
-    {
-        this.optimizeOnShutdown = optimizeOnShutdown;
-    }
-
-    /**
-     * @return Returns the optimizeOnShutdown.
-     */
-    public boolean isOptimizeOnShutdown()
-    {
-        return optimizeOnShutdown;
-    }
-
-    /**
-     * @param clearDiskOnStartup the clearDiskOnStartup to set
-     */
-    public void setClearDiskOnStartup( boolean clearDiskOnStartup )
-    {
-        this.clearDiskOnStartup = clearDiskOnStartup;
-    }
-
-    /**
-     * @return the clearDiskOnStartup
-     */
-    public boolean isClearDiskOnStartup()
-    {
-        return clearDiskOnStartup;
-    }
-
-    /**
-     * Write out the values for debugging purposes.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder str = new StringBuilder();
-        str.append( "IndexedDiskCacheAttributes " );
-        str.append( "\n diskPath = " + super.getDiskPath() );
-        str.append( "\n maxPurgatorySize   = " + super.getMaxPurgatorySize() );
-        str.append( "\n maxKeySize  = " + maxKeySize );
-        str.append( "\n maxRecycleBinSize  = " + maxRecycleBinSize );
-        str.append( "\n optimizeAtRemoveCount  = " + optimizeAtRemoveCount );
-        str.append( "\n shutdownSpoolTimeLimit  = " + super.getShutdownSpoolTimeLimit() );
-        str.append( "\n optimizeOnShutdown  = " + optimizeOnShutdown );
-        str.append( "\n clearDiskOnStartup  = " + clearDiskOnStartup );
-        return str.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCacheFactory.java b/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCacheFactory.java
deleted file mode 100644
index 03f2f10..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCacheFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.indexed;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheFactory;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Creates disk cache instances.
- */
-public class IndexedDiskCacheFactory
-    extends AbstractAuxiliaryCacheFactory
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( IndexedDiskCacheFactory.class );
-
-    /**
-     * Create an instance of an IndexedDiskCache.
-     * <p>
-     * @param iaca cache attributes of this cache instance
-     * @param cacheMgr This allows auxiliaries to reference the manager without assuming that it is
-     *            a singleton. This will allow JCS to be a non-singleton. Also, it makes it easier to
-     *            test.
-     * @param cacheEventLogger
-     * @param elementSerializer
-     * @return IndexedDiskCache
-     */
-    @Override
-    public <K, V> IndexedDiskCache<K, V> createCache( AuxiliaryCacheAttributes iaca, ICompositeCacheManager cacheMgr,
-                                       ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
-    {
-        IndexedDiskCacheAttributes idca = (IndexedDiskCacheAttributes) iaca;
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Creating DiskCache for attributes = " + idca );
-        }
-
-        IndexedDiskCache<K, V> cache = new IndexedDiskCache<K, V>( idca, elementSerializer );
-        cache.setCacheEventLogger( cacheEventLogger );
-
-        return cache;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskDumper.java b/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskDumper.java
deleted file mode 100644
index 94d9cfe..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskDumper.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.indexed;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-
-/**
- * Used to dump out a Disk cache from disk for debugging. This is meant to be
- * run as a command line utility for
- */
-public class IndexedDiskDumper
-{
-    /**
-     * The main program for the DiskDumper class
-     * <p>
-     * Creates a disk cache and then calls dump, which write out the contents to
-     * a debug log.
-     * <p>
-     * @param args
-     *            The command line arguments
-     */
-    public static void main( String[] args )
-    {
-        if ( args.length != 1 )
-        {
-            System.out.println( "Usage: java org.apache.commons.jcs.auxiliary.disk.DiskDump <cache_name>" );
-            System.exit( 0 );
-        }
-
-        IndexedDiskCacheAttributes attr = new IndexedDiskCacheAttributes();
-
-        attr.setCacheName( args[0] );
-        attr.setDiskPath( args[0] );
-
-        IndexedDiskCache<Serializable, Serializable> dc = new IndexedDiskCache<Serializable, Serializable>( attr );
-        dc.dump( true );
-        System.exit( 0 );
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskElementDescriptor.java b/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskElementDescriptor.java
deleted file mode 100644
index 12435c1..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskElementDescriptor.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.indexed;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-/**
- * Disk objects are located by descriptor entries. These are saved on shutdown and loaded into
- * memory on startup.
- */
-public class IndexedDiskElementDescriptor
-    implements Serializable, Comparable<IndexedDiskElementDescriptor>
-{
-    /** Don't change */
-    private static final long serialVersionUID = -3029163572847659450L;
-
-    /** Position of the cache data entry on disk. */
-    long pos;
-
-    /** Number of bytes the serialized form of the cache data takes. */
-    int len;
-
-    /**
-     * Constructs a usable disk element descriptor.
-     * <p>
-     * @param pos
-     * @param len
-     */
-    public IndexedDiskElementDescriptor( long pos, int len )
-    {
-        this.pos = pos;
-        this.len = len;
-    }
-
-    /**
-     * @return debug string
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "[DED: " );
-        buf.append( " pos = " + pos );
-        buf.append( " len = " + len );
-        buf.append( "]" );
-        return buf.toString();
-    }
-
-    /**
-     * @see java.lang.Object#hashCode()
-     */
-    @Override
-    public int hashCode()
-    {
-        return Long.valueOf(this.pos).hashCode() ^ Integer.valueOf(len).hashCode();
-    }
-
-    /**
-     * @see java.lang.Object#equals(java.lang.Object)
-     */
-    @Override
-    public boolean equals(Object o)
-    {
-        if (o instanceof IndexedDiskElementDescriptor)
-        {
-            return compareTo((IndexedDiskElementDescriptor) o) == 0;
-        }
-
-        return false;
-    }
-
-    /**
-     * Compares based on length.
-     * <p>
-     * @param o Object
-     * @return int
-     */
-    @Override
-    public int compareTo( IndexedDiskElementDescriptor o )
-    {
-        if ( o == null )
-        {
-            return 1;
-        }
-
-        int oLen = o.len;
-        if ( oLen == len )
-        {
-            return 0;
-        }
-        else if ( oLen > len )
-        {
-            return -1;
-        }
-        else if ( oLen < len )
-        {
-            return 1;
-        }
-        return 0;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
deleted file mode 100644
index 464c025..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
+++ /dev/null
@@ -1,1130 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Timestamp;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import javax.sql.DataSource;
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory.DataSourceFactory;
-import org.apache.commons.jcs.engine.CacheConstants;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEvent;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.jcs.utils.serialization.StandardSerializer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This is the jdbc disk cache plugin.
- * <p>
- * It expects a table created by the following script. The table name is configurable.
- * <p>
- *
- * <pre>
- *                       drop TABLE JCS_STORE;
- *                       CREATE TABLE JCS_STORE
- *                       (
- *                       CACHE_KEY                  VARCHAR(250)          NOT NULL,
- *                       REGION                     VARCHAR(250)          NOT NULL,
- *                       ELEMENT                    BLOB,
- *                       CREATE_TIME                TIMESTAMP,
- *                       UPDATE_TIME_SECONDS        BIGINT,
- *                       MAX_LIFE_SECONDS           BIGINT,
- *                       SYSTEM_EXPIRE_TIME_SECONDS BIGINT,
- *                       IS_ETERNAL                 CHAR(1),
- *                       PRIMARY KEY (CACHE_KEY, REGION)
- *                       );
- * </pre>
- * <p>
- * The cleanup thread will delete non eternal items where (now - create time) > max life seconds *
- * 1000
- * <p>
- * To speed up the deletion the SYSTEM_EXPIRE_TIME_SECONDS is used instead. It is recommended that
- * an index be created on this column is you will have over a million records.
- * <p>
- * @author Aaron Smuts
- */
-public class JDBCDiskCache<K, V>
-    extends AbstractDiskCache<K, V>
-{
-    /** The local logger. */
-    private static final Log log = LogFactory.getLog( JDBCDiskCache.class );
-
-    /** custom serialization */
-    private IElementSerializer elementSerializer = new StandardSerializer();
-
-    /** configuration */
-    private JDBCDiskCacheAttributes jdbcDiskCacheAttributes;
-
-    /** # of times update was called */
-    private AtomicInteger updateCount = new AtomicInteger(0);
-
-    /** # of times get was called */
-    private AtomicInteger getCount = new AtomicInteger(0);
-
-    /** # of times getMatching was called */
-    private AtomicInteger getMatchingCount = new AtomicInteger(0);
-
-    /** if count % interval == 0 then log */
-    private static final int LOG_INTERVAL = 100;
-
-    /** db connection pool */
-    private DataSourceFactory dsFactory = null;
-
-    /** tracks optimization */
-    private TableState tableState;
-
-    /**
-     * Constructs a JDBC Disk Cache for the provided cache attributes. The table state object is
-     * used to mark deletions.
-     * <p>
-     * @param cattr the configuration object for this cache
-     * @param dsFactory the DataSourceFactory for this cache
-     * @param tableState an object to track table operations
-     * @param compositeCacheManager the global cache manager
-     */
-    public JDBCDiskCache( JDBCDiskCacheAttributes cattr, DataSourceFactory dsFactory, TableState tableState,
-                          ICompositeCacheManager compositeCacheManager )
-    {
-        super( cattr );
-
-        setTableState( tableState );
-        setJdbcDiskCacheAttributes( cattr );
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "jdbcDiskCacheAttributes = " + getJdbcDiskCacheAttributes() );
-        }
-
-        // This initializes the pool access.
-        this.dsFactory = dsFactory;
-
-        // Initialization finished successfully, so set alive to true.
-        setAlive(true);
-    }
-
-    /**
-     * Inserts or updates. By default it will try to insert. If the item exists we will get an
-     * error. It will then update. This behavior is configurable. The cache can be configured to
-     * check before inserting.
-     * <p>
-     * @param ce
-     */
-    @Override
-    protected void processUpdate( ICacheElement<K, V> ce )
-    {
-    	updateCount.incrementAndGet();
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "updating, ce = " + ce );
-        }
-
-        Connection con;
-        try
-        {
-            con = getDataSource().getConnection();
-        }
-        catch ( SQLException e )
-        {
-            log.error( "Problem getting connection.", e );
-            return;
-        }
-
-        try
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Putting [" + ce.getKey() + "] on disk." );
-            }
-
-            byte[] element;
-
-            try
-            {
-                element = getElementSerializer().serialize( ce );
-            }
-            catch ( IOException e )
-            {
-                log.error( "Could not serialize element", e );
-                return;
-            }
-
-            insertOrUpdate( ce, con, element );
-        }
-        finally
-        {
-            try
-            {
-                con.close();
-            }
-            catch ( SQLException e )
-            {
-                log.error( "Problem closing connection.", e );
-            }
-        }
-
-        if ( log.isInfoEnabled() )
-        {
-            if ( updateCount.get() % LOG_INTERVAL == 0 )
-            {
-                // TODO make a log stats method
-                log.info( "Update Count [" + updateCount + "]" );
-            }
-        }
-    }
-
-    /**
-     * If test before insert it true, we check to see if the element exists. If the element exists
-     * we will update. Otherwise, we try inserting.  If this fails because the item exists, we will
-     * update.
-     * <p>
-     * @param ce
-     * @param con
-     * @param element
-     */
-    private void insertOrUpdate( ICacheElement<K, V> ce, Connection con, byte[] element )
-    {
-        boolean exists = false;
-
-        // First do a query to determine if the element already exists
-        if ( this.getJdbcDiskCacheAttributes().isTestBeforeInsert() )
-        {
-            exists = doesElementExist( ce, con );
-        }
-
-        // If it doesn't exist, insert it, otherwise update
-        if ( !exists )
-        {
-            exists = insertRow( ce, con, element );
-        }
-
-        // update if it exists.
-        if ( exists )
-        {
-            updateRow( ce, con, element );
-        }
-    }
-
-    /**
-     * This inserts a new row in the database.
-     * <p>
-     * @param ce
-     * @param con
-     * @param element
-     * @return true if the insertion fails because the record exists.
-     */
-    private boolean insertRow( ICacheElement<K, V> ce, Connection con, byte[] element )
-    {
-        boolean exists = false;
-        PreparedStatement psInsert = null;
-
-        try
-        {
-            String sqlI = "insert into "
-                + getJdbcDiskCacheAttributes().getTableName()
-                + " (CACHE_KEY, REGION, ELEMENT, MAX_LIFE_SECONDS, IS_ETERNAL, CREATE_TIME, UPDATE_TIME_SECONDS, SYSTEM_EXPIRE_TIME_SECONDS) "
-                + " values (?, ?, ?, ?, ?, ?, ?, ?)";
-
-            psInsert = con.prepareStatement( sqlI );
-            psInsert.setString( 1, (String) ce.getKey() );
-            psInsert.setString( 2, this.getCacheName() );
-            psInsert.setBytes( 3, element );
-            psInsert.setLong( 4, ce.getElementAttributes().getMaxLife() );
-            if ( ce.getElementAttributes().getIsEternal() )
-            {
-                psInsert.setString( 5, "T" );
-            }
-            else
-            {
-                psInsert.setString( 5, "F" );
-            }
-            Timestamp createTime = new Timestamp( ce.getElementAttributes().getCreateTime() );
-            psInsert.setTimestamp( 6, createTime );
-
-            long now = System.currentTimeMillis() / 1000;
-            psInsert.setLong( 7, now );
-
-            long expireTime = now + ce.getElementAttributes().getMaxLife();
-            psInsert.setLong( 8, expireTime );
-
-            psInsert.execute();
-        }
-        catch ( SQLException e )
-        {
-            if ("23000".equals(e.getSQLState()))
-            {
-                exists = true;
-            }
-            else
-            {
-                log.error( "Could not insert element", e );
-            }
-
-            // see if it exists, if we didn't already
-            if ( !exists && !this.getJdbcDiskCacheAttributes().isTestBeforeInsert() )
-            {
-                exists = doesElementExist( ce, con );
-            }
-        }
-        finally
-        {
-            if (psInsert != null)
-            {
-                try
-                {
-                    psInsert.close();
-                }
-                catch (SQLException e)
-                {
-                    log.error( "Problem closing statement.", e );
-                }
-            }
-        }
-
-        return exists;
-    }
-
-    /**
-     * This updates a row in the database.
-     * <p>
-     * @param ce
-     * @param con
-     * @param element
-     */
-    private void updateRow( ICacheElement<K, V> ce, Connection con, byte[] element )
-    {
-        String sqlU = null;
-        PreparedStatement psUpdate = null;
-
-        try
-        {
-            sqlU = "update " + getJdbcDiskCacheAttributes().getTableName()
-                + " set ELEMENT  = ?, CREATE_TIME = ?, UPDATE_TIME_SECONDS = ?, " + " SYSTEM_EXPIRE_TIME_SECONDS = ? "
-                + " where CACHE_KEY = ? and REGION = ?";
-            psUpdate = con.prepareStatement( sqlU );
-            psUpdate.setBytes( 1, element );
-
-            Timestamp createTime = new Timestamp( ce.getElementAttributes().getCreateTime() );
-            psUpdate.setTimestamp( 2, createTime );
-
-            long now = System.currentTimeMillis() / 1000;
-            psUpdate.setLong( 3, now );
-
-            long expireTime = now + ce.getElementAttributes().getMaxLife();
-            psUpdate.setLong( 4, expireTime );
-
-            psUpdate.setString( 5, (String) ce.getKey() );
-            psUpdate.setString( 6, this.getCacheName() );
-            psUpdate.execute();
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "ran update " + sqlU );
-            }
-        }
-        catch ( SQLException e2 )
-        {
-            log.error( "e2 sql [" + sqlU + "] Exception: ", e2 );
-        }
-        finally
-        {
-            if (psUpdate != null)
-            {
-                try
-                {
-                    psUpdate.close();
-                }
-                catch (SQLException e)
-                {
-                    log.error( "Problem closing statement.", e );
-                }
-            }
-        }
-    }
-
-    /**
-     * Does an element exist for this key?
-     * <p>
-     * @param ce the cache element
-     * @param con a database connection
-     * @return boolean
-     */
-    protected boolean doesElementExist( ICacheElement<K, V> ce, Connection con )
-    {
-        boolean exists = false;
-        PreparedStatement psSelect = null;
-        ResultSet rs = null;
-
-        try
-        {
-            // don't select the element, since we want this to be fast.
-            String sqlS = "select CACHE_KEY from " + getJdbcDiskCacheAttributes().getTableName()
-                + " where REGION = ? and CACHE_KEY = ?";
-
-            psSelect = con.prepareStatement( sqlS );
-            psSelect.setString( 1, this.getCacheName() );
-            psSelect.setString( 2, (String) ce.getKey() );
-
-            rs = psSelect.executeQuery();
-
-            if ( rs.next() )
-            {
-                exists = true;
-            }
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "[" + ce.getKey() + "] existing status is " + exists );
-            }
-        }
-        catch ( SQLException e )
-        {
-            log.error( "Problem looking for item before insert.", e );
-        }
-        finally
-        {
-            try
-            {
-                if ( rs != null )
-                {
-                    rs.close();
-                }
-            }
-            catch ( SQLException e )
-            {
-                log.error( "Problem closing result set.", e );
-            }
-            try
-            {
-                if ( psSelect != null )
-                {
-                    psSelect.close();
-                }
-            }
-            catch ( SQLException e )
-            {
-                log.error( "Problem closing statement.", e );
-            }
-        }
-
-        return exists;
-    }
-
-    /**
-     * Queries the database for the value. If it gets a result, the value is deserialized.
-     * <p>
-     * @param key
-     * @return ICacheElement
-     * @see org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache#get(Object)
-     */
-    @Override
-    protected ICacheElement<K, V> processGet( K key )
-    {
-    	getCount.incrementAndGet();
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Getting [" + key + "] from disk" );
-        }
-
-        if ( !isAlive() )
-        {
-            return null;
-        }
-
-        ICacheElement<K, V> obj = null;
-
-        byte[] data = null;
-        try
-        {
-            // region, key
-            String selectString = "select ELEMENT from " + getJdbcDiskCacheAttributes().getTableName()
-                + " where REGION = ? and CACHE_KEY = ?";
-
-            Connection con = getDataSource().getConnection();
-            try
-            {
-                PreparedStatement psSelect = null;
-
-                try
-                {
-                    psSelect = con.prepareStatement( selectString );
-                    psSelect.setString( 1, this.getCacheName() );
-                    psSelect.setString( 2, key.toString() );
-
-                    ResultSet rs = psSelect.executeQuery();
-
-                    try
-                    {
-                        if ( rs.next() )
-                        {
-                            data = rs.getBytes( 1 );
-                        }
-                        if ( data != null )
-                        {
-                            try
-                            {
-                                // USE THE SERIALIZER
-                                obj = getElementSerializer().deSerialize( data, null );
-                            }
-                            catch ( IOException ioe )
-                            {
-                                log.error( "Problem getting item for key [" + key + "]", ioe );
-                            }
-                            catch ( Exception e )
-                            {
-                                log.error( "Problem getting item for key [" + key + "]", e );
-                            }
-                        }
-                    }
-                    finally
-                    {
-                        if ( rs != null )
-                        {
-                            rs.close();
-                        }
-                    }
-                }
-                finally
-                {
-                    if ( psSelect != null )
-                    {
-                        psSelect.close();
-                    }
-                }
-            }
-            finally
-            {
-                if ( con != null )
-                {
-                    con.close();
-                }
-            }
-        }
-        catch ( SQLException sqle )
-        {
-            log.error( "Caught a SQL exception trying to get the item for key [" + key + "]", sqle );
-        }
-
-        if ( log.isInfoEnabled() )
-        {
-            if ( getCount.get() % LOG_INTERVAL == 0 )
-            {
-                // TODO make a log stats method
-                log.info( "Get Count [" + getCount + "]" );
-            }
-        }
-        return obj;
-    }
-
-    /**
-     * This will run a like query. It will try to construct a usable query but different
-     * implementations will be needed to adjust the syntax.
-     * <p>
-     * @param pattern
-     * @return key,value map
-     */
-    @Override
-    protected Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
-    {
-    	getMatchingCount.incrementAndGet();
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Getting [" + pattern + "] from disk" );
-        }
-
-        if ( !isAlive() )
-        {
-            return null;
-        }
-
-        Map<K, ICacheElement<K, V>> results = new HashMap<K, ICacheElement<K, V>>();
-
-        try
-        {
-            // region, key
-            String selectString = "select CACHE_KEY, ELEMENT from " + getJdbcDiskCacheAttributes().getTableName()
-                + " where REGION = ? and CACHE_KEY like ?";
-
-            Connection con = getDataSource().getConnection();
-            try
-            {
-                PreparedStatement psSelect = null;
-                try
-                {
-                    psSelect = con.prepareStatement( selectString );
-                    psSelect.setString( 1, this.getCacheName() );
-                    psSelect.setString( 2, constructLikeParameterFromPattern( pattern ) );
-
-                    ResultSet rs = psSelect.executeQuery();
-                    try
-                    {
-                        while ( rs.next() )
-                        {
-                            String key = rs.getString( 1 );
-                            byte[] data = rs.getBytes( 2 );
-                            if ( data != null )
-                            {
-                                try
-                                {
-                                    // USE THE SERIALIZER
-                                    ICacheElement<K, V> value = getElementSerializer().deSerialize( data, null );
-                                    results.put( (K) key, value );
-                                }
-                                catch ( IOException ioe )
-                                {
-                                    log.error( "Problem getting items for pattern [" + pattern + "]", ioe );
-                                }
-                                catch ( Exception e )
-                                {
-                                    log.error( "Problem getting items for pattern [" + pattern + "]", e );
-                                }
-                            }
-                        }
-                    }
-                    finally
-                    {
-                        if ( rs != null )
-                        {
-                            rs.close();
-                        }
-                    }
-                }
-                finally
-                {
-                    if ( psSelect != null )
-                    {
-                        psSelect.close();
-                    }
-                }
-            }
-            finally
-            {
-                if ( con != null )
-                {
-                    con.close();
-                }
-            }
-        }
-        catch ( SQLException sqle )
-        {
-            log.error( "Caught a SQL exception trying to get items for pattern [" + pattern + "]", sqle );
-        }
-
-        if ( log.isInfoEnabled() )
-        {
-            if ( getMatchingCount.get() % LOG_INTERVAL == 0 )
-            {
-                // TODO make a log stats method
-                log.info( "Get Matching Count [" + getMatchingCount + "]" );
-            }
-        }
-        return results;
-    }
-
-    /**
-     * @param pattern
-     * @return String to use in the like query.
-     */
-    public String constructLikeParameterFromPattern( String pattern )
-    {
-        String likePattern = pattern.replaceAll( "\\.\\+", "%" );
-        likePattern = likePattern.replaceAll( "\\.", "_" );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "pattern = [" + likePattern + "]" );
-        }
-
-        return likePattern;
-    }
-
-    /**
-     * Returns true if the removal was successful; or false if there is nothing to remove. Current
-     * implementation always results in a disk orphan.
-     * <p>
-     * @param key
-     * @return boolean
-     */
-    @Override
-    protected boolean processRemove( K key )
-    {
-        // remove single item.
-        String sql = "delete from " + getJdbcDiskCacheAttributes().getTableName()
-            + " where REGION = ? and CACHE_KEY = ?";
-
-        try
-        {
-            boolean partial = false;
-            if ( key instanceof String && key.toString().endsWith( CacheConstants.NAME_COMPONENT_DELIMITER ) )
-            {
-                // remove all keys of the same name group.
-                sql = "delete from " + getJdbcDiskCacheAttributes().getTableName()
-                    + " where REGION = ? and CACHE_KEY like ?";
-                partial = true;
-            }
-            Connection con = getDataSource().getConnection();
-            PreparedStatement psSelect = null;
-            try
-            {
-                psSelect = con.prepareStatement( sql );
-                psSelect.setString( 1, this.getCacheName() );
-                if ( partial )
-                {
-                    psSelect.setString( 2, key.toString() + "%" );
-                }
-                else
-                {
-                    psSelect.setString( 2, key.toString() );
-                }
-
-                psSelect.executeUpdate();
-
-                setAlive(true);
-            }
-            catch ( SQLException e )
-            {
-                log.error( "Problem creating statement. sql [" + sql + "]", e );
-                setAlive(false);
-            }
-            finally
-            {
-                try
-                {
-                    if ( psSelect != null )
-                    {
-                        psSelect.close();
-                    }
-                    con.close();
-                }
-                catch ( SQLException e1 )
-                {
-                    log.error( "Problem closing statement.", e1 );
-                }
-            }
-        }
-        catch ( SQLException e )
-        {
-            log.error( "Problem updating cache.", e );
-            reset();
-        }
-        return false;
-    }
-
-    /**
-     * This should remove all elements. The auxiliary can be configured to forbid this behavior. If
-     * remove all is not allowed, the method balks.
-     */
-    @Override
-    protected void processRemoveAll()
-    {
-        // it should never get here from the abstract disk cache.
-        if ( this.jdbcDiskCacheAttributes.isAllowRemoveAll() )
-        {
-            try
-            {
-                String sql = "delete from " + getJdbcDiskCacheAttributes().getTableName() + " where REGION = ?";
-                Connection con = getDataSource().getConnection();
-                PreparedStatement psDelete = null;
-                try
-                {
-                    psDelete = con.prepareStatement( sql );
-                    psDelete.setString( 1, this.getCacheName() );
-                    setAlive(true);
-                    psDelete.executeUpdate();
-                }
-                catch ( SQLException e )
-                {
-                    log.error( "Problem creating statement.", e );
-                    setAlive(false);
-                }
-                finally
-                {
-                    try
-                    {
-                        if ( psDelete != null )
-                        {
-                            psDelete.close();
-                        }
-                        con.close();
-                    }
-                    catch ( SQLException e1 )
-                    {
-                        log.error( "Problem closing statement.", e1 );
-                    }
-                }
-            }
-            catch ( Exception e )
-            {
-                log.error( "Problem removing all.", e );
-                reset();
-            }
-        }
-        else
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "RemoveAll was requested but the request was not fulfilled: allowRemoveAll is set to false." );
-            }
-        }
-    }
-
-    /**
-     * Removed the expired. (now - create time) > max life seconds * 1000
-     * <p>
-     * @return the number deleted
-     */
-    protected int deleteExpired()
-    {
-        int deleted = 0;
-
-        try
-        {
-            getTableState().setState( TableState.DELETE_RUNNING );
-
-            long now = System.currentTimeMillis() / 1000;
-
-            // This is to slow when we push over a million records
-            // String sql = "delete from " +
-            // getJdbcDiskCacheAttributes().getTableName() + " where REGION = '"
-            // + this.getCacheName() + "' and IS_ETERNAL = 'F' and (" + now
-            // + " - UPDATE_TIME_SECONDS) > MAX_LIFE_SECONDS";
-
-            String sql = "delete from " + getJdbcDiskCacheAttributes().getTableName()
-                + " where IS_ETERNAL = ? and REGION = ? and ? > SYSTEM_EXPIRE_TIME_SECONDS";
-
-            Connection con = getDataSource().getConnection();
-            PreparedStatement psDelete = null;
-            try
-            {
-                psDelete = con.prepareStatement( sql );
-                psDelete.setString( 1, "F" );
-                psDelete.setString( 2, this.getCacheName() );
-                psDelete.setLong( 3, now );
-
-                setAlive(true);
-
-                deleted = psDelete.executeUpdate();
-            }
-            catch ( SQLException e )
-            {
-                log.error( "Problem creating statement.", e );
-                setAlive(false);
-            }
-            finally
-            {
-                try
-                {
-                    if ( psDelete != null )
-                    {
-                        psDelete.close();
-                    }
-                    con.close();
-                }
-                catch ( SQLException e1 )
-                {
-                    log.error( "Problem closing statement.", e1 );
-                }
-            }
-            logApplicationEvent( getAuxiliaryCacheAttributes().getName(), "deleteExpired",
-                                 "Deleted expired elements.  URL: " + getDiskLocation() );
-        }
-        catch ( Exception e )
-        {
-            logError( getAuxiliaryCacheAttributes().getName(), "deleteExpired", e.getMessage() + " URL: "
-                + getDiskLocation() );
-            log.error( "Problem removing expired elements from the table.", e );
-            reset();
-        }
-        finally
-        {
-            getTableState().setState( TableState.FREE );
-        }
-
-        return deleted;
-    }
-
-    /**
-     * Typically this is used to handle errors by last resort, force content update, or removeall
-     */
-    public void reset()
-    {
-        // nothing
-    }
-
-    /** Shuts down the pool */
-    @Override
-    public void processDispose()
-    {
-        ICacheEvent<K> cacheEvent = createICacheEvent( getCacheName(), (K)"none", ICacheEventLogger.DISPOSE_EVENT );
-        try
-        {
-            try
-            {
-            	dsFactory.close();
-            }
-            catch ( SQLException e )
-            {
-                log.error( "Problem shutting down.", e );
-            }
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Returns the current cache size. Just does a count(*) for the region.
-     * <p>
-     * @return The size value
-     */
-    @Override
-    public int getSize()
-    {
-        int size = 0;
-
-        // region, key
-        String selectString = "select count(*) from " + getJdbcDiskCacheAttributes().getTableName()
-            + " where REGION = ?";
-
-        Connection con;
-        try
-        {
-            con = getDataSource().getConnection();
-        }
-        catch ( SQLException e )
-        {
-            log.error( "Problem getting connection.", e );
-            return size;
-        }
-
-        try
-        {
-            PreparedStatement psSelect = null;
-            try
-            {
-                psSelect = con.prepareStatement( selectString );
-                psSelect.setString( 1, this.getCacheName() );
-                ResultSet rs = null;
-
-                rs = psSelect.executeQuery();
-                try
-                {
-                    if ( rs.next() )
-                    {
-                        size = rs.getInt( 1 );
-                    }
-                }
-                finally
-                {
-                    if ( rs != null )
-                    {
-                        rs.close();
-                    }
-                }
-            }
-            finally
-            {
-                if ( psSelect != null )
-                {
-                    psSelect.close();
-                }
-            }
-        }
-        catch ( SQLException e )
-        {
-            log.error( "Problem getting size.", e );
-        }
-        finally
-        {
-            try
-            {
-                con.close();
-            }
-            catch ( SQLException e )
-            {
-                log.error( "Problem closing connection.", e );
-            }
-        }
-        return size;
-    }
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet() throws IOException
-    {
-        throw new UnsupportedOperationException( "Groups not implemented." );
-        // return null;
-    }
-
-    /**
-     * @param elementSerializer The elementSerializer to set.
-     */
-    @Override
-    public void setElementSerializer( IElementSerializer elementSerializer )
-    {
-        this.elementSerializer = elementSerializer;
-    }
-
-    /**
-     * @return Returns the elementSerializer.
-     */
-    @Override
-    public IElementSerializer getElementSerializer()
-    {
-        return elementSerializer;
-    }
-
-    /**
-     * @param jdbcDiskCacheAttributes The jdbcDiskCacheAttributes to set.
-     */
-    protected void setJdbcDiskCacheAttributes( JDBCDiskCacheAttributes jdbcDiskCacheAttributes )
-    {
-        this.jdbcDiskCacheAttributes = jdbcDiskCacheAttributes;
-    }
-
-    /**
-     * @return Returns the jdbcDiskCacheAttributes.
-     */
-    protected JDBCDiskCacheAttributes getJdbcDiskCacheAttributes()
-    {
-        return jdbcDiskCacheAttributes;
-    }
-
-    /**
-     * @return Returns the AuxiliaryCacheAttributes.
-     */
-    @Override
-    public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
-    {
-        return this.getJdbcDiskCacheAttributes();
-    }
-
-    /**
-     * Extends the parent stats.
-     * <p>
-     * @return IStats
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = super.getStatistics();
-        stats.setTypeName( "JDBC/Abstract Disk Cache" );
-
-        List<IStatElement<?>> elems = stats.getStatElements();
-
-        elems.add(new StatElement<AtomicInteger>( "Update Count", updateCount ) );
-        elems.add(new StatElement<AtomicInteger>( "Get Count", getCount ) );
-        elems.add(new StatElement<AtomicInteger>( "Get Matching Count", getMatchingCount ) );
-        elems.add(new StatElement<String>( "DB URL", getJdbcDiskCacheAttributes().getUrl()) );
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-
-    /**
-     * Returns the name of the table.
-     * <p>
-     * @return the table name or UNDEFINED
-     */
-    protected String getTableName()
-    {
-        String name = "UNDEFINED";
-        if ( this.getJdbcDiskCacheAttributes() != null )
-        {
-            name = this.getJdbcDiskCacheAttributes().getTableName();
-        }
-        return name;
-    }
-
-    /**
-     * @param tableState The tableState to set.
-     */
-    public void setTableState( TableState tableState )
-    {
-        this.tableState = tableState;
-    }
-
-    /**
-     * @return Returns the tableState.
-     */
-    public TableState getTableState()
-    {
-        return tableState;
-    }
-
-    /**
-     * This is used by the event logging.
-     * <p>
-     * @return the location of the disk, either path or ip.
-     */
-    @Override
-    protected String getDiskLocation()
-    {
-        return this.jdbcDiskCacheAttributes.getUrl();
-    }
-
-    /**
-     * Public so managers can access it.
-     * @return the dsFactory
-     * @throws SQLException if getting a data source fails
-     */
-    public DataSource getDataSource() throws SQLException
-    {
-        return dsFactory.getDataSource();
-    }
-
-    /**
-     * For debugging.
-     * <p>
-     * @return this.getStats();
-     */
-    @Override
-    public String toString()
-    {
-        return this.getStats();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheAttributes.java
deleted file mode 100644
index 8eeba42..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheAttributes.java
+++ /dev/null
@@ -1,331 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.disk.AbstractDiskCacheAttributes;
-
-/**
- * The configurator will set these values based on what is in the cache.ccf file.
- * <p>
- * @author Aaron Smuts
- */
-public class JDBCDiskCacheAttributes
-    extends AbstractDiskCacheAttributes
-{
-    /** Don't change */
-    private static final long serialVersionUID = -6535808344813320062L;
-
-    /** default */
-    private static final String DEFAULT_TABLE_NAME = "JCS_STORE";
-
-    /** DB username */
-    private String userName;
-
-    /** DB password */
-    private String password;
-
-    /** URL for the db */
-    private String url;
-
-    /** The name of the database. */
-    private String database = "";
-
-    /** The driver */
-    private String driverClassName;
-
-    /** The JNDI path. */
-    private String jndiPath;
-
-    /** The time between two JNDI lookups */
-    private long jndiTTL = 0L;
-
-    /** The table name */
-    private String tableName = DEFAULT_TABLE_NAME;
-
-    /** If false we will insert and if it fails we will update. */
-    private boolean testBeforeInsert = true;
-
-    /** This is the default limit on the maximum number of active connections. */
-    public static final int DEFAULT_MAX_ACTIVE = 10;
-
-    /** Max connections allowed */
-    private int maxActive = DEFAULT_MAX_ACTIVE;
-
-    /** This is the default setting for the cleanup routine. */
-    public static final int DEFAULT_SHRINKER_INTERVAL_SECONDS = 300;
-
-    /** How often should we remove expired. */
-    private int shrinkerIntervalSeconds = DEFAULT_SHRINKER_INTERVAL_SECONDS;
-
-    /** Should we remove expired in the background. */
-    private boolean useDiskShrinker = true;
-
-    /** The default Pool Name to which the connection pool will be keyed. */
-    public static final String DEFAULT_POOL_NAME = "jcs";
-
-    /**
-     * If a pool name is supplied, the manager will attempt to load it. It should be configured in a
-     * separate section as follows. Assuming the name is "MyPool":
-     *
-     * <pre>
-     * jcs.jdbcconnectionpool.MyPool.attributes.userName=MyUserName
-     * jcs.jdbcconnectionpool.MyPool.attributes.password=MyPassword
-     * jcs.jdbcconnectionpool.MyPool.attributes.url=MyUrl
-     * jcs.jdbcconnectionpool.MyPool.attributes.maxActive=MyMaxActive
-     * jcs.jdbcconnectionpool.MyPool.attributes.driverClassName=MyDriverClassName
-     * </pre>
-     */
-    private String connectionPoolName;
-
-    /**
-     * @param userName The userName to set.
-     */
-    public void setUserName( String userName )
-    {
-        this.userName = userName;
-    }
-
-    /**
-     * @return Returns the userName.
-     */
-    public String getUserName()
-    {
-        return userName;
-    }
-
-    /**
-     * @param password The password to set.
-     */
-    public void setPassword( String password )
-    {
-        this.password = password;
-    }
-
-    /**
-     * @return Returns the password.
-     */
-    public String getPassword()
-    {
-        return password;
-    }
-
-    /**
-     * @param url The url to set.
-     */
-    public void setUrl( String url )
-    {
-        this.url = url;
-    }
-
-    /**
-     * @return Returns the url.
-     */
-    public String getUrl()
-    {
-        return url;
-    }
-
-    /**
-     * This is appended to the url.
-     * @param database The database to set.
-     */
-    public void setDatabase( String database )
-    {
-        this.database = database;
-    }
-
-    /**
-     * @return Returns the database.
-     */
-    public String getDatabase()
-    {
-        return database;
-    }
-
-    /**
-     * @param driverClassName The driverClassName to set.
-     */
-    public void setDriverClassName( String driverClassName )
-    {
-        this.driverClassName = driverClassName;
-    }
-
-    /**
-     * @return Returns the driverClassName.
-     */
-    public String getDriverClassName()
-    {
-        return driverClassName;
-    }
-
-    /**
-	 * @return the jndiPath
-	 */
-	public String getJndiPath()
-	{
-		return jndiPath;
-	}
-
-	/**
-	 * @param jndiPath the jndiPath to set
-	 */
-	public void setJndiPath(String jndiPath)
-	{
-		this.jndiPath = jndiPath;
-	}
-
-	/**
-	 * @return the jndiTTL
-	 */
-	public long getJndiTTL()
-	{
-		return jndiTTL;
-	}
-
-	/**
-	 * @param jndiTTL the jndiTTL to set
-	 */
-	public void setJndiTTL(long jndiTTL)
-	{
-		this.jndiTTL = jndiTTL;
-	}
-
-	/**
-     * @param tableName The tableName to set.
-     */
-    public void setTableName( String tableName )
-    {
-        this.tableName = tableName;
-    }
-
-    /**
-     * @return Returns the tableName.
-     */
-    public String getTableName()
-    {
-        return tableName;
-    }
-
-    /**
-     * If this is true then the disk cache will check to see if the item already exists in the
-     * database. If it is false, it will try to insert. If the insert fails it will try to update.
-     * <p>
-     * @param testBeforeInsert The testBeforeInsert to set.
-     */
-    public void setTestBeforeInsert( boolean testBeforeInsert )
-    {
-        this.testBeforeInsert = testBeforeInsert;
-    }
-
-    /**
-     * @return Returns the testBeforeInsert.
-     */
-    public boolean isTestBeforeInsert()
-    {
-        return testBeforeInsert;
-    }
-
-    /**
-     * @param maxActive The maxActive to set.
-     */
-    public void setMaxActive( int maxActive )
-    {
-        this.maxActive = maxActive;
-    }
-
-    /**
-     * @return Returns the maxActive.
-     */
-    public int getMaxActive()
-    {
-        return maxActive;
-    }
-
-    /**
-     * @param shrinkerIntervalSecondsArg The shrinkerIntervalSeconds to set.
-     */
-    public void setShrinkerIntervalSeconds( int shrinkerIntervalSecondsArg )
-    {
-        this.shrinkerIntervalSeconds = shrinkerIntervalSecondsArg;
-    }
-
-    /**
-     * @return Returns the shrinkerIntervalSeconds.
-     */
-    public int getShrinkerIntervalSeconds()
-    {
-        return shrinkerIntervalSeconds;
-    }
-
-    /**
-     * @param useDiskShrinker The useDiskShrinker to set.
-     */
-    public void setUseDiskShrinker( boolean useDiskShrinker )
-    {
-        this.useDiskShrinker = useDiskShrinker;
-    }
-
-    /**
-     * @return Returns the useDiskShrinker.
-     */
-    public boolean isUseDiskShrinker()
-    {
-        return useDiskShrinker;
-    }
-
-    /**
-     * @param connectionPoolName the connectionPoolName to set
-     */
-    public void setConnectionPoolName( String connectionPoolName )
-    {
-        this.connectionPoolName = connectionPoolName;
-    }
-
-    /**
-     * @return the connectionPoolName
-     */
-    public String getConnectionPoolName()
-    {
-        return connectionPoolName;
-    }
-
-    /**
-     * For debugging.
-     * <p>
-     * @return debug string with most of the properties.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\nJDBCCacheAttributes" );
-        buf.append( "\n UserName [" + getUserName() + "]" );
-        buf.append( "\n Url [" + getUrl() + "]" );
-        buf.append( "\n Database [" + getDatabase() + "]" );
-        buf.append( "\n DriverClassName [" + getDriverClassName() + "]" );
-        buf.append( "\n TableName [" + getTableName() + "]" );
-        buf.append( "\n TestBeforeInsert [" + isTestBeforeInsert() + "]" );
-        buf.append( "\n MaxActive [" + getMaxActive() + "]" );
-        buf.append( "\n AllowRemoveAll [" + isAllowRemoveAll() + "]" );
-        buf.append( "\n ShrinkerIntervalSeconds [" + getShrinkerIntervalSeconds() + "]" );
-        buf.append( "\n useDiskShrinker [" + isUseDiskShrinker() + "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheFactory.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheFactory.java
deleted file mode 100644
index ca8f071..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheFactory.java
+++ /dev/null
@@ -1,294 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.sql.SQLException;
-import java.util.Properties;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheFactory;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory.DataSourceFactory;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory.JndiDataSourceFactory;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory.SharedPoolDataSourceFactory;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.behavior.IRequireScheduler;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.utils.config.PropertySetter;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This factory should create JDBC auxiliary caches.
- * <p>
- * @author Aaron Smuts
- */
-public class JDBCDiskCacheFactory
-    extends AbstractAuxiliaryCacheFactory
-    implements IRequireScheduler
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( JDBCDiskCacheFactory.class );
-
-    /**
-     * A map of TableState objects to table names. Each cache has a table state object, which is
-     * used to determine if any long processes such as deletes or optimizations are running.
-     */
-    private ConcurrentMap<String, TableState> tableStates;
-
-    /** The background scheduler, one for all regions. Injected by the configurator */
-    protected ScheduledExecutorService scheduler;
-
-    /**
-     * A map of table name to shrinker threads. This allows each table to have a different setting.
-     * It assumes that there is only one jdbc disk cache auxiliary defined per table.
-     */
-    private ConcurrentMap<String, ShrinkerThread> shrinkerThreadMap;
-
-    /** Pool name to DataSourceFactories */
-    private ConcurrentMap<String, DataSourceFactory> dsFactories;
-
-    /** Lock to allow lengthy initialization of DataSourceFactories */
-    private ReentrantLock dsFactoryLock;
-
-    /** props prefix */
-    protected static final String POOL_CONFIGURATION_PREFIX = "jcs.jdbcconnectionpool.";
-
-    /** .attributes */
-    protected static final String ATTRIBUTE_PREFIX = ".attributes";
-
-    /**
-     * This factory method should create an instance of the jdbc cache.
-     * <p>
-     * @param rawAttr specific cache configuration attributes
-     * @param compositeCacheManager the global cache manager
-     * @param cacheEventLogger a specific logger for cache events
-     * @param elementSerializer a serializer for cache elements
-     * @return JDBCDiskCache the cache instance
-     * @throws SQLException if the cache instance could not be created
-     */
-    @Override
-    public <K, V> JDBCDiskCache<K, V> createCache( AuxiliaryCacheAttributes rawAttr,
-            ICompositeCacheManager compositeCacheManager,
-            ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
-            throws SQLException
-    {
-        JDBCDiskCacheAttributes cattr = (JDBCDiskCacheAttributes) rawAttr;
-        TableState tableState = getTableState( cattr.getTableName() );
-        DataSourceFactory dsFactory = getDataSourceFactory(cattr, compositeCacheManager.getConfigurationProperties());
-
-        JDBCDiskCache<K, V> cache = new JDBCDiskCache<K, V>( cattr, dsFactory, tableState, compositeCacheManager );
-        cache.setCacheEventLogger( cacheEventLogger );
-        cache.setElementSerializer( elementSerializer );
-
-        // create a shrinker if we need it.
-        createShrinkerWhenNeeded( cattr, cache );
-
-        return cache;
-    }
-
-    /**
-     * Initialize this factory
-     */
-    @Override
-    public void initialize()
-    {
-        super.initialize();
-        this.tableStates = new ConcurrentHashMap<String, TableState>();
-        this.shrinkerThreadMap = new ConcurrentHashMap<String, ShrinkerThread>();
-        this.dsFactories = new ConcurrentHashMap<String, DataSourceFactory>();
-        this.dsFactoryLock = new ReentrantLock();
-    }
-
-    /**
-     * Dispose of this factory, clean up shared resources
-     */
-    @Override
-    public void dispose()
-    {
-        this.tableStates.clear();
-
-        for (DataSourceFactory dsFactory : this.dsFactories.values())
-        {
-        	try
-        	{
-				dsFactory.close();
-			}
-        	catch (SQLException e)
-        	{
-        		log.error("Could not close data source factory " + dsFactory.getName(), e);
-			}
-        }
-
-        this.dsFactories.clear();
-        this.shrinkerThreadMap.clear();
-        super.dispose();
-    }
-
-    /**
-     * Get a table state for a given table name
-     *
-     * @param tableName
-     * @return a cached instance of the table state
-     */
-    protected TableState getTableState(String tableName)
-    {
-    	TableState newTableState = new TableState( tableName );
-        TableState tableState = tableStates.putIfAbsent( tableName, newTableState );
-
-        if ( tableState == null )
-        {
-            tableState = newTableState;
-        }
-
-        return tableState;
-    }
-
-    /**
-	 * @see org.apache.commons.jcs.engine.behavior.IRequireScheduler#setScheduledExecutorService(java.util.concurrent.ScheduledExecutorService)
-	 */
-	@Override
-	public void setScheduledExecutorService(ScheduledExecutorService scheduledExecutor)
-	{
-		this.scheduler = scheduledExecutor;
-	}
-
-	/**
-     * Get the scheduler service
-     *
-     * @return the scheduler
-     */
-    protected ScheduledExecutorService getScheduledExecutorService()
-    {
-        return scheduler;
-    }
-
-    /**
-     * If UseDiskShrinker is true then we will create a shrinker daemon if necessary.
-     * <p>
-     * @param cattr
-     * @param raf
-     */
-    protected void createShrinkerWhenNeeded( JDBCDiskCacheAttributes cattr, JDBCDiskCache<?, ?> raf )
-    {
-        // add cache to shrinker.
-        if ( cattr.isUseDiskShrinker() )
-        {
-            ScheduledExecutorService shrinkerService = getScheduledExecutorService();
-            ShrinkerThread newShrinkerThread = new ShrinkerThread();
-            ShrinkerThread shrinkerThread = shrinkerThreadMap.putIfAbsent( cattr.getTableName(), newShrinkerThread );
-
-            if ( shrinkerThread == null )
-            {
-            	shrinkerThread = newShrinkerThread;
-
-                long intervalMillis = Math.max( 999, cattr.getShrinkerIntervalSeconds() * 1000 );
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Setting the shrinker to run every [" + intervalMillis + "] ms. for table ["
-                        + cattr.getTableName() + "]" );
-                }
-                shrinkerService.scheduleAtFixedRate(shrinkerThread, 0, intervalMillis, TimeUnit.MILLISECONDS);
-            }
-
-            shrinkerThread.addDiskCacheToShrinkList( raf );
-        }
-    }
-
-    /**
-     * manages the DataSourceFactories.
-     * <p>
-     * @param cattr the cache configuration
-     * @param configProps the configuration properties object
-     * @return a DataSourceFactory
-     * @throws SQLException if a database access error occurs
-     */
-    protected DataSourceFactory getDataSourceFactory( JDBCDiskCacheAttributes cattr,
-                                                      Properties configProps ) throws SQLException
-    {
-    	String poolName = null;
-
-    	if (cattr.getConnectionPoolName() == null)
-    	{
-    		poolName = cattr.getCacheName() + "." + JDBCDiskCacheAttributes.DEFAULT_POOL_NAME;
-        }
-        else
-        {
-            poolName = cattr.getConnectionPoolName();
-        }
-
-
-    	DataSourceFactory dsFactory = this.dsFactories.get(poolName);
-
-    	if (dsFactory == null)
-    	{
-            dsFactoryLock.lock();
-
-            try
-            {
-                // double check
-                dsFactory = this.dsFactories.get(poolName);
-
-                if (dsFactory == null)
-                {
-                	JDBCDiskCacheAttributes dsConfig = null;
-
-                	if (cattr.getConnectionPoolName() == null)
-                	{
-                		dsConfig = cattr;
-                    }
-                    else
-                    {
-                        dsConfig = new JDBCDiskCacheAttributes();
-                        String dsConfigAttributePrefix = POOL_CONFIGURATION_PREFIX + poolName + ATTRIBUTE_PREFIX;
-                        PropertySetter.setProperties( dsConfig,
-                        		configProps,
-                        		dsConfigAttributePrefix + "." );
-
-                        dsConfig.setConnectionPoolName(poolName);
-                    }
-
-        	        if ( dsConfig.getJndiPath() != null )
-        	        {
-        	        	dsFactory = new JndiDataSourceFactory();
-        	        }
-        	        else
-        	        {
-        	            dsFactory = new SharedPoolDataSourceFactory();
-        	        }
-
-                	dsFactory.initialize(dsConfig);
-            		this.dsFactories.put(poolName, dsFactory);
-                }
-            }
-            finally
-            {
-                dsFactoryLock.unlock();
-            }
-    	}
-
-    	return dsFactory;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/ShrinkerThread.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/ShrinkerThread.java
deleted file mode 100644
index adcdb0e..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/ShrinkerThread.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * Calls delete expired on the disk caches. The shrinker is run by a clock daemon. The shrinker
- * calls delete on each region. It pauses between calls.
- * <p>
- * @author Aaron Smuts
- */
-public class ShrinkerThread
-    implements Runnable
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( ShrinkerThread.class );
-
-    /** A set of JDBCDiskCache objects to call deleteExpired on. */
-    private final Set<JDBCDiskCache<?, ?>> shrinkSet =
-        Collections.synchronizedSet( new HashSet<JDBCDiskCache<?, ?>>() );
-
-    /** Default time period to use. */
-    private static final long DEFAULT_PAUSE_BETWEEN_REGION_CALLS_MILLIS = 5000;
-
-    /**
-     * How long should we wait between calls to deleteExpired when we are iterating through the list
-     * of regions. Delete can lock the table. We want to give clients a chance to get some work
-     * done.
-     */
-    private long pauseBetweenRegionCallsMillis = DEFAULT_PAUSE_BETWEEN_REGION_CALLS_MILLIS;
-
-    /**
-     * Does nothing special.
-     */
-    protected ShrinkerThread()
-    {
-        super();
-    }
-
-    /**
-     * Adds a JDBC disk cache to the set of disk cache to shrink.
-     * <p>
-     * @param diskCache
-     */
-    public void addDiskCacheToShrinkList( JDBCDiskCache<?, ?> diskCache )
-    {
-        // the set will prevent dupes.
-        // we could also just add these to a hashmap by region name
-        // but that might cause a problem if you wanted to use two different
-        // jbdc disk caches for the same region.
-        shrinkSet.add( diskCache );
-    }
-
-    /**
-     * Calls deleteExpired on each item in the set. It pauses between each call.
-     */
-    @Override
-    public void run()
-    {
-        try
-        {
-            deleteExpiredFromAllRegisteredRegions();
-        }
-        catch ( Throwable e )
-        {
-            log.error( "Caught an expcetion while trying to delete expired items.", e );
-        }
-    }
-
-    /**
-     * Deletes the expired items from all the registered regions.
-     */
-    private void deleteExpiredFromAllRegisteredRegions()
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Running JDBC disk cache shrinker.  Number of regions [" + shrinkSet.size() + "]" );
-        }
-
-        Object[] caches = null;
-
-        synchronized ( shrinkSet )
-        {
-            caches = this.shrinkSet.toArray();
-        }
-
-        if ( caches != null )
-        {
-            for ( int i = 0; i < caches.length; i++ )
-            {
-                JDBCDiskCache<?, ?> cache = (JDBCDiskCache<?, ?>) caches[i];
-
-                long start = System.currentTimeMillis();
-                int deleted = cache.deleteExpired();
-                long end = System.currentTimeMillis();
-
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Deleted [" + deleted + "] expired for region [" + cache.getCacheName() + "] for table ["
-                        + cache.getTableName() + "] in " + ( end - start ) + " ms." );
-                }
-
-                // don't pause after the last call to delete expired.
-                if ( i < caches.length - 1 )
-                {
-                    if ( log.isInfoEnabled() )
-                    {
-                        log.info( "Pausing for [" + this.getPauseBetweenRegionCallsMillis()
-                            + "] ms. before shrinking the next region." );
-                    }
-
-                    try
-                    {
-                        Thread.sleep( this.getPauseBetweenRegionCallsMillis() );
-                    }
-                    catch ( InterruptedException e )
-                    {
-                        log.warn( "Interrupted while waiting to delete expired for the next region." );
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * How long should we wait between calls to deleteExpired when we are iterating through the list
-     * of regions.
-     * <p>
-     * @param pauseBetweenRegionCallsMillis The pauseBetweenRegionCallsMillis to set.
-     */
-    public void setPauseBetweenRegionCallsMillis( long pauseBetweenRegionCallsMillis )
-    {
-        this.pauseBetweenRegionCallsMillis = pauseBetweenRegionCallsMillis;
-    }
-
-    /**
-     * How long should we wait between calls to deleteExpired when we are iterating through the list
-     * of regions.
-     * <p>
-     * @return Returns the pauseBetweenRegionCallsMillis.
-     */
-    public long getPauseBetweenRegionCallsMillis()
-    {
-        return pauseBetweenRegionCallsMillis;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/TableState.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/TableState.java
deleted file mode 100644
index a862660..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/TableState.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-/**
- * This is used by various elements of the JDBC disk cache to indicate the
- * status of a table. The MySQL disk cache, for instance, marks the status as
- * optimizing when a scheduled optimization is taking place. This allows the
- * cache to balk rather than block during long running optimizations.
- * <p>
- * @author Aaron Smuts
- */
-public class TableState
-    implements Serializable
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -6625081552084964885L;
-
-    /** Name of the table whose state this reflects. */
-    private String tableName;
-
-    /**
-     * The table is free. It can be accessed and no potentially table locking
-     * jobs are running.
-     */
-    public static final int FREE = 0;
-
-    /** A potentially table locking deletion is running */
-    public static final int DELETE_RUNNING = 1;
-
-    /** A table locking optimization is running. */
-    public static final int OPTIMIZATION_RUNNING = 2;
-
-    /** we might want to add error */
-    private int state = FREE;
-
-    /**
-     * Construct a usable table state.
-     * <p>
-     * @param tableName
-     */
-    public TableState( String tableName )
-    {
-        this.setTableName( tableName );
-    }
-
-    /**
-     * @param tableName
-     *            The tableName to set.
-     */
-    public void setTableName( String tableName )
-    {
-        this.tableName = tableName;
-    }
-
-    /**
-     * @return Returns the tableName.
-     */
-    public String getTableName()
-    {
-        return tableName;
-    }
-
-    /**
-     * @param state
-     *            The state to set.
-     */
-    public void setState( int state )
-    {
-        this.state = state;
-    }
-
-    /**
-     * @return Returns the state.
-     */
-    public int getState()
-    {
-        return state;
-    }
-
-    /**
-     * Write out the values for debugging purposes.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder str = new StringBuilder();
-        str.append( "TableState " );
-        str.append( "\n TableName = " + getTableName() );
-        str.append( "\n State = " + getState() );
-        return str.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/dsfactory/DataSourceFactory.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/dsfactory/DataSourceFactory.java
deleted file mode 100644
index 73b57e1..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/dsfactory/DataSourceFactory.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.sql.SQLException;
-
-import javax.sql.DataSource;
-
-import org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCacheAttributes;
-
-
-/**
- * A factory that returns a DataSource.
- * Borrowed from Apache DB Torque
- *
- * @author <a href="mailto:jmcnally at apache.org">John McNally</a>
- * @author <a href="mailto:fischer at seitenbau.de">Thomas Fischer</a>
- * @version $Id: DataSourceFactory.java 1336091 2012-05-09 11:09:40Z tfischer $
- */
-public interface DataSourceFactory
-{
-    /**
-     * Key for the configuration which contains DataSourceFactories
-     */
-    String DSFACTORY_KEY = "dsfactory";
-
-    /**
-     *  Key for the configuration which contains the fully qualified name
-     *  of the factory implementation class
-     */
-    String FACTORY_KEY = "factory";
-
-    /**
-     * @return the name of the factory.
-     */
-    String getName();
-
-    /**
-     * @return the <code>DataSource</code> configured by the factory.
-     * @throws SQLException if the source can't be returned
-     */
-    DataSource getDataSource() throws SQLException;
-
-    /**
-     * Initialize the factory.
-     *
-     * @param config the factory settings
-     * @throws SQLException Any exceptions caught during processing will be
-     *         rethrown wrapped into a SQLException.
-     */
-    void initialize(JDBCDiskCacheAttributes config)
-        throws SQLException;
-
-    /**
-     * A hook which is called when the resources of the associated DataSource
-     * can be released.
-     * After close() is called, the other methods may not work any more
-     * (e.g. getDataSource() might return null).
-     * It is not guaranteed that this method does anything. For example,
-     * we do not want to close connections retrieved via JNDI, so the
-     * JndiDataSouurceFactory does not close these connections
-     *
-     * @throws SQLException Any exceptions caught during processing will be
-     *         rethrown wrapped into a SQLException.
-     */
-    void close()
-        throws SQLException;
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/dsfactory/JndiDataSourceFactory.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/dsfactory/JndiDataSourceFactory.java
deleted file mode 100644
index 517db18..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/dsfactory/JndiDataSourceFactory.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.sql.SQLException;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-
-import org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCacheAttributes;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * A factory that looks up the DataSource from JNDI.  It is also able
- * to deploy the DataSource based on properties found in the
- * configuration.
- *
- * This factory tries to avoid excessive context lookups to improve speed.
- * The time between two lookups can be configured. The default is 0 (no cache).
- *
- * Borrowed and adapted from Apache DB Torque
- *
- * @author <a href="mailto:jmcnally at apache.org">John McNally</a>
- * @author <a href="mailto:thomas at vandahl.org">Thomas Vandahl</a>
- */
-public class JndiDataSourceFactory implements DataSourceFactory
-{
-    /** The log. */
-    private static Log log = LogFactory.getLog(JndiDataSourceFactory.class);
-
-    /** The name of the factory. */
-    private String name;
-
-    /** The path to get the resource from. */
-    private String path;
-
-    /** The context to get the resource from. */
-    private Context ctx;
-
-    /** A locally cached copy of the DataSource */
-    private DataSource ds = null;
-
-    /** Time of last actual lookup action */
-    private long lastLookup = 0;
-
-    /** Time between two lookups */
-    private long ttl = 0; // ms
-
-    /**
-     * @return the name of the factory.
-     */
-    @Override
-	public String getName()
-    {
-    	return name;
-    }
-
-    /**
-     * @see org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory.DataSourceFactory#getDataSource()
-     */
-    @Override
-	public DataSource getDataSource() throws SQLException
-    {
-        long time = System.currentTimeMillis();
-
-        if (ds == null || time - lastLookup > ttl)
-        {
-            try
-            {
-                synchronized (ctx)
-                {
-                    ds = ((DataSource) ctx.lookup(path));
-                }
-                lastLookup = time;
-            }
-            catch (NamingException e)
-            {
-                throw new SQLException(e);
-            }
-        }
-
-        return ds;
-    }
-
-    /**
-     * @see org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory.DataSourceFactory#initialize(JDBCDiskCacheAttributes)
-     */
-    @Override
-	public void initialize(JDBCDiskCacheAttributes config) throws SQLException
-    {
-    	this.name = config.getConnectionPoolName();
-        initJNDI(config);
-    }
-
-    /**
-     * Initializes JNDI.
-     *
-     * @param config where to read the settings from
-     * @throws SQLException if a property set fails
-     */
-    private void initJNDI(JDBCDiskCacheAttributes config) throws SQLException
-    {
-        log.debug("Starting initJNDI");
-
-        try
-        {
-            this.path = config.getJndiPath();
-            if (log.isDebugEnabled())
-            {
-                log.debug("JNDI path: " + path);
-            }
-
-            this.ttl = config.getJndiTTL();
-            if (log.isDebugEnabled())
-            {
-                log.debug("Time between context lookups: " + ttl);
-            }
-
-    		Hashtable<String, Object> env = new Hashtable<String, Object>();
-            ctx = new InitialContext(env);
-
-            if (log.isDebugEnabled())
-            {
-            	log.debug("Created new InitialContext");
-            	debugCtx(ctx);
-            }
-        }
-        catch (NamingException e)
-        {
-            throw new SQLException(e);
-        }
-    }
-
-    /**
-     * Does nothing. We do not want to close a dataSource retrieved from Jndi,
-     * because other applications might use it as well.
-     */
-    @Override
-	public void close()
-    {
-        // do nothing
-    }
-
-    /**
-     *
-     * @param ctx the context
-     * @throws NamingException
-     */
-    private void debugCtx(Context ctx) throws NamingException
-    {
-        log.debug("InitialContext -------------------------------");
-        Map<?, ?> env = ctx.getEnvironment();
-        Iterator<?> qw = env.entrySet().iterator();
-        log.debug("Environment properties:" + env.size());
-        while (qw.hasNext())
-        {
-            Map.Entry<?, ?> entry = (Map.Entry<?, ?>) qw.next();
-            log.debug("    " + entry.getKey() + ": " + entry.getValue());
-        }
-        log.debug("----------------------------------------------");
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/dsfactory/SharedPoolDataSourceFactory.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/dsfactory/SharedPoolDataSourceFactory.java
deleted file mode 100644
index 9345777..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/dsfactory/SharedPoolDataSourceFactory.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.sql.SQLException;
-
-import javax.sql.ConnectionPoolDataSource;
-import javax.sql.DataSource;
-
-import org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS;
-import org.apache.commons.dbcp.datasources.InstanceKeyDataSource;
-import org.apache.commons.dbcp.datasources.SharedPoolDataSource;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCacheAttributes;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * A factory that looks up the DataSource using the JDBC2 pool methods.
- *
- * Borrowed and adapted from Apache DB Torque
- *
- * @author <a href="mailto:jmcnally at apache.org">John McNally</a>
- * @author <a href="mailto:hps at intermeta.de">Henning P. Schmiedehausen</a>
- */
-public class SharedPoolDataSourceFactory implements DataSourceFactory
-{
-    /** The log. */
-    private static Log log = LogFactory.getLog(SharedPoolDataSourceFactory.class);
-
-    /** The name of the factory. */
-    private String name;
-
-    /** The wrapped <code>DataSource</code>. */
-    private SharedPoolDataSource ds = null;
-
-    /**
-     * @return the name of the factory.
-     */
-    @Override
-	public String getName()
-    {
-    	return name;
-    }
-
-    /**
-     * @see org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory.DataSourceFactory#getDataSource()
-     */
-    @Override
-    public DataSource getDataSource()
-    {
-        return ds;
-    }
-
-    /**
-     * @see org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory.DataSourceFactory#initialize(JDBCDiskCacheAttributes)
-     */
-    @Override
-	public void initialize(JDBCDiskCacheAttributes config) throws SQLException
-    {
-    	this.name = config.getConnectionPoolName();
-        ConnectionPoolDataSource cpds = initCPDS(config);
-        SharedPoolDataSource dataSource = new SharedPoolDataSource();
-        initJdbc2Pool(dataSource, config);
-        dataSource.setConnectionPoolDataSource(cpds);
-        dataSource.setMaxActive(config.getMaxActive());
-        this.ds = dataSource;
-    }
-
-    /**
-     * Closes the pool associated with this factory and releases it.
-     * @throws SQLException if the pool cannot be closed properly
-     */
-    @Override
-	public void close() throws SQLException
-    {
-        try
-        {
-            ds.close();
-        }
-        catch (Exception e)
-        {
-        	throw new SQLException("Exception caught closing data source", e);
-        }
-        ds = null;
-    }
-
-    /**
-     * Initializes the ConnectionPoolDataSource.
-     *
-     * @param config where to read the settings from
-     * @throws SQLException if a property set fails
-     * @return a configured <code>ConnectionPoolDataSource</code>
-     */
-    private ConnectionPoolDataSource initCPDS(final JDBCDiskCacheAttributes config)
-        throws SQLException
-    {
-        log.debug("Starting initCPDS");
-
-        DriverAdapterCPDS cpds = new DriverAdapterCPDS();
-
-        try
-        {
-			cpds.setDriver(config.getDriverClassName());
-		}
-        catch (ClassNotFoundException e)
-        {
-			throw new SQLException("Driver class not found " + config.getDriverClassName(), e);
-		}
-
-        cpds.setUrl(config.getUrl());
-        cpds.setUser(config.getUserName());
-        cpds.setPassword(config.getPassword());
-        cpds.setMaxActive(config.getMaxActive());
-
-        return cpds;
-    }
-
-    /**
-     * Initializes the Jdbc2PoolDataSource.
-     *
-     * @param dataSource the dataSource to initialize, not null.
-     * @param config where to read the settings from, not null.
-     *
-     * @throws SQLException if a property set fails.
-     */
-    private void initJdbc2Pool(final InstanceKeyDataSource dataSource, final JDBCDiskCacheAttributes config)
-        throws SQLException
-    {
-        log.debug("Starting initJdbc2Pool");
-
-        dataSource.setDescription(config.getConnectionPoolName());
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/hsql/HSQLDiskCacheFactory.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/hsql/HSQLDiskCacheFactory.java
deleted file mode 100644
index 9487e02..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/hsql/HSQLDiskCacheFactory.java
+++ /dev/null
@@ -1,216 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc.hsql;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCache;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCacheAttributes;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCacheFactory;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This factory should create hsql disk caches.
- * <p>
- * @author Aaron Smuts
- */
-public class HSQLDiskCacheFactory
-    extends JDBCDiskCacheFactory
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( HSQLDiskCacheFactory.class );
-
-    /** The databases. */
-    private Set<String> databases;
-
-    /**
-     * This factory method should create an instance of the hsqlcache.
-     * <p>
-     * @param rawAttr
-     * @param compositeCacheManager
-     * @param cacheEventLogger
-     * @param elementSerializer
-     * @return JDBCDiskCache
-     * @throws SQLException if the creation of the cache instance fails
-     */
-    @Override
-    public <K, V> JDBCDiskCache<K, V> createCache( AuxiliaryCacheAttributes rawAttr,
-			ICompositeCacheManager compositeCacheManager,
-			ICacheEventLogger cacheEventLogger,
-			IElementSerializer elementSerializer )
-			throws SQLException
-    {
-        setupDatabase( (JDBCDiskCacheAttributes) rawAttr );
-        return super.createCache(rawAttr, compositeCacheManager, cacheEventLogger, elementSerializer);
-    }
-
-    /**
-     * Initialize this factory
-     */
-    @Override
-    public void initialize()
-    {
-        super.initialize();
-        this.databases = Collections.synchronizedSet( new HashSet<String>() );
-    }
-
-    /**
-     * Creates the database if it doesn't exist, registers the driver class, etc.
-     * <p>
-     * @param attributes
-     * @throws SQLException
-     */
-    protected void setupDatabase( JDBCDiskCacheAttributes attributes )
-        throws SQLException
-    {
-        if ( attributes == null )
-        {
-            throw new SQLException( "The attributes are null." );
-        }
-
-        // url should start with "jdbc:hsqldb:"
-        String database = attributes.getUrl() + attributes.getDatabase();
-
-        if ( databases.contains( database ) )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "We already setup database [" + database + "]" );
-            }
-            return;
-        }
-
-        // TODO get this from the attributes.
-        System.setProperty( "hsqldb.cache_scale", "8" );
-
-        // "org.hsqldb.jdbcDriver"
-        String driver = attributes.getDriverClassName();
-        // "sa"
-        String user = attributes.getUserName();
-        // ""
-        String password = attributes.getPassword();
-
-        new org.hsqldb.jdbcDriver();
-
-        try
-        {
-            Class.forName( driver ).newInstance();
-        }
-        catch (Exception e)
-        {
-            throw new SQLException( "Could not initialize driver " + driver, e );
-        }
-
-        Connection cConn = DriverManager.getConnection( database, user, password );
-        setupTABLE( cConn, attributes.getTableName() );
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Finished setting up database [" + database + "]" );
-        }
-
-        databases.add( database );
-    }
-
-    /**
-     * SETUP TABLE FOR CACHE
-     * <p>
-     * @param cConn
-     * @param tableName
-     */
-    private void setupTABLE( Connection cConn, String tableName ) throws SQLException
-    {
-        boolean newT = true;
-
-        // TODO make the cached nature of the table configurable
-        StringBuilder createSql = new StringBuilder();
-        createSql.append( "CREATE CACHED TABLE ").append( tableName );
-        createSql.append( "( " );
-        createSql.append( "CACHE_KEY             VARCHAR(250)          NOT NULL, " );
-        createSql.append( "REGION                VARCHAR(250)          NOT NULL, " );
-        createSql.append( "ELEMENT               BINARY, " );
-        createSql.append( "CREATE_TIME           DATE, " );
-        createSql.append( "CREATE_TIME_SECONDS   BIGINT, " );
-        createSql.append( "MAX_LIFE_SECONDS      BIGINT, " );
-        createSql.append( "SYSTEM_EXPIRE_TIME_SECONDS      BIGINT, " );
-        createSql.append( "IS_ETERNAL            CHAR(1), " );
-        createSql.append( "PRIMARY KEY (CACHE_KEY, REGION) " );
-        createSql.append( ");" );
-
-        Statement sStatement = cConn.createStatement();
-
-        try
-        {
-            sStatement.execute( createSql.toString() );
-        }
-        catch ( SQLException e )
-        {
-            if ("23000".equals(e.getSQLState()))
-            {
-                newT = false;
-            }
-            else
-            {
-                throw e;
-            }
-        }
-        finally
-        {
-            sStatement.close();
-        }
-
-        if ( newT )
-        {
-            // TODO create an index on SYSTEM_EXPIRE_TIME_SECONDS
-            String setupData[] = { "create index iKEY on " + tableName + " (CACHE_KEY, REGION)" };
-            Statement iStatement = cConn.createStatement();
-
-            try
-            {
-                for ( int i = 0; i < setupData.length; i++ )
-                {
-                    try
-                    {
-                        iStatement.execute( setupData[i] );
-                    }
-                    catch ( SQLException e )
-                    {
-                        log.error( "Exception caught when creating index.", e );
-                    }
-                }
-            }
-            finally
-            {
-                iStatement.close();
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java
deleted file mode 100644
index c81ea96..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc.mysql;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.sql.SQLException;
-import java.util.Map;
-
-import org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCache;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.TableState;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory.DataSourceFactory;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * The MySQLDiskCache extends the core JDBCDiskCache.
- * <p>
- * Although the generic JDBC Disk Cache can be used for MySQL, the MySQL JDBC Disk Cache has
- * additional features, such as table optimization that are particular to MySQL.
- * <p>
- * @author Aaron Smuts
- */
-public class MySQLDiskCache<K, V>
-	extends JDBCDiskCache<K, V>
-{
-    /** local logger */
-    private static final Log log = LogFactory.getLog( MySQLDiskCache.class );
-
-    /** config attributes */
-    private final MySQLDiskCacheAttributes mySQLDiskCacheAttributes;
-
-    /**
-     * Delegates to the super and makes use of the MySQL specific parameters used for scheduled
-     * optimization.
-     * <p>
-     * @param attributes the configuration object for this cache
-     * @param dsFactory the DataSourceFactory for this cache
-     * @param tableState an object to track table operations
-     * @param compositeCacheManager the global cache manager
-     * @throws SQLException if the pool access could not be set up
-     */
-    public MySQLDiskCache( MySQLDiskCacheAttributes attributes, DataSourceFactory dsFactory,
-    		TableState tableState, ICompositeCacheManager compositeCacheManager ) throws SQLException
-    {
-        super( attributes, dsFactory, tableState, compositeCacheManager );
-
-        mySQLDiskCacheAttributes = attributes;
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "MySQLDiskCacheAttributes = " + attributes );
-        }
-    }
-
-    /**
-     * This delegates to the generic JDBC disk cache. If we are currently optimizing, then this
-     * method will balk and return null.
-     * <p>
-     * @param key Key to locate value for.
-     * @return An object matching key, or null.
-     */
-    @Override
-    protected ICacheElement<K, V> processGet( K key )
-    {
-        if ( this.getTableState().getState() == TableState.OPTIMIZATION_RUNNING )
-        {
-            if ( this.mySQLDiskCacheAttributes.isBalkDuringOptimization() )
-            {
-                return null;
-            }
-        }
-        return super.processGet( key );
-    }
-
-    /**
-     * This delegates to the generic JDBC disk cache. If we are currently optimizing, then this
-     * method will balk and return null.
-     * <p>
-     * @param pattern used for like query.
-     * @return An object matching key, or null.
-     */
-    @Override
-    protected Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
-    {
-        if ( this.getTableState().getState() == TableState.OPTIMIZATION_RUNNING )
-        {
-            if ( this.mySQLDiskCacheAttributes.isBalkDuringOptimization() )
-            {
-                return null;
-            }
-        }
-        return super.processGetMatching( pattern );
-    }
-
-    /**
-     * @param pattern
-     * @return String to use in the like query.
-     */
-    @Override
-    public String constructLikeParameterFromPattern( String pattern )
-    {
-        String likePattern = pattern.replaceAll( "\\.\\+", "%" );
-        likePattern = likePattern.replaceAll( "\\.", "_" );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "pattern = [" + likePattern + "]" );
-        }
-
-        return likePattern;
-    }
-
-    /**
-     * This delegates to the generic JDBC disk cache. If we are currently optimizing, then this
-     * method will balk and do nothing.
-     * <p>
-     * @param element
-     */
-    @Override
-    protected void processUpdate( ICacheElement<K, V> element )
-    {
-        if ( this.getTableState().getState() == TableState.OPTIMIZATION_RUNNING )
-        {
-            if ( this.mySQLDiskCacheAttributes.isBalkDuringOptimization() )
-            {
-                return;
-            }
-        }
-        super.processUpdate( element );
-    }
-
-    /**
-     * Removed the expired. (now - create time) > max life seconds * 1000
-     * <p>
-     * If we are currently optimizing, then this method will balk and do nothing.
-     * <p>
-     * TODO consider blocking and trying again.
-     * <p>
-     * @return the number deleted
-     */
-    @Override
-    protected int deleteExpired()
-    {
-        if ( this.getTableState().getState() == TableState.OPTIMIZATION_RUNNING )
-        {
-            if ( this.mySQLDiskCacheAttributes.isBalkDuringOptimization() )
-            {
-                return -1;
-            }
-        }
-        return super.deleteExpired();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheAttributes.java
deleted file mode 100644
index fca9702..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheAttributes.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc.mysql;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCacheAttributes;
-
-/**
- * This has additional attributes that are particular to the MySQL disk cache.
- * <p>
- * @author Aaron Smuts
- */
-public class MySQLDiskCacheAttributes
-    extends JDBCDiskCacheAttributes
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -6535808344813320061L;
-
-    /**
-     * For now this is a simple comma delimited list of HH:MM:SS times to optimize
-     * the table. If none is supplied, then no optimizations will be performed.
-     * <p>
-     * In the future we can add a chron like scheduling system. This is to meet
-     * a pressing current need.
-     * <p>
-     * 03:01,15:00 will cause the optimizer to run at 3 am and at 3 pm.
-     */
-    private String optimizationSchedule = null;
-
-    /**
-     * If true, we will balk, that is return null during optimization rather than block.
-     */
-    public static final boolean DEFAULT_BALK_DURING_OPTIMIZATION = true;
-
-    /**
-     * If true, we will balk, that is return null during optimization rather than block.
-     * <p>
-     * <a href="http://en.wikipedia.org/wiki/Balking_pattern">Balking</a>
-     */
-    private boolean balkDuringOptimization = DEFAULT_BALK_DURING_OPTIMIZATION;
-
-    /**
-     * @param optimizationSchedule The optimizationSchedule to set.
-     */
-    public void setOptimizationSchedule( String optimizationSchedule )
-    {
-        this.optimizationSchedule = optimizationSchedule;
-    }
-
-    /**
-     * @return Returns the optimizationSchedule.
-     */
-    public String getOptimizationSchedule()
-    {
-        return optimizationSchedule;
-    }
-
-    /**
-     * @param balkDuringOptimization The balkDuringOptimization to set.
-     */
-    public void setBalkDuringOptimization( boolean balkDuringOptimization )
-    {
-        this.balkDuringOptimization = balkDuringOptimization;
-    }
-
-    /**
-     * Should we return null while optimizing the table.
-     * <p>
-     * @return Returns the balkDuringOptimization.
-     */
-    public boolean isBalkDuringOptimization()
-    {
-        return balkDuringOptimization;
-    }
-
-    /**
-     * For debugging.
-     * <p>
-     * @return debug string
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\nMySQLDiskCacheAttributes" );
-        buf.append( "\n OptimizationSchedule [" + getOptimizationSchedule() + "]" );
-        buf.append( "\n BalkDuringOptimization [" + isBalkDuringOptimization() + "]" );
-        buf.append( super.toString() );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheFactory.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheFactory.java
deleted file mode 100644
index 147948a..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheFactory.java
+++ /dev/null
@@ -1,196 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc.mysql;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.sql.SQLException;
-import java.text.ParseException;
-import java.util.Date;
-import java.util.concurrent.TimeUnit;
-
-import javax.sql.DataSource;
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCacheFactory;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.TableState;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.dsfactory.DataSourceFactory;
-import org.apache.commons.jcs.auxiliary.disk.jdbc.mysql.util.ScheduleParser;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This factory should create mysql disk caches.
- * <p>
- * @author Aaron Smuts
- */
-public class MySQLDiskCacheFactory
-    extends JDBCDiskCacheFactory
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( MySQLDiskCacheFactory.class );
-
-    /**
-     * This factory method should create an instance of the mysqlcache.
-     * <p>
-     * @param rawAttr specific cache configuration attributes
-     * @param compositeCacheManager the global cache manager
-     * @param cacheEventLogger a specific logger for cache events
-     * @param elementSerializer a serializer for cache elements
-     * @return MySQLDiskCache the cache instance
-     * @throws SQLException if the cache instance could not be created
-     */
-    @Override
-    public <K, V> MySQLDiskCache<K, V> createCache( AuxiliaryCacheAttributes rawAttr,
-            ICompositeCacheManager compositeCacheManager,
-            ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
-            throws SQLException
-    {
-        MySQLDiskCacheAttributes cattr = (MySQLDiskCacheAttributes) rawAttr;
-        TableState tableState = getTableState( cattr.getTableName() );
-        DataSourceFactory dsFactory = getDataSourceFactory(cattr, compositeCacheManager.getConfigurationProperties());
-
-        MySQLDiskCache<K, V> cache = new MySQLDiskCache<K, V>( cattr, dsFactory, tableState, compositeCacheManager );
-        cache.setCacheEventLogger( cacheEventLogger );
-        cache.setElementSerializer( elementSerializer );
-
-        // create a shrinker if we need it.
-        createShrinkerWhenNeeded( cattr, cache );
-        scheduleOptimizations( cattr, tableState, cache.getDataSource() );
-
-        return cache;
-
-    }
-
-    /**
-     * For each time in the optimization schedule, this calls schedule Optimization.
-     * <p>
-     * @param attributes configuration properties.
-     * @param tableState for noting optimization in progress, etc.
-     * @param ds the DataSource
-     */
-    protected void scheduleOptimizations( MySQLDiskCacheAttributes attributes, TableState tableState, DataSource ds  )
-    {
-        if ( attributes != null )
-        {
-            if ( attributes.getOptimizationSchedule() != null )
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Will try to configure optimization for table [" + attributes.getTableName()
-                        + "] on schedule [" + attributes.getOptimizationSchedule() + "]" );
-                }
-
-                MySQLTableOptimizer optimizer = new MySQLTableOptimizer( attributes, tableState, ds );
-
-                // loop through the dates.
-                try
-                {
-                    Date[] dates = ScheduleParser.createDatesForSchedule( attributes.getOptimizationSchedule() );
-                    if ( dates != null )
-                    {
-                        for ( int i = 0; i < dates.length; i++ )
-                        {
-                            this.scheduleOptimization( dates[i], optimizer );
-                        }
-                    }
-                }
-                catch ( ParseException e )
-                {
-                    log.warn( "Problem creating optimization schedule for table [" + attributes.getTableName() + "]", e );
-                }
-            }
-            else
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Optimization is not configured for table [" + attributes.getTableName() + "]" );
-                }
-            }
-        }
-    }
-
-    /**
-     * This takes in a single time and schedules the optimizer to be called at that time every day.
-     * <p>
-     * @param startTime -- HH:MM:SS format
-     * @param optimizer
-     */
-    protected void scheduleOptimization( Date startTime, MySQLTableOptimizer optimizer )
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "startTime [" + startTime + "] for optimizer " + optimizer );
-        }
-
-        // get the runnable from the factory
-        OptimizerTask runnable = new OptimizerTask( optimizer );
-        Date now = new Date();
-        long initialDelay = startTime.getTime() - now.getTime();
-
-        // have the daemon execute our runnable
-        getScheduledExecutorService().scheduleAtFixedRate(runnable, initialDelay, 86400000L, TimeUnit.MILLISECONDS );
-    }
-
-    /**
-     * This calls the optimizers' optimize table method. This is used by the timer.
-     * <p>
-     * @author Aaron Smuts
-     */
-    private static class OptimizerTask
-        implements Runnable
-    {
-        /** Handles optimization */
-        private MySQLTableOptimizer optimizer = null;
-
-        /**
-         * Get a handle on the optimizer.
-         * <p>
-         * @param optimizer
-         */
-        public OptimizerTask( MySQLTableOptimizer optimizer )
-        {
-            this.optimizer = optimizer;
-        }
-
-        /**
-         * This calls optimize on the optimizer.
-         * <p>
-         * @see java.lang.Runnable#run()
-         */
-        @Override
-        public void run()
-        {
-            if ( optimizer != null )
-            {
-                boolean success = optimizer.optimizeTable();
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Optimization success status [" + success + "]" );
-                }
-            }
-            else
-            {
-                log.warn( "OptimizerRunner: The optimizer is null.  Could not optimize table." );
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLTableOptimizer.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLTableOptimizer.java
deleted file mode 100644
index 23f9101..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLTableOptimizer.java
+++ /dev/null
@@ -1,324 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc.mysql;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-import javax.sql.DataSource;
-
-import org.apache.commons.jcs.auxiliary.disk.jdbc.TableState;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * The MySQL Table Optimizer can optimize MySQL tables. It knows how to optimize for MySQL databases
- * in particular and how to repair the table if it is corrupted in the process.
- * <p>
- * We will probably be able to abstract out a generic optimizer interface from this class in the
- * future.
- * <p>
- * @author Aaron Smuts
- */
-public class MySQLTableOptimizer
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( MySQLTableOptimizer.class );
-
-    /** The data source */
-    private DataSource dataSource = null;
-
-    /** The name of the table. */
-    private String tableName = null;
-
-    /** optimizing, etc. */
-    private TableState tableState;
-
-    /**
-     * This constructs an optimizer with the disk cacn properties.
-     * <p>
-     * @param attributes
-     * @param tableState We mark the table status as optimizing when this is happening.
-     * @param dataSource access to the database
-     */
-    public MySQLTableOptimizer( MySQLDiskCacheAttributes attributes, TableState tableState, DataSource dataSource )
-    {
-        setTableName( attributes.getTableName() );
-
-        this.tableState = tableState;
-        this.dataSource = dataSource;
-    }
-
-    /**
-     * A scheduler will call this method. When it is called the table state is marked as optimizing.
-     * TODO we need to verify that no deletions are running before we call optimize. We should wait
-     * if a deletion is in progress.
-     * <p>
-     * This restores when there is an optimization error. The error output looks like this:
-     *
-     * <pre>
-     *           mysql> optimize table JCS_STORE_FLIGHT_OPTION_ITINERARY;
-     *               +---------------------------------------------+----------+----------+---------------------+
-     *               | Table                                       | Op       | Msg_type | Msg_text            |
-     *               +---------------------------------------------+----------+----------+---------------------+
-     *               | jcs_cache.JCS_STORE_FLIGHT_OPTION_ITINERARY | optimize | error    | 2 when fixing table |
-     *               | jcs_cache.JCS_STORE_FLIGHT_OPTION_ITINERARY | optimize | status   | Operation failed    |
-     *               +---------------------------------------------+----------+----------+---------------------+
-     *               2 rows in set (51.78 sec)
-     * </pre>
-     *
-     * A successful repair response looks like this:
-     *
-     * <pre>
-     *        mysql> REPAIR TABLE JCS_STORE_FLIGHT_OPTION_ITINERARY;
-     *            +---------------------------------------------+--------+----------+----------------------------------------------+
-     *            | Table                                       | Op     | Msg_type | Msg_text                                     |
-     *            +---------------------------------------------+--------+----------+----------------------------------------------+
-     *            | jcs_cache.JCS_STORE_FLIGHT_OPTION_ITINERARY | repair | error    | 2 when fixing table                          |
-     *            | jcs_cache.JCS_STORE_FLIGHT_OPTION_ITINERARY | repair | warning  | Number of rows changed from 131276 to 260461 |
-     *            | jcs_cache.JCS_STORE_FLIGHT_OPTION_ITINERARY | repair | status   | OK                                           |
-     *            +---------------------------------------------+--------+----------+----------------------------------------------+
-     *            3 rows in set (3 min 5.94 sec)
-     * </pre>
-     *
-     * A successful optimization looks like this:
-     *
-     * <pre>
-     *       mysql> optimize table JCS_STORE_DEFAULT;
-     *           +-----------------------------+----------+----------+----------+
-     *           | Table                       | Op       | Msg_type | Msg_text |
-     *           +-----------------------------+----------+----------+----------+
-     *           | jcs_cache.JCS_STORE_DEFAULT | optimize | status   | OK       |
-     *           +-----------------------------+----------+----------+----------+
-     *           1 row in set (1.10 sec)
-     * </pre>
-     * @return true if it worked
-     */
-    public boolean optimizeTable()
-    {
-        long start = System.currentTimeMillis();
-        boolean success = false;
-
-        if ( tableState.getState() == TableState.OPTIMIZATION_RUNNING )
-        {
-            log
-                .warn( "Skipping optimization.  Optimize was called, but the table state indicates that an optimization is currently running." );
-            return false;
-        }
-
-        try
-        {
-            tableState.setState( TableState.OPTIMIZATION_RUNNING );
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Optimizing table [" + this.getTableName() + "]" );
-            }
-
-            Connection con;
-            try
-            {
-                con = dataSource.getConnection();
-            }
-            catch ( SQLException e )
-            {
-                log.error( "Problem getting connection.", e );
-                return false;
-            }
-
-            try
-            {
-                // TEST
-                Statement sStatement = null;
-                try
-                {
-                    sStatement = con.createStatement();
-
-                    ResultSet rs = sStatement.executeQuery( "optimize table " + this.getTableName() );
-
-                    // first row is error, then status
-                    // if there is only one row in the result set, everything
-                    // should be fine.
-                    // This may be mysql version specific.
-                    if ( rs.next() )
-                    {
-                        String status = rs.getString( "Msg_type" );
-                        String message = rs.getString( "Msg_text" );
-
-                        if ( log.isInfoEnabled() )
-                        {
-                            log.info( "Message Type: " + status );
-                            log.info( "Message: " + message );
-                        }
-
-                        if ( "error".equals( status ) )
-                        {
-                            log.warn( "Optimization was in error. Will attempt to repair the table. Message: "
-                                + message );
-
-                            // try to repair the table.
-                            success = repairTable( sStatement );
-                        }
-                        else
-                        {
-                            success = true;
-                        }
-                    }
-
-                    // log the table status
-                    String statusString = getTableStatus( sStatement );
-                    if ( log.isInfoEnabled() )
-                    {
-                        log.info( "Table status after optimizing table [" + this.getTableName() + "]\n" + statusString );
-                    }
-                }
-                catch ( SQLException e )
-                {
-                    log.error( "Problem optimizing table [" + this.getTableName() + "]", e );
-                    return false;
-                }
-                finally
-                {
-                    if (sStatement != null)
-                    {
-                        try
-                        {
-                            sStatement.close();
-                        }
-                        catch ( SQLException e )
-                        {
-                            log.error( "Problem closing statement.", e );
-                        }
-                    }
-                }
-            }
-            finally
-            {
-                try
-                {
-                    con.close();
-                }
-                catch ( SQLException e )
-                {
-                    log.error( "Problem closing connection.", e );
-                }
-            }
-        }
-        finally
-        {
-            tableState.setState( TableState.FREE );
-
-            long end = System.currentTimeMillis();
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Optimization of table [" + this.getTableName() + "] took " + ( end - start ) + " ms." );
-            }
-        }
-
-        return success;
-    }
-
-    /**
-     * This calls show table status and returns the result as a String.
-     * <p>
-     * @param sStatement
-     * @return String
-     * @throws SQLException
-     */
-    protected String getTableStatus( Statement sStatement )
-        throws SQLException
-    {
-        ResultSet statusResultSet = sStatement.executeQuery( "show table status" );
-        StringBuilder statusString = new StringBuilder();
-        int numColumns = statusResultSet.getMetaData().getColumnCount();
-        while ( statusResultSet.next() )
-        {
-            statusString.append( "\n" );
-            for ( int i = 1; i <= numColumns; i++ )
-            {
-                statusString.append( statusResultSet.getMetaData().getColumnLabel( i ) + " ["
-                    + statusResultSet.getString( i ) + "]  |  " );
-            }
-        }
-        return statusString.toString();
-    }
-
-    /**
-     * This is called if the optimization is in error.
-     * <p>
-     * It looks for "OK" in response. If it find "OK" as a message in any result set row, it returns
-     * true. Otherwise we assume that the repair failed.
-     * <p>
-     * @param sStatement
-     * @return true if successful
-     * @throws SQLException
-     */
-    protected boolean repairTable( Statement sStatement )
-        throws SQLException
-    {
-        boolean success = false;
-
-        // if( message != null && message.indexOf( ) )
-        ResultSet repairResult = sStatement.executeQuery( "repair table " + this.getTableName() );
-        StringBuilder repairString = new StringBuilder();
-        int numColumns = repairResult.getMetaData().getColumnCount();
-        while ( repairResult.next() )
-        {
-            for ( int i = 1; i <= numColumns; i++ )
-            {
-                repairString.append( repairResult.getMetaData().getColumnLabel( i ) + " [" + repairResult.getString( i )
-                    + "]  |  " );
-            }
-
-            String message = repairResult.getString( "Msg_text" );
-            if ( "OK".equals( message ) )
-            {
-                success = true;
-            }
-        }
-        if ( log.isInfoEnabled() )
-        {
-            log.info( repairString );
-        }
-
-        if ( !success )
-        {
-            log.warn( "Failed to repair the table. " + repairString );
-        }
-        return success;
-    }
-
-    /**
-     * @param tableName The tableName to set.
-     */
-    public void setTableName( String tableName )
-    {
-        this.tableName = tableName;
-    }
-
-    /**
-     * @return Returns the tableName.
-     */
-    public String getTableName()
-    {
-        return tableName;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/util/ScheduleParser.java b/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/util/ScheduleParser.java
deleted file mode 100644
index 4e973e2..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/util/ScheduleParser.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.apache.commons.jcs.auxiliary.disk.jdbc.mysql.util;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.StringTokenizer;
-
-/**
- * Parses the very simple schedule format.
- * <p>
- * @author Aaron Smuts
- */
-public class ScheduleParser
-{
-    /**
-     * For each date time that is separated by a comma in the
-     * OptimizationSchedule, create a date and add it to an array of dates.
-     * <p>
-     * @param schedule
-     * @return Date[]
-     * @throws ParseException
-     */
-    public static Date[] createDatesForSchedule( String schedule )
-        throws ParseException
-    {
-        if ( schedule == null )
-        {
-            throw new ParseException( "Cannot create schedules for a null String.", 0 );
-        }
-
-        StringTokenizer toker = new StringTokenizer( schedule, "," );
-        Date[] dates = new Date[toker.countTokens()];
-        int cnt = 0;
-        while ( toker.hasMoreTokens() )
-        {
-            String time = toker.nextToken();
-            dates[cnt] = getDateForSchedule( time );
-            cnt++;
-        }
-        return dates;
-    }
-
-    /**
-     * For a single string it creates a date that is the next time this hh:mm:ss
-     * combo will be seen.
-     * <p>
-     * @param startTime
-     * @return Date
-     * @throws ParseException
-     */
-    public static Date getDateForSchedule( String startTime )
-        throws ParseException
-    {
-        if ( startTime == null )
-        {
-            throw new ParseException( "Cannot create date for a null String.", 0 );
-        }
-
-        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
-        Date date = sdf.parse(startTime);
-        Calendar cal = Calendar.getInstance();
-        // This will result in a date of 1/1/1970
-        cal.setTime(date);
-
-        Calendar now = Calendar.getInstance();
-        cal.set(now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH));
-
-        // if the date is less than now, add a day.
-        if ( cal.before( now ) )
-        {
-            cal.add( Calendar.DAY_OF_MONTH, 1 );
-        }
-
-        return cal.getTime();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/disk/package.html b/src/org/apache/commons/jcs/auxiliary/disk/package.html
deleted file mode 100644
index 668a141..0000000
--- a/src/org/apache/commons/jcs/auxiliary/disk/package.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-    The primary disk auxiliary. Objects are serialized to a file on disk.
-    This implementation uses memory keys and performs quite well.
-    Recomended for most cases.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCache.java b/src/org/apache/commons/jcs/auxiliary/lateral/LateralCache.java
deleted file mode 100644
index c02f21f..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCache.java
+++ /dev/null
@@ -1,454 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheEventLogging;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes;
-import org.apache.commons.jcs.engine.CacheInfo;
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.ZombieCacheServiceNonLocal;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.jcs.engine.behavior.IZombie;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Lateral distributor. Returns null on get by default. Net search not implemented.
- */
-public class LateralCache<K, V>
-    extends AbstractAuxiliaryCacheEventLogging<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( LateralCache.class );
-
-    /** generalize this, use another interface */
-    private final ILateralCacheAttributes lateralCacheAttributes;
-
-    /** The region name */
-    final String cacheName;
-
-    /** either http, socket.udp, or socket.tcp can set in config */
-    private ICacheServiceNonLocal<K, V> lateralCacheService;
-
-    /** Monitors the connection. */
-    private LateralCacheMonitor monitor;
-
-    /**
-     * Constructor for the LateralCache object
-     * <p>
-     * @param cattr
-     * @param lateral
-     * @param monitor
-     */
-    public LateralCache( ILateralCacheAttributes cattr, ICacheServiceNonLocal<K, V> lateral, LateralCacheMonitor monitor )
-    {
-        this.cacheName = cattr.getCacheName();
-        this.lateralCacheAttributes = cattr;
-        this.lateralCacheService = lateral;
-        this.monitor = monitor;
-    }
-
-    /**
-     * Constructor for the LateralCache object
-     * <p>
-     * @param cattr
-     */
-    public LateralCache( ILateralCacheAttributes cattr )
-    {
-        this.cacheName = cattr.getCacheName();
-        this.lateralCacheAttributes = cattr;
-    }
-
-    /**
-     * Update lateral.
-     * <p>
-     * @param ce
-     * @throws IOException
-     */
-    @Override
-    protected void processUpdate( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        try
-        {
-            if (ce != null)
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "update: lateral = [" + lateralCacheService + "], " + "CacheInfo.listenerId = "
-                        + CacheInfo.listenerId );
-                }
-                lateralCacheService.update( ce, CacheInfo.listenerId );
-            }
-        }
-        catch ( IOException ex )
-        {
-            handleException( ex, "Failed to put [" + ce.getKey() + "] to " + ce.getCacheName() + "@" + lateralCacheAttributes );
-        }
-    }
-
-    /**
-     * The performance costs are too great. It is not recommended that you enable lateral gets.
-     * <p>
-     * @param key
-     * @return ICacheElement<K, V> or null
-     * @throws IOException
-     */
-    @Override
-    protected ICacheElement<K, V> processGet( K key )
-        throws IOException
-    {
-        ICacheElement<K, V> obj = null;
-
-        if ( this.lateralCacheAttributes.getPutOnlyMode() )
-        {
-            return null;
-        }
-        try
-        {
-            obj = lateralCacheService.get( cacheName, key );
-        }
-        catch ( Exception e )
-        {
-            log.error( e );
-            handleException( e, "Failed to get [" + key + "] from " + lateralCacheAttributes.getCacheName() + "@" + lateralCacheAttributes );
-        }
-        return obj;
-    }
-
-    /**
-     * @param pattern
-     * @return A map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    protected Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
-        throws IOException
-    {
-        if ( this.lateralCacheAttributes.getPutOnlyMode() )
-        {
-            return Collections.emptyMap();
-        }
-        try
-        {
-            return lateralCacheService.getMatching( cacheName, pattern );
-        }
-        catch ( IOException e )
-        {
-            log.error( e );
-            handleException( e, "Failed to getMatching [" + pattern + "] from " + lateralCacheAttributes.getCacheName() + "@" + lateralCacheAttributes );
-            return Collections.emptyMap();
-        }
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    protected Map<K, ICacheElement<K, V>> processGetMultiple( Set<K> keys )
-        throws IOException
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-
-        if ( keys != null && !keys.isEmpty() )
-        {
-            for (K key : keys)
-            {
-                ICacheElement<K, V> element = get( key );
-
-                if ( element != null )
-                {
-                    elements.put( key, element );
-                }
-            }
-        }
-
-        return elements;
-    }
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet() throws IOException
-    {
-        try
-        {
-            return lateralCacheService.getKeySet( cacheName );
-        }
-        catch ( IOException ex )
-        {
-            handleException( ex, "Failed to get key set from " + lateralCacheAttributes.getCacheName() + "@"
-                + lateralCacheAttributes );
-        }
-        return Collections.emptySet();
-    }
-
-    /**
-     * Synchronously remove from the remote cache; if failed, replace the remote handle with a
-     * zombie.
-     * <p>
-     * @param key
-     * @return false always
-     * @throws IOException
-     */
-    @Override
-    protected boolean processRemove( K key )
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "removing key:" + key );
-        }
-
-        try
-        {
-            lateralCacheService.remove( cacheName, key, CacheInfo.listenerId );
-        }
-        catch ( IOException ex )
-        {
-            handleException( ex, "Failed to remove " + key + " from " + lateralCacheAttributes.getCacheName() + "@" + lateralCacheAttributes );
-        }
-        return false;
-    }
-
-    /**
-     * Synchronously removeAll from the remote cache; if failed, replace the remote handle with a
-     * zombie.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    protected void processRemoveAll()
-        throws IOException
-    {
-        try
-        {
-            lateralCacheService.removeAll( cacheName, CacheInfo.listenerId );
-        }
-        catch ( IOException ex )
-        {
-            handleException( ex, "Failed to remove all from " + lateralCacheAttributes.getCacheName() + "@" + lateralCacheAttributes );
-        }
-    }
-
-    /**
-     * Synchronously dispose the cache. Not sure we want this.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    protected void processDispose()
-        throws IOException
-    {
-        log.debug( "Disposing of lateral cache" );
-
-        ///* HELP: This section did nothing but generate compilation warnings.
-        // TODO: may limit this functionality. It is dangerous.
-        // asmuts -- Added functionality to help with warnings. I'm not getting
-        // any.
-        try
-        {
-            lateralCacheService.dispose( this.lateralCacheAttributes.getCacheName() );
-            // Should remove connection
-        }
-        catch ( IOException ex )
-        {
-            log.error( "Couldn't dispose", ex );
-            handleException( ex, "Failed to dispose " + lateralCacheAttributes.getCacheName() );
-        }
-    }
-
-    /**
-     * Returns the cache status.
-     * <p>
-     * @return The status value
-     */
-    @Override
-    public CacheStatus getStatus()
-    {
-        return this.lateralCacheService instanceof IZombie ? CacheStatus.ERROR : CacheStatus.ALIVE;
-    }
-
-    /**
-     * Returns the current cache size.
-     * <p>
-     * @return The size value
-     */
-    @Override
-    public int getSize()
-    {
-        return 0;
-    }
-
-    /**
-     * Gets the cacheType attribute of the LateralCache object
-     * <p>
-     * @return The cacheType value
-     */
-    @Override
-    public CacheType getCacheType()
-    {
-        return CacheType.LATERAL_CACHE;
-    }
-
-    /**
-     * Gets the cacheName attribute of the LateralCache object
-     * <p>
-     * @return The cacheName value
-     */
-    @Override
-    public String getCacheName()
-    {
-        return cacheName;
-    }
-
-    /**
-     * Not yet sure what to do here.
-     * <p>
-     * @param ex
-     * @param msg
-     * @throws IOException
-     */
-    private void handleException( Exception ex, String msg )
-        throws IOException
-    {
-        log.error( "Disabling lateral cache due to error " + msg, ex );
-
-        lateralCacheService = new ZombieCacheServiceNonLocal<K, V>( lateralCacheAttributes.getZombieQueueMaxSize() );
-        // may want to flush if region specifies
-        // Notify the cache monitor about the error, and kick off the recovery
-        // process.
-        monitor.notifyError();
-
-        // could stop the net search if it is built and try to reconnect?
-        if ( ex instanceof IOException )
-        {
-            throw (IOException) ex;
-        }
-        throw new IOException( ex.getMessage() );
-    }
-
-    /**
-     * Replaces the current remote cache service handle with the given handle.
-     * <p>
-     * @param restoredLateral
-     */
-    public void fixCache( ICacheServiceNonLocal<K, V> restoredLateral )
-    {
-        if ( this.lateralCacheService != null && this.lateralCacheService instanceof ZombieCacheServiceNonLocal )
-        {
-            ZombieCacheServiceNonLocal<K, V> zombie = (ZombieCacheServiceNonLocal<K, V>) this.lateralCacheService;
-            this.lateralCacheService = restoredLateral;
-            try
-            {
-                zombie.propagateEvents( restoredLateral );
-            }
-            catch ( Exception e )
-            {
-                try
-                {
-                    handleException( e, "Problem propagating events from Zombie Queue to new Lateral Service." );
-                }
-                catch ( IOException e1 )
-                {
-                    // swallow, since this is just expected kick back.  Handle always throws
-                }
-            }
-        }
-        else
-        {
-            this.lateralCacheService = restoredLateral;
-        }
-    }
-
-    /**
-     * getStats
-     * <p>
-     * @return String
-     */
-    @Override
-    public String getStats()
-    {
-        return "";
-    }
-
-    /**
-     * @return Returns the AuxiliaryCacheAttributes.
-     */
-    @Override
-    public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
-    {
-        return lateralCacheAttributes;
-    }
-
-    /**
-     * @return debugging data.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\n LateralCache " );
-        buf.append( "\n Cache Name [" + lateralCacheAttributes.getCacheName() + "]" );
-        buf.append( "\n cattr =  [" + lateralCacheAttributes + "]" );
-        return buf.toString();
-    }
-
-    /**
-     * @return extra data.
-     */
-    @Override
-    public String getEventLoggingExtraInfo()
-    {
-        return null;
-    }
-
-    /**
-     * The NoWait on top does not call out to here yet.
-     * <p>
-     * @return almost nothing
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "LateralCache" );
-        return stats;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheAttributes.java
deleted file mode 100644
index fba67f3..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheAttributes.java
+++ /dev/null
@@ -1,292 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes;
-
-/**
- * This class stores attributes for all of the available lateral cache auxiliaries.
- */
-public class LateralCacheAttributes
-    extends AbstractAuxiliaryCacheAttributes
-    implements ILateralCacheAttributes
-{
-    /** Don't change */
-    private static final long serialVersionUID = -3408449508837393660L;
-
-    /** Default receive setting */
-    private static final boolean DEFAULT_RECEIVE = true;
-
-    /** THe type of lateral */
-    private String transmissionTypeName = "UDP";
-
-    /** indicates the lateral type, this needs to change */
-    private Type transmissionType = Type.UDP;
-
-    /** The http servers */
-    private String httpServers;
-
-    /** used to identify the service that this manager will be operating on */
-    private String httpServer = "";
-
-    /** this needs to change */
-    private String udpMulticastAddr = "228.5.6.7";
-
-    /** this needs to change */
-    private int udpMulticastPort = 6789;
-
-    /** this needs to change */
-    private int httpListenerPort = 8080;
-
-    /** disables gets from laterals */
-    private boolean putOnlyMode = true;
-
-    /**
-     * do we receive and broadcast or only broadcast this is useful when you don't want to get any
-     * notifications
-     */
-    private boolean receive = DEFAULT_RECEIVE;
-
-    /** If the primary fails, we will queue items before reconnect.  This limits the number of items that can be queued. */
-    private int zombieQueueMaxSize = DEFAULT_ZOMBIE_QUEUE_MAX_SIZE;
-
-    /**
-     * Sets the httpServer attribute of the LateralCacheAttributes object
-     * <P>
-     * @param val The new httpServer value
-     */
-    @Override
-    public void setHttpServer( String val )
-    {
-        httpServer = val;
-    }
-
-    /**
-     * Gets the httpServer attribute of the LateralCacheAttributes object
-     * @return The httpServer value
-     */
-    @Override
-    public String getHttpServer()
-    {
-        return httpServer;
-    }
-
-    /**
-     * Sets the httpServers attribute of the LateralCacheAttributes object
-     * @param val The new httpServers value
-     */
-    @Override
-    public void setHttpServers( String val )
-    {
-        httpServers = val;
-    }
-
-    /**
-     * Gets the httpSrvers attribute of the LateralCacheAttributes object
-     * @return The httpServers value
-     */
-    @Override
-    public String getHttpServers()
-    {
-        return httpServers;
-    }
-
-    /**
-     * Sets the httpListenerPort attribute of the ILateralCacheAttributes object
-     * @param val The new tcpListenerPort value
-     */
-    @Override
-    public void setHttpListenerPort( int val )
-    {
-        this.httpListenerPort = val;
-    }
-
-    /**
-     * Gets the httpListenerPort attribute of the ILateralCacheAttributes object
-     * @return The httpListenerPort value
-     */
-    @Override
-    public int getHttpListenerPort()
-    {
-        return this.httpListenerPort;
-    }
-
-    /**
-     * Sets the udpMulticastAddr attribute of the LateralCacheAttributes object
-     * @param val The new udpMulticastAddr value
-     */
-    @Override
-    public void setUdpMulticastAddr( String val )
-    {
-        udpMulticastAddr = val;
-    }
-
-    /**
-     * Gets the udpMulticastAddr attribute of the LateralCacheAttributes object
-     * @return The udpMulticastAddr value
-     */
-    @Override
-    public String getUdpMulticastAddr()
-    {
-        return udpMulticastAddr;
-    }
-
-    /**
-     * Sets the udpMulticastPort attribute of the LateralCacheAttributes object
-     * @param val The new udpMulticastPort value
-     */
-    @Override
-    public void setUdpMulticastPort( int val )
-    {
-        udpMulticastPort = val;
-    }
-
-    /**
-     * Gets the udpMulticastPort attribute of the LateralCacheAttributes object
-     * @return The udpMulticastPort value
-     */
-    @Override
-    public int getUdpMulticastPort()
-    {
-        return udpMulticastPort;
-    }
-
-    /**
-     * Sets the transmissionType attribute of the LateralCacheAttributes object
-     * @param val The new transmissionType value
-     */
-    @Override
-    public void setTransmissionType( Type val )
-    {
-        this.transmissionType = val;
-        this.transmissionTypeName = val.toString();
-    }
-
-    /**
-     * Gets the transmissionType attribute of the LateralCacheAttributes object
-     * @return The transmissionType value
-     */
-    @Override
-    public Type getTransmissionType()
-    {
-        return this.transmissionType;
-    }
-
-    /**
-     * Sets the transmissionTypeName attribute of the LateralCacheAttributes object
-     * @param val The new transmissionTypeName value
-     */
-    @Override
-    public void setTransmissionTypeName( String val )
-    {
-        this.transmissionTypeName = val;
-        this.transmissionType = Type.valueOf(val);
-    }
-
-    /**
-     * Gets the transmissionTypeName attribute of the LateralCacheAttributes object
-     * @return The transmissionTypeName value
-     */
-    @Override
-    public String getTransmissionTypeName()
-    {
-        return this.transmissionTypeName;
-    }
-
-    /**
-     * Sets the outgoingOnlyMode attribute of the ILateralCacheAttributes. When this is true the
-     * lateral cache will only issue put and remove order and will not try to retrieve elements from
-     * other lateral caches.
-     * @param val The new transmissionTypeName value
-     */
-    @Override
-    public void setPutOnlyMode( boolean val )
-    {
-        this.putOnlyMode = val;
-    }
-
-    /**
-     * @return The outgoingOnlyMode value. Stops gets from going remote.
-     */
-    @Override
-    public boolean getPutOnlyMode()
-    {
-        return putOnlyMode;
-    }
-
-    /**
-     * @param receive The receive to set.
-     */
-    @Override
-    public void setReceive( boolean receive )
-    {
-        this.receive = receive;
-    }
-
-    /**
-     * @return Returns the receive.
-     */
-    @Override
-    public boolean isReceive()
-    {
-        return receive;
-    }
-
-    /**
-     * The number of elements the zombie queue will hold. This queue is used to store events if we
-     * loose our connection with the server.
-     * <p>
-     * @param zombieQueueMaxSize The zombieQueueMaxSize to set.
-     */
-    @Override
-    public void setZombieQueueMaxSize( int zombieQueueMaxSize )
-    {
-        this.zombieQueueMaxSize = zombieQueueMaxSize;
-    }
-
-    /**
-     * The number of elements the zombie queue will hold. This queue is used to store events if we
-     * loose our connection with the server.
-     * <p>
-     * @return Returns the zombieQueueMaxSize.
-     */
-    @Override
-    public int getZombieQueueMaxSize()
-    {
-        return zombieQueueMaxSize;
-    }
-
-    /**
-     * @return debug string.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        //buf.append( "cacheName=" + cacheName + "\n" );
-        //buf.append( "putOnlyMode=" + putOnlyMode + "\n" );
-        //buf.append( "transmissionTypeName=" + transmissionTypeName + "\n" );
-        //buf.append( "transmissionType=" + transmissionType + "\n" );
-        //buf.append( "tcpServer=" + tcpServer + "\n" );
-        buf.append( transmissionTypeName + httpServer + udpMulticastAddr + String.valueOf( udpMulticastPort ) );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheMonitor.java b/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheMonitor.java
deleted file mode 100644
index bbe88ad..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheMonitor.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheMonitor;
-import org.apache.commons.jcs.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory;
-import org.apache.commons.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes;
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.ZombieCacheServiceNonLocal;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-
-/**
- * Used to monitor and repair any failed connection for the lateral cache service. By default the
- * monitor operates in a failure driven mode. That is, it goes into a wait state until there is an
- * error. Upon the notification of a connection error, the monitor changes to operate in a time
- * driven mode. That is, it attempts to recover the connections on a periodic basis. When all failed
- * connections are restored, it changes back to the failure driven mode.
- */
-public class LateralCacheMonitor extends AbstractAuxiliaryCacheMonitor
-{
-    /**
-     * Map of caches to monitor
-     */
-    private ConcurrentHashMap<String, LateralCacheNoWait<?, ?>> caches;
-
-    /**
-     * Reference to the factory
-     */
-    private LateralTCPCacheFactory factory;
-
-    /**
-     * Allows close classes, ie testers to set the idle period to something testable.
-     * <p>
-     * @param idlePeriod
-     */
-    protected static void forceShortIdlePeriod( long idlePeriod )
-    {
-        LateralCacheMonitor.idlePeriod = idlePeriod;
-    }
-
-    /**
-     * Constructor for the LateralCacheMonitor object
-     * <p>
-     * It's the clients responsibility to decide how many of these there will be.
-     *
-     * @param factory a reference to the factory that manages the service instances
-     */
-    public LateralCacheMonitor(LateralTCPCacheFactory factory)
-    {
-        super("JCS-LateralCacheMonitor");
-        this.factory = factory;
-        this.caches = new ConcurrentHashMap<String, LateralCacheNoWait<?,?>>();
-        setIdlePeriod(20000L);
-    }
-
-    /**
-     * Add a cache to be monitored
-     *
-     * @param cache the cache
-     */
-    public void addCache(LateralCacheNoWait<?, ?> cache)
-    {
-        this.caches.put(cache.getCacheName(), cache);
-
-        // if not yet started, go ahead
-        if (this.getState() == Thread.State.NEW)
-        {
-            this.start();
-        }
-    }
-
-    /**
-     * Clean up all resources before shutdown
-     */
-    @Override
-    public void dispose()
-    {
-        this.caches.clear();
-    }
-
-    /**
-     * Main processing method for the LateralCacheMonitor object
-     */
-    @Override
-    public void doWork()
-    {
-        // Monitor each cache instance one after the other.
-        log.info( "Number of caches to monitor = " + caches.size() );
-        //for
-        for (Map.Entry<String, LateralCacheNoWait<?, ?>> entry : caches.entrySet())
-        {
-            String cacheName = entry.getKey();
-
-            @SuppressWarnings("unchecked") // Downcast to match service
-            LateralCacheNoWait<Object, Object> c = (LateralCacheNoWait<Object, Object>) entry.getValue();
-            if ( c.getStatus() == CacheStatus.ERROR )
-            {
-                log.info( "Found LateralCacheNoWait in error, " + cacheName );
-
-                ITCPLateralCacheAttributes lca = (ITCPLateralCacheAttributes)c.getAuxiliaryCacheAttributes();
-
-                // Get service instance
-                ICacheServiceNonLocal<Object, Object> cacheService = factory.getCSNLInstance(lca);
-
-                // If we can't fix them, just skip and re-try in the
-                // next round.
-                if (cacheService instanceof ZombieCacheServiceNonLocal)
-                {
-                    continue;
-                }
-
-                c.fixCache(cacheService);
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWait.java b/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWait.java
deleted file mode 100644
index 59a89fc..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWait.java
+++ /dev/null
@@ -1,436 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.engine.CacheAdaptor;
-import org.apache.commons.jcs.engine.CacheEventQueueFactory;
-import org.apache.commons.jcs.engine.CacheInfo;
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheEventQueue;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-import java.rmi.UnmarshalException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Used to queue up update requests to the underlying cache. These requests will be processed in
- * their order of arrival via the cache event queue processor.
- */
-public class LateralCacheNoWait<K, V>
-    extends AbstractAuxiliaryCache<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( LateralCacheNoWait.class );
-
-    /** The cache */
-    private final LateralCache<K, V> cache;
-
-    /** The event queue */
-    private ICacheEventQueue<K, V> eventQueue;
-
-    /** times get called */
-    private int getCount = 0;
-
-    /** times remove called */
-    private int removeCount = 0;
-
-    /** times put called */
-    private int putCount = 0;
-
-    /**
-     * Constructs with the given lateral cache, and fires up an event queue for asynchronous
-     * processing.
-     * <p>
-     * @param cache
-     */
-    public LateralCacheNoWait( LateralCache<K, V> cache )
-    {
-        this.cache = cache;
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Constructing LateralCacheNoWait, LateralCache = [" + cache + "]" );
-        }
-
-        CacheEventQueueFactory<K, V> fact = new CacheEventQueueFactory<K, V>();
-        this.eventQueue = fact.createCacheEventQueue( new CacheAdaptor<K, V>( cache ), CacheInfo.listenerId, cache
-            .getCacheName(), cache.getAuxiliaryCacheAttributes().getEventQueuePoolName(), cache
-            .getAuxiliaryCacheAttributes().getEventQueueType() );
-
-        // need each no wait to handle each of its real updates and removes,
-        // since there may
-        // be more than one per cache? alternative is to have the cache
-        // perform updates using a different method that specifies the listener
-        // this.q = new CacheEventQueue(new CacheAdaptor(this),
-        // LateralCacheInfo.listenerId, cache.getCacheName());
-        if ( cache.getStatus() == CacheStatus.ERROR )
-        {
-            eventQueue.destroy();
-        }
-    }
-
-    /**
-     * @param ce
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        putCount++;
-        try
-        {
-            eventQueue.addPutEvent( ce );
-        }
-        catch ( IOException ex )
-        {
-            log.error( ex );
-            eventQueue.destroy();
-        }
-    }
-
-    /**
-     * Synchronously reads from the lateral cache.
-     * <p>
-     * @param key
-     * @return ICacheElement<K, V> if found, else null
-     */
-    @Override
-    public ICacheElement<K, V> get( K key )
-    {
-        getCount++;
-        if ( this.getStatus() != CacheStatus.ERROR )
-        {
-            try
-            {
-                return cache.get( key );
-            }
-            catch ( UnmarshalException ue )
-            {
-                log.debug( "Retrying the get owing to UnmarshalException..." );
-                try
-                {
-                    return cache.get( key );
-                }
-                catch ( IOException ex )
-                {
-                    log.error( "Failed in retrying the get for the second time." );
-                    eventQueue.destroy();
-                }
-            }
-            catch ( IOException ex )
-            {
-                eventQueue.destroy();
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-
-        if ( keys != null && !keys.isEmpty() )
-        {
-            for (K key : keys)
-            {
-                ICacheElement<K, V> element = get( key );
-
-                if ( element != null )
-                {
-                    elements.put( key, element );
-                }
-            }
-        }
-
-        return elements;
-    }
-
-    /**
-     * Synchronously reads from the lateral cache.
-     * <p>
-     * @param pattern
-     * @return ICacheElement<K, V> if found, else empty
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching(String pattern)
-    {
-        getCount++;
-        if ( this.getStatus() != CacheStatus.ERROR )
-        {
-            try
-            {
-                return cache.getMatching( pattern );
-            }
-            catch ( UnmarshalException ue )
-            {
-                log.debug( "Retrying the get owing to UnmarshalException." );
-                try
-                {
-                    return cache.getMatching( pattern );
-                }
-                catch ( IOException ex )
-                {
-                    log.error( "Failed in retrying the get for the second time." );
-                    eventQueue.destroy();
-                }
-            }
-            catch ( IOException ex )
-            {
-                eventQueue.destroy();
-            }
-        }
-        return Collections.emptyMap();
-    }
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet() throws IOException
-    {
-        try
-        {
-            return cache.getKeySet();
-        }
-        catch ( IOException ex )
-        {
-            log.error( ex );
-            eventQueue.destroy();
-        }
-        return Collections.emptySet();
-    }
-
-    /**
-     * Adds a remove request to the lateral cache.
-     * <p>
-     * @param key
-     * @return always false
-     */
-    @Override
-    public boolean remove( K key )
-    {
-        removeCount++;
-        try
-        {
-            eventQueue.addRemoveEvent( key );
-        }
-        catch ( IOException ex )
-        {
-            log.error( ex );
-            eventQueue.destroy();
-        }
-        return false;
-    }
-
-    /** Adds a removeAll request to the lateral cache. */
-    @Override
-    public void removeAll()
-    {
-        try
-        {
-            eventQueue.addRemoveAllEvent();
-        }
-        catch ( IOException ex )
-        {
-            log.error( ex );
-            eventQueue.destroy();
-        }
-    }
-
-    /** Adds a dispose request to the lateral cache. */
-    @Override
-    public void dispose()
-    {
-        try
-        {
-            eventQueue.addDisposeEvent();
-        }
-        catch ( IOException ex )
-        {
-            log.error( ex );
-            eventQueue.destroy();
-        }
-    }
-
-    /**
-     * No lateral invocation.
-     * <p>
-     * @return The size value
-     */
-    @Override
-    public int getSize()
-    {
-        return cache.getSize();
-    }
-
-    /**
-     * No lateral invocation.
-     * <p>
-     * @return The cacheType value
-     */
-    @Override
-    public CacheType getCacheType()
-    {
-        return cache.getCacheType();
-    }
-
-    /**
-     * Returns the asyn cache status. An error status indicates either the lateral connection is not
-     * available, or the asyn queue has been unexpectedly destroyed. No lateral invocation.
-     * <p>
-     * @return The status value
-     */
-    @Override
-    public CacheStatus getStatus()
-    {
-        return eventQueue.isWorking() ? cache.getStatus() : CacheStatus.ERROR;
-    }
-
-    /**
-     * Gets the cacheName attribute of the LateralCacheNoWait object
-     * <p>
-     * @return The cacheName value
-     */
-    @Override
-    public String getCacheName()
-    {
-        return cache.getCacheName();
-    }
-
-    /**
-     * Replaces the lateral cache service handle with the given handle and reset the queue by
-     * starting up a new instance.
-     * <p>
-     * @param lateral
-     */
-    public void fixCache( ICacheServiceNonLocal<K, V> lateral )
-    {
-        cache.fixCache( lateral );
-        resetEventQ();
-    }
-
-    /**
-     * Resets the event q by first destroying the existing one and starting up new one.
-     */
-    public void resetEventQ()
-    {
-        if ( eventQueue.isWorking() )
-        {
-            eventQueue.destroy();
-        }
-        CacheEventQueueFactory<K, V> fact = new CacheEventQueueFactory<K, V>();
-        this.eventQueue = fact.createCacheEventQueue( new CacheAdaptor<K, V>( cache ), CacheInfo.listenerId, cache
-            .getCacheName(), cache.getAuxiliaryCacheAttributes().getEventQueuePoolName(), cache
-            .getAuxiliaryCacheAttributes().getEventQueueType() );
-    }
-
-    /**
-     * @return Returns the AuxiliaryCacheAttributes.
-     */
-    @Override
-    public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
-    {
-        return cache.getAuxiliaryCacheAttributes();
-    }
-
-    /**
-     * getStats
-     * @return String
-     */
-    @Override
-    public String getStats()
-    {
-        return getStatistics().toString();
-    }
-
-    /**
-     * this won't be called since we don't do ICache logging here.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String getEventLoggingExtraInfo()
-    {
-        return "Lateral Cache No Wait";
-    }
-
-    /**
-     * @return statistics about this communication
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "Lateral Cache No Wait" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        // get the stats from the event queue too
-        IStats eqStats = this.eventQueue.getStatistics();
-        elems.addAll(eqStats.getStatElements());
-
-        elems.add(new StatElement<Integer>( "Get Count", Integer.valueOf(this.getCount) ) );
-        elems.add(new StatElement<Integer>( "Remove Count", Integer.valueOf(this.removeCount) ) );
-        elems.add(new StatElement<Integer>( "Put Count", Integer.valueOf(this.putCount) ) );
-        elems.add(new StatElement<AuxiliaryCacheAttributes>( "Attributes", cache.getAuxiliaryCacheAttributes() ) );
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-
-    /**
-     * @return debugging info.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( " LateralCacheNoWait " );
-        buf.append( " Status = " + this.getStatus() );
-        buf.append( " cache = [" + cache.toString() + "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWaitFacade.java b/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWaitFacade.java
deleted file mode 100644
index 0a5d0b2..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWaitFacade.java
+++ /dev/null
@@ -1,533 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes;
-import org.apache.commons.jcs.auxiliary.lateral.behavior.ILateralCacheListener;
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Used to provide access to multiple services under nowait protection. Composite factory should
- * construct LateralCacheNoWaitFacade to give to the composite cache out of caches it constructs
- * from the varies manager to lateral services. Perhaps the lateralcache factory should be able to
- * do this.
- */
-public class LateralCacheNoWaitFacade<K, V>
-    extends AbstractAuxiliaryCache<K, V>
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( LateralCacheNoWaitFacade.class );
-
-    /** The queuing facade to the client. */
-    public LateralCacheNoWait<K, V>[] noWaits;
-
-    /** The region name */
-    private final String cacheName;
-
-    /** A cache listener */
-    private ILateralCacheListener<K, V> listener;
-
-    /** User configurable attributes. */
-    private final ILateralCacheAttributes lateralCacheAttributes;
-
-    /** Disposed state of this facade */
-    private boolean disposed = false;
-
-    /**
-     * Constructs with the given lateral cache, and fires events to any listeners.
-     * <p>
-     * @param noWaits
-     * @param cattr
-     */
-    public LateralCacheNoWaitFacade(ILateralCacheListener<K, V> listener, LateralCacheNoWait<K, V>[] noWaits, ILateralCacheAttributes cattr )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "CONSTRUCTING NO WAIT FACADE" );
-        }
-        this.listener = listener;
-        this.noWaits = noWaits;
-        this.cacheName = cattr.getCacheName();
-        this.lateralCacheAttributes = cattr;
-    }
-
-    /**
-     * Tells you if the no wait is in the list or not.
-     * <p>
-     * @param noWait
-     * @return true if the noWait is in the list.
-     */
-    public boolean containsNoWait( LateralCacheNoWait<K, V> noWait )
-    {
-        for ( int i = 0; i < noWaits.length; i++ )
-        {
-            // we know noWait isn't null
-            if ( noWait.equals( noWaits[i] ) )
-            {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Adds a no wait to the list if it isn't already in the list.
-     * <p>
-     * @param noWait
-     * @return true if it wasn't already contained
-     */
-    public synchronized boolean addNoWait( LateralCacheNoWait<K, V> noWait )
-    {
-        if ( noWait == null )
-        {
-            return false;
-        }
-
-        if ( containsNoWait( noWait ) )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "No Wait already contained, [" + noWait + "]" );
-            }
-            return false;
-        }
-
-        @SuppressWarnings("unchecked") // No generic arrays in java
-        LateralCacheNoWait<K, V>[] newArray = new LateralCacheNoWait[noWaits.length + 1];
-
-        System.arraycopy( noWaits, 0, newArray, 0, noWaits.length );
-
-        // set the last position to the new noWait
-        newArray[noWaits.length] = noWait;
-
-        noWaits = newArray;
-
-        return true;
-    }
-
-    /**
-     * Removes a no wait from the list if it is already there.
-     * <p>
-     * @param noWait
-     * @return true if it was already in the array
-     */
-    public synchronized boolean removeNoWait( LateralCacheNoWait<K, V> noWait )
-    {
-        if ( noWait == null )
-        {
-            return false;
-        }
-
-        int position = -1;
-        for ( int i = 0; i < noWaits.length; i++ )
-        {
-            // we know noWait isn't null
-            if ( noWait.equals( noWaits[i] ) )
-            {
-                position = i;
-                break;
-            }
-        }
-
-        if ( position == -1 )
-        {
-            return false;
-        }
-
-        @SuppressWarnings("unchecked") // No generic arrays in java
-        LateralCacheNoWait<K, V>[] newArray = new LateralCacheNoWait[noWaits.length - 1];
-
-        System.arraycopy( noWaits, 0, newArray, 0, position );
-        if ( noWaits.length != position )
-        {
-            System.arraycopy( noWaits, position + 1, newArray, position, noWaits.length - position - 1 );
-        }
-        noWaits = newArray;
-
-        return true;
-    }
-
-    /**
-     * @param ce
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "updating through lateral cache facade, noWaits.length = " + noWaits.length );
-        }
-        try
-        {
-            for ( int i = 0; i < noWaits.length; i++ )
-            {
-                noWaits[i].update( ce );
-            }
-        }
-        catch ( Exception ex )
-        {
-            log.error( ex );
-        }
-    }
-
-    /**
-     * Synchronously reads from the lateral cache.
-     * <p>
-     * @param key
-     * @return ICacheElement
-     */
-    @Override
-    public ICacheElement<K, V> get( K key )
-    {
-        for ( int i = 0; i < noWaits.length; i++ )
-        {
-            try
-            {
-                ICacheElement<K, V> obj = noWaits[i].get( key );
-
-                if ( obj != null )
-                {
-                    // TODO: return after first success
-                    // could do this simultaneously
-                    // serious blocking risk here
-                    return obj;
-                }
-            }
-            catch ( Exception ex )
-            {
-                log.error( "Failed to get", ex );
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-
-        if ( keys != null && !keys.isEmpty() )
-        {
-            for (K key : keys)
-            {
-                ICacheElement<K, V> element = get( key );
-
-                if ( element != null )
-                {
-                    elements.put( key, element );
-                }
-            }
-        }
-
-        return elements;
-    }
-
-    /**
-     * Synchronously reads from the lateral cache. Get a response from each! This will be slow.
-     * Merge them.
-     * <p>
-     * @param pattern
-     * @return ICacheElement
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching(String pattern)
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-        for ( int i = 0; i < noWaits.length; i++ )
-        {
-            try
-            {
-                elements.putAll( noWaits[i].getMatching( pattern ) );
-            }
-            catch ( Exception ex )
-            {
-                log.error( "Failed to get", ex );
-            }
-        }
-        return elements;
-    }
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet() throws IOException
-    {
-        HashSet<K> allKeys = new HashSet<K>();
-        for ( int i = 0; i < noWaits.length; i++ )
-        {
-            AuxiliaryCache<K, V> aux = noWaits[i];
-            if ( aux != null )
-            {
-                Set<K> keys = aux.getKeySet();
-                if(keys != null)
-                {
-                    allKeys.addAll( keys );
-                }
-            }
-        }
-        return allKeys;
-    }
-
-    /**
-     * Adds a remove request to the lateral cache.
-     * <p>
-     * @param key
-     * @return always false.
-     */
-    @Override
-    public boolean remove( K key )
-    {
-        try
-        {
-            for ( int i = 0; i < noWaits.length; i++ )
-            {
-                noWaits[i].remove( key );
-            }
-        }
-        catch ( Exception ex )
-        {
-            log.error( ex );
-        }
-        return false;
-    }
-
-    /**
-     * Adds a removeAll request to the lateral cache.
-     */
-    @Override
-    public void removeAll()
-    {
-        try
-        {
-            for ( int i = 0; i < noWaits.length; i++ )
-            {
-                noWaits[i].removeAll();
-            }
-        }
-        catch ( Exception ex )
-        {
-            log.error( ex );
-        }
-    }
-
-    /** Adds a dispose request to the lateral cache. */
-    @Override
-    public void dispose()
-    {
-        try
-        {
-            if ( listener != null )
-            {
-                listener.dispose();
-                listener = null;
-            }
-
-            for ( int i = 0; i < noWaits.length; i++ )
-            {
-                noWaits[i].dispose();
-            }
-        }
-        catch ( Exception ex )
-        {
-            log.error( ex );
-        }
-        finally
-        {
-            disposed = true;
-        }
-    }
-
-    /**
-     * No lateral invocation.
-     * @return The size value
-     */
-    @Override
-    public int getSize()
-    {
-        return 0;
-        //cache.getSize();
-    }
-
-    /**
-     * Gets the cacheType attribute of the LateralCacheNoWaitFacade object.
-     * <p>
-     * @return The cacheType value
-     */
-    @Override
-    public CacheType getCacheType()
-    {
-        return CacheType.LATERAL_CACHE;
-    }
-
-    /**
-     * Gets the cacheName attribute of the LateralCacheNoWaitFacade object.
-     * <p>
-     * @return The cacheName value
-     */
-    @Override
-    public String getCacheName()
-    {
-        return "";
-        //cache.getCacheName();
-    }
-
-    /**
-     * Gets the status attribute of the LateralCacheNoWaitFacade object
-     * @return The status value
-     */
-    @Override
-    public CacheStatus getStatus()
-    {
-        if (disposed)
-        {
-            return CacheStatus.DISPOSED;
-        }
-
-        if (noWaits.length == 0 || listener != null)
-        {
-            return CacheStatus.ALIVE;
-        }
-
-        CacheStatus[] statii = new CacheStatus[noWaits.length];
-        for (int i = 0; i < noWaits.length; i++)
-        {
-            statii[i] = noWaits[i].getStatus();
-        }
-        // It's alive if ANY of its nowaits is alive
-        for (int i = 0; i < noWaits.length; i++)
-        {
-            if (statii[i] == CacheStatus.ALIVE)
-            {
-                return CacheStatus.ALIVE;
-            }
-        }
-        // It's alive if ANY of its nowaits is in error, but
-        // none are alive, then it's in error
-        for (int i = 0; i < noWaits.length; i++)
-        {
-            if (statii[i] == CacheStatus.ERROR)
-            {
-                return CacheStatus.ERROR;
-            }
-        }
-
-        // Otherwise, it's been disposed, since it's the only status left
-        return CacheStatus.DISPOSED;
-    }
-
-    /**
-     * @return Returns the AuxiliaryCacheAttributes.
-     */
-    @Override
-    public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
-    {
-        return this.lateralCacheAttributes;
-    }
-
-    /**
-     * @return "LateralCacheNoWaitFacade: " + cacheName;
-     */
-    @Override
-    public String toString()
-    {
-        return "LateralCacheNoWaitFacade: " + cacheName;
-    }
-
-    /**
-     * this won't be called since we don't do ICache logging here.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String getEventLoggingExtraInfo()
-    {
-        return "Lateral Cache No Wait";
-    }
-
-    /**
-     * getStats
-     * @return String
-     */
-    @Override
-    public String getStats()
-    {
-        return getStatistics().toString();
-    }
-
-    /**
-     * @return IStats
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "Lateral Cache No Wait Facade" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        if ( noWaits != null )
-        {
-            elems.add(new StatElement<Integer>( "Number of No Waits", Integer.valueOf(noWaits.length) ) );
-
-            for ( LateralCacheNoWait<K, V> lcnw : noWaits )
-            {
-                if ( lcnw != null )
-                {
-                    // get the stats from the super too
-                    IStats sStats = lcnw.getStatistics();
-                    elems.addAll(sStats.getStatElements());
-                }
-            }
-        }
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCommand.java b/src/org/apache/commons/jcs/auxiliary/lateral/LateralCommand.java
deleted file mode 100644
index 5c4ff57..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/LateralCommand.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Enumeration of the available lateral commands
- */
-public enum LateralCommand
-{
-    /** The command for updates */
-    UPDATE,
-
-    /** The command for removes */
-    REMOVE,
-
-    /** The command instructing us to remove all */
-    REMOVEALL,
-
-    /** The command for disposing the cache. */
-    DISPOSE,
-
-    /** Command to return an object. */
-    GET,
-
-    /** Command to return an object. */
-    GET_MATCHING,
-
-    /** Command to get all keys */
-    GET_KEYSET
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/LateralElementDescriptor.java b/src/org/apache/commons/jcs/auxiliary/lateral/LateralElementDescriptor.java
deleted file mode 100644
index 85dced6..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/LateralElementDescriptor.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-
-import java.io.Serializable;
-
-/**
- * This class wraps command to other laterals. It is essentially a
- * JCS-TCP-Lateral packet. The headers specify the action the receiver should
- * take.
- */
-public class LateralElementDescriptor<K, V>
-    implements Serializable
-{
-    /** Don't change */
-    private static final long serialVersionUID = 5268222498076063575L;
-
-    /** The Cache Element that we are distributing. */
-    public ICacheElement<K, V> ce;
-
-    /**
-     * The id of the the source of the request. This is used to prevent infinite
-     * loops.
-     */
-    public long requesterId;
-
-    /** The operation has been requested by the client. */
-    public LateralCommand command = LateralCommand.UPDATE;
-
-    /**
-     * The hashcode value for this element.
-     */
-    public int valHashCode = -1;
-
-    /** Constructor for the LateralElementDescriptor object */
-    public LateralElementDescriptor()
-    {
-        super();
-    }
-
-    /**
-     * Constructor for the LateralElementDescriptor object
-     * <p>
-     * @param ce ICacheElement<K, V> payload
-     */
-    public LateralElementDescriptor( ICacheElement<K, V> ce )
-    {
-        this.ce = ce;
-    }
-
-    /**
-     * @return String, all the important values that can be configured
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\n LateralElementDescriptor " );
-        buf.append( "\n command = [" + this.command + "]" );
-        buf.append( "\n valHashCode = [" + this.valHashCode + "]" );
-        buf.append( "\n ICacheElement = [" + this.ce + "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/behavior/ILateralCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/lateral/behavior/ILateralCacheAttributes.java
deleted file mode 100644
index 07b0183..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/behavior/ILateralCacheAttributes.java
+++ /dev/null
@@ -1,200 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-
-/**
- * This interface defines configuration options common to lateral cache plugins.
- * <p>
- * TODO it needs to be trimmed down. The old version had features for every lateral. Now, the
- * individual laterals have their own specific attributes interfaces.
- */
-public interface ILateralCacheAttributes
-    extends AuxiliaryCacheAttributes
-{
-    enum Type
-    {
-        /** HTTP type */
-        HTTP, // 1
-
-        /** UDP type */
-        UDP, // 2
-
-        /** TCP type */
-        TCP, // 3
-
-        /** XMLRPC type */
-        XMLRPC // 4
-    }
-
-    /**
-     * The number of elements the zombie queue will hold. This queue is used to store events if we
-     * loose our connection with the server.
-     */
-    int DEFAULT_ZOMBIE_QUEUE_MAX_SIZE = 1000;
-
-    /**
-     * Sets the httpServer attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val The new httpServer value
-     */
-    void setHttpServer( String val );
-
-    /**
-     * Gets the httpServer attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The httpServer value
-     */
-    String getHttpServer();
-
-    /**
-     * Sets the httpListenerPort attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val The new tcpListenerPort value
-     */
-    void setHttpListenerPort( int val );
-
-    /**
-     * Gets the httpListenerPort attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The httpListenerPort value
-     */
-    int getHttpListenerPort();
-
-    /**
-     * Sets the httpServers attribute of the LateralCacheAttributes object
-     * <p>
-     * @param val The new httpServers value
-     */
-    void setHttpServers( String val );
-
-    /**
-     * Gets the httpSrvers attribute of the LateralCacheAttributes object
-     * <p>
-     * @return The httpServers value
-     */
-    String getHttpServers();
-
-    /**
-     * Sets the udpMulticastAddr attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val The new udpMulticastAddr value
-     */
-    void setUdpMulticastAddr( String val );
-
-    /**
-     * Gets the udpMulticastAddr attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The udpMulticastAddr value
-     */
-    String getUdpMulticastAddr();
-
-    /**
-     * Sets the udpMulticastPort attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val The new udpMulticastPort value
-     */
-    void setUdpMulticastPort( int val );
-
-    /**
-     * Gets the udpMulticastPort attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The udpMulticastPort value
-     */
-    int getUdpMulticastPort();
-
-    /**
-     * Sets the transmissionType attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val The new transmissionType value
-     */
-    void setTransmissionType( Type val );
-
-    /**
-     * Gets the transmissionType attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The transmissionType value
-     */
-    Type getTransmissionType();
-
-    /**
-     * Sets the transmissionTypeName attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val The new transmissionTypeName value
-     */
-    void setTransmissionTypeName( String val );
-
-    /**
-     * Gets the transmissionTypeName attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The transmissionTypeName value
-     */
-    String getTransmissionTypeName();
-
-    /**
-     * Sets the putOnlyMode attribute of the ILateralCacheAttributes. When this is true the lateral
-     * cache will only issue put and remove order and will not try to retrieve elements from other
-     * lateral caches.
-     * <p>
-     * @param val The new transmissionTypeName value
-     */
-    void setPutOnlyMode( boolean val );
-
-    /**
-     * @return The outgoingOnlyMode value. Stops gets from going remote.
-     */
-    boolean getPutOnlyMode();
-
-    /**
-     * @param receive The receive to set.
-     */
-    void setReceive( boolean receive );
-
-    /**
-     * Should a listener be created. By default this is true.
-     * <p>
-     * If this is false the lateral will connect to others but it will not create a listener to
-     * receive.
-     * <p>
-     * It is possible if two laterals are misconfigured that lateral A may have a region R1 that is
-     * not configured for the lateral but another is. And if cache B has region R1 configured for
-     * lateral distribution, A will get messages for R1 but not send them.
-     * <p>
-     * @return true if we should have a listener connection
-     */
-    boolean isReceive();
-
-    /**
-     * The number of elements the zombie queue will hold. This queue is used to store events if we
-     * loose our connection with the server.
-     * <p>
-     * @param zombieQueueMaxSize The zombieQueueMaxSize to set.
-     */
-    void setZombieQueueMaxSize( int zombieQueueMaxSize );
-
-    /**
-     * The number of elements the zombie queue will hold. This queue is used to store events if we
-     * loose our connection with the server.
-     * <p>
-     * @return Returns the zombieQueueMaxSize.
-     */
-    int getZombieQueueMaxSize();
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/behavior/ILateralCacheListener.java b/src/org/apache/commons/jcs/auxiliary/lateral/behavior/ILateralCacheListener.java
deleted file mode 100644
index 581f593..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/behavior/ILateralCacheListener.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheListener;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-
-/**
- * Listens for lateral cache event notification.
- */
-public interface ILateralCacheListener<K, V>
-    extends ICacheListener<K, V>
-{
-    /**
-     * Initialize this listener
-     */
-    void init();
-
-    /**
-     * @param cacheMgr
-     *            The cacheMgr to set.
-     */
-    void setCacheManager( ICompositeCacheManager cacheMgr );
-
-    /**
-     * @return Returns the cacheMgr.
-     */
-    ICompositeCacheManager getCacheManager();
-
-    /**
-     * Dispose this listener
-     */
-    void dispose();
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/package.html b/src/org/apache/commons/jcs/auxiliary/lateral/package.html
deleted file mode 100644
index d38b4cc..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/package.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-    Root package for the lateral cache family. Lateral caches broadcast puts
-    and removals to other local caches.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java b/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java
deleted file mode 100644
index daa7bb8..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java
+++ /dev/null
@@ -1,452 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral.socket.tcp;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheFactory;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.lateral.LateralCache;
-import org.apache.commons.jcs.auxiliary.lateral.LateralCacheMonitor;
-import org.apache.commons.jcs.auxiliary.lateral.LateralCacheNoWait;
-import org.apache.commons.jcs.auxiliary.lateral.LateralCacheNoWaitFacade;
-import org.apache.commons.jcs.auxiliary.lateral.behavior.ILateralCacheListener;
-import org.apache.commons.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes;
-import org.apache.commons.jcs.engine.CacheWatchRepairable;
-import org.apache.commons.jcs.engine.ZombieCacheServiceNonLocal;
-import org.apache.commons.jcs.engine.ZombieCacheWatch;
-import org.apache.commons.jcs.engine.behavior.ICache;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.behavior.IShutdownObserver;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.utils.discovery.UDPDiscoveryManager;
-import org.apache.commons.jcs.utils.discovery.UDPDiscoveryService;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Constructs a LateralCacheNoWaitFacade for the given configuration. Each lateral service / local
- * relationship is managed by one manager. This manager can have multiple caches. The remote
- * relationships are consolidated and restored via these managers.
- * <p>
- * The facade provides a front to the composite cache so the implementation is transparent.
- */
-public class LateralTCPCacheFactory
-    extends AbstractAuxiliaryCacheFactory
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( LateralTCPCacheFactory.class );
-
-    /** Address to service map. */
-    private ConcurrentHashMap<String, ICacheServiceNonLocal<?, ?>> csnlInstances;
-
-    /** Lock for initialization of address to service map */
-    private ReentrantLock csnlLock;
-
-    /** Map of available discovery listener instances, keyed by port. */
-    private ConcurrentHashMap<String, LateralTCPDiscoveryListener> lTCPDLInstances;
-
-    /** Monitor thread */
-    private LateralCacheMonitor monitor;
-
-    /**
-     * Wrapper of the lateral cache watch service; or wrapper of a zombie
-     * service if failed to connect.
-     */
-    private CacheWatchRepairable lateralWatch;
-
-    /**
-     * Creates a TCP lateral.
-     * <p>
-     * @param iaca
-     * @param cacheMgr
-     * @param cacheEventLogger
-     * @param elementSerializer
-     * @return LateralCacheNoWaitFacade
-     */
-    @Override
-    public <K, V> LateralCacheNoWaitFacade<K, V> createCache(
-            AuxiliaryCacheAttributes iaca, ICompositeCacheManager cacheMgr,
-           ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
-    {
-        ITCPLateralCacheAttributes lac = (ITCPLateralCacheAttributes) iaca;
-        ArrayList<ICache<K, V>> noWaits = new ArrayList<ICache<K, V>>();
-
-        // pairs up the tcp servers and set the tcpServer value and
-        // get the manager and then get the cache
-        // no servers are required.
-        if ( lac.getTcpServers() != null )
-        {
-            StringTokenizer it = new StringTokenizer( lac.getTcpServers(), "," );
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Configured for [" + it.countTokens() + "]  servers." );
-            }
-            while ( it.hasMoreElements() )
-            {
-                String server = (String) it.nextElement();
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "tcp server = " + server );
-                }
-                ITCPLateralCacheAttributes lacC = (ITCPLateralCacheAttributes) lac.clone();
-                lacC.setTcpServer( server );
-
-                LateralCacheNoWait<K, V> lateralNoWait = createCacheNoWait(lacC, cacheEventLogger, elementSerializer);
-
-                addListenerIfNeeded( lacC, cacheMgr );
-                monitor.addCache(lateralNoWait);
-                noWaits.add( lateralNoWait );
-            }
-        }
-
-        ILateralCacheListener<K, V> listener = createListener( lac, cacheMgr );
-
-        // create the no wait facade.
-        @SuppressWarnings("unchecked") // No generic arrays in java
-        LateralCacheNoWait<K, V>[] lcnwArray = noWaits.toArray( new LateralCacheNoWait[0] );
-        LateralCacheNoWaitFacade<K, V> lcnwf =
-            new LateralCacheNoWaitFacade<K, V>(listener, lcnwArray, lac );
-
-        // create udp discovery if available.
-        createDiscoveryService( lac, lcnwf, cacheMgr, cacheEventLogger, elementSerializer );
-
-        return lcnwf;
-    }
-
-    protected <K, V> LateralCacheNoWait<K, V> createCacheNoWait( ITCPLateralCacheAttributes lca,
-            ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
-    {
-        ICacheServiceNonLocal<K, V> lateralService = getCSNLInstance(lca);
-
-        LateralCache<K, V> cache = new LateralCache<K, V>( lca, lateralService, this.monitor );
-        cache.setCacheEventLogger( cacheEventLogger );
-        cache.setElementSerializer( elementSerializer );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Created cache for noWait, cache [" + cache + "]" );
-        }
-
-        LateralCacheNoWait<K, V> lateralNoWait = new LateralCacheNoWait<K, V>( cache );
-        lateralNoWait.setCacheEventLogger( cacheEventLogger );
-        lateralNoWait.setElementSerializer( elementSerializer );
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Created LateralCacheNoWait for [" + lca + "] LateralCacheNoWait = [" + lateralNoWait
-                + "]" );
-        }
-
-        return lateralNoWait;
-    }
-
-    /**
-     * Initialize this factory
-     */
-    @Override
-    public void initialize()
-    {
-        this.csnlInstances = new ConcurrentHashMap<String, ICacheServiceNonLocal<?, ?>>();
-        this.csnlLock = new ReentrantLock();
-        this.lTCPDLInstances = new ConcurrentHashMap<String, LateralTCPDiscoveryListener>();
-
-        // Create the monitoring daemon thread
-        this.monitor = new LateralCacheMonitor(this);
-        this.monitor.setDaemon( true );
-        this.monitor.start();
-
-        this.lateralWatch = new CacheWatchRepairable();
-        this.lateralWatch.setCacheWatch( new ZombieCacheWatch() );
-    }
-
-    /**
-     * Dispose of this factory, clean up shared resources
-     */
-    @Override
-    public void dispose()
-    {
-        for (ICacheServiceNonLocal<?, ?> service : this.csnlInstances.values())
-        {
-            try
-            {
-                service.dispose("");
-            }
-            catch (IOException e)
-            {
-                log.error("Could not dispose service " + service, e);
-            }
-        }
-
-        this.csnlInstances.clear();
-
-        // TODO: shut down discovery listeners
-        this.lTCPDLInstances.clear();
-
-        if (this.monitor != null)
-        {
-            this.monitor.notifyShutdown();
-            try
-            {
-                this.monitor.join(5000);
-            }
-            catch (InterruptedException e)
-            {
-                // swallow
-            }
-            this.monitor = null;
-        }
-    }
-
-    /**
-     * Returns an instance of the cache service.
-     * <p>
-     * @param lca configuration for the creation of a new service instance
-     *
-     * @return ICacheServiceNonLocal<K, V>
-     */
-    // Need to cast because of common map for all cache services
-    @SuppressWarnings("unchecked")
-    public <K, V> ICacheServiceNonLocal<K, V> getCSNLInstance( ITCPLateralCacheAttributes lca )
-    {
-        String key = lca.getTcpServer();
-
-        ICacheServiceNonLocal<K, V> service = (ICacheServiceNonLocal<K, V>)csnlInstances.get( key );
-
-        if ( service == null || service instanceof ZombieCacheServiceNonLocal )
-        {
-            csnlLock.lock();
-
-            try
-            {
-                // double check
-                service = (ICacheServiceNonLocal<K, V>)csnlInstances.get( key );
-
-                // If service creation did not succeed last time, force retry
-                if ( service instanceof ZombieCacheServiceNonLocal)
-                {
-                    service = null;
-                    log.info("Disposing of zombie service instance for [" + key + "]");
-                }
-
-                if ( service == null )
-                {
-                    log.info( "Instance for [" + key + "] is null, creating" );
-
-                    // Create the service
-                    try
-                    {
-                        if ( log.isInfoEnabled() )
-                        {
-                            log.info( "Creating TCP service, lca = " + lca );
-                        }
-
-                        service = new LateralTCPService<K, V>( lca );
-                    }
-                    catch ( IOException ex )
-                    {
-                        // Failed to connect to the lateral server.
-                        // Configure this LateralCacheManager instance to use the
-                        // "zombie" services.
-                        log.error( "Failure, lateral instance will use zombie service", ex );
-
-                        service = new ZombieCacheServiceNonLocal<K, V>( lca.getZombieQueueMaxSize() );
-
-                        // Notify the cache monitor about the error, and kick off
-                        // the recovery process.
-                        monitor.notifyError();
-                    }
-
-                    csnlInstances.put( key, service );
-                }
-            }
-            finally
-            {
-                csnlLock.unlock();
-            }
-        }
-
-        return service;
-    }
-
-    /**
-     * Gets the instance attribute of the LateralCacheTCPListener class.
-     * <p>
-     * @param ilca ITCPLateralCacheAttributes
-     * @param cacheManager a reference to the global cache manager
-     *
-     * @return The instance value
-     */
-    private LateralTCPDiscoveryListener getDiscoveryListener( ITCPLateralCacheAttributes ilca, ICompositeCacheManager cacheManager )
-    {
-        String key = ilca.getUdpDiscoveryAddr() + ":" + ilca.getUdpDiscoveryPort();
-        LateralTCPDiscoveryListener ins = null;
-
-        LateralTCPDiscoveryListener newListener = new LateralTCPDiscoveryListener( this.getName(),  cacheManager);
-        ins = lTCPDLInstances.putIfAbsent(key, newListener );
-
-        if ( ins == null )
-        {
-            ins = newListener;
-
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Created new discovery listener for " + key + " cacheName for request " + ilca.getCacheName() );
-            }
-        }
-
-        return ins;
-    }
-
-    /**
-     * Add listener for receivers
-     * <p>
-     * @param iaca cache configuration attributes
-     * @param cacheMgr the composite cache manager
-     */
-    private void addListenerIfNeeded( ITCPLateralCacheAttributes iaca, ICompositeCacheManager cacheMgr )
-    {
-        // don't create a listener if we are not receiving.
-        if ( iaca.isReceive() )
-        {
-            try
-            {
-                addLateralCacheListener( iaca.getCacheName(), LateralTCPListener.getInstance( iaca, cacheMgr ) );
-            }
-            catch ( IOException ioe )
-            {
-                log.error( "Problem creating lateral listener", ioe );
-            }
-        }
-        else
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Not creating a listener since we are not receiving." );
-            }
-        }
-    }
-
-    /**
-     * Adds the lateral cache listener to the underlying cache-watch service.
-     * <p>
-     * @param cacheName The feature to be added to the LateralCacheListener attribute
-     * @param listener The feature to be added to the LateralCacheListener attribute
-     * @throws IOException
-     */
-    private <K, V> void addLateralCacheListener( String cacheName, ILateralCacheListener<K, V> listener )
-        throws IOException
-    {
-        synchronized ( this.lateralWatch )
-        {
-            lateralWatch.addCacheListener( cacheName, listener );
-        }
-    }
-
-    /**
-     * Makes sure a listener gets created. It will get monitored as soon as it
-     * is used.
-     * <p>
-     * This should be called by create cache.
-     * <p>
-     * @param attr  ITCPLateralCacheAttributes
-     * @param cacheMgr
-     *
-     * @return the listener if created, else null
-     */
-    private <K, V> ILateralCacheListener<K, V> createListener( ITCPLateralCacheAttributes attr,
-            ICompositeCacheManager cacheMgr )
-    {
-        ILateralCacheListener<K, V> listener = null;
-
-        // don't create a listener if we are not receiving.
-        if ( attr.isReceive() )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Getting listener for " + attr );
-            }
-
-            // make a listener. if one doesn't exist
-            listener = LateralTCPListener.getInstance( attr, cacheMgr );
-
-            // register for shutdown notification
-            cacheMgr.registerShutdownObserver( (IShutdownObserver) listener );
-        }
-        else
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Not creating a listener since we are not receiving." );
-            }
-        }
-
-        return listener;
-    }
-
-    /**
-     * Creates the discovery service. Only creates this for tcp laterals right now.
-     * <p>
-     * @param lac ITCPLateralCacheAttributes
-     * @param lcnwf
-     * @param cacheMgr
-     * @param cacheEventLogger
-     * @param elementSerializer
-     * @return null if none is created.
-     */
-    private synchronized <K, V> UDPDiscoveryService createDiscoveryService(
-            ITCPLateralCacheAttributes lac,
-            LateralCacheNoWaitFacade<K, V> lcnwf,
-            ICompositeCacheManager cacheMgr,
-            ICacheEventLogger cacheEventLogger,
-            IElementSerializer elementSerializer )
-    {
-        UDPDiscoveryService discovery = null;
-
-        // create the UDP discovery for the TCP lateral
-        if ( lac.isUdpDiscoveryEnabled() )
-        {
-            // One can be used for all regions
-            LateralTCPDiscoveryListener discoveryListener = getDiscoveryListener( lac, cacheMgr );
-            discoveryListener.addNoWaitFacade( lac.getCacheName(), lcnwf );
-
-            // need a factory for this so it doesn't
-            // get dereferenced, also we don't want one for every region.
-            discovery = UDPDiscoveryManager.getInstance().getService( lac.getUdpDiscoveryAddr(),
-                                                                      lac.getUdpDiscoveryPort(),
-                                                                      lac.getTcpListenerPort(), cacheMgr);
-
-            discovery.addParticipatingCacheName( lac.getCacheName() );
-            discovery.addDiscoveryListener( discoveryListener );
-
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Registered TCP lateral cache [" + lac.getCacheName() + "] with UDPDiscoveryService." );
-            }
-        }
-        return discovery;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPDiscoveryListener.java b/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPDiscoveryListener.java
deleted file mode 100644
index b0ceb2b..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPDiscoveryListener.java
+++ /dev/null
@@ -1,343 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral.socket.tcp;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.lateral.LateralCacheAttributes;
-import org.apache.commons.jcs.auxiliary.lateral.LateralCacheNoWait;
-import org.apache.commons.jcs.auxiliary.lateral.LateralCacheNoWaitFacade;
-import org.apache.commons.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.utils.discovery.DiscoveredService;
-import org.apache.commons.jcs.utils.discovery.behavior.IDiscoveryListener;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * This knows how to add and remove discovered services. It observes UDP discovery events.
- * <p>
- * We can have one listener per region, or one shared by all regions.
- */
-public class LateralTCPDiscoveryListener
-    implements IDiscoveryListener
-{
-    /** The log factory */
-    private static final Log log = LogFactory.getLog( LateralTCPDiscoveryListener.class );
-
-    /**
-     * Map of no wait facades. these are used to determine which regions are locally configured to
-     * use laterals.
-     */
-    private final Map<String, LateralCacheNoWaitFacade<?, ?>> facades =
-        Collections.synchronizedMap( new HashMap<String, LateralCacheNoWaitFacade<?, ?>>() );
-
-    /**
-     * List of regions that are configured differently here than on another server. We keep track of
-     * this to limit the amount of info logging.
-     */
-    private final Set<String> knownDifferentlyConfiguredRegions =
-        Collections.synchronizedSet( new HashSet<String>() );
-
-    /** The name of the cache factory */
-    private String factoryName;
-
-    /** Reference to the cache manager for auxiliary cache access */
-    private ICompositeCacheManager cacheManager;
-
-    /**
-     * This plugs into the udp discovery system. It will receive add and remove events.
-     * <p>
-     * @param factoryName the name of the related cache factory
-     * @param cacheManager the global cache manager
-     */
-    protected LateralTCPDiscoveryListener( String factoryName, ICompositeCacheManager cacheManager )
-    {
-        this.factoryName = factoryName;
-        this.cacheManager = cacheManager;
-    }
-
-    /**
-     * Adds a nowait facade under this cachename. If one already existed, it will be overridden.
-     * <p>
-     * This adds nowaits to a facade for the region name. If the region has no facade, then it is
-     * not configured to use the lateral cache, and no facade will be created.
-     * <p>
-     * @param cacheName - the region name
-     * @param facade - facade (for region) => multiple lateral clients.
-     * @return true if the facade was not already registered.
-     */
-    public synchronized boolean addNoWaitFacade( String cacheName, LateralCacheNoWaitFacade<?, ?> facade )
-    {
-        boolean isNew = !containsNoWaitFacade( cacheName );
-
-        // override or put anew, it doesn't matter
-        facades.put( cacheName, facade );
-        knownDifferentlyConfiguredRegions.remove( cacheName );
-
-        return isNew;
-    }
-
-    /**
-     * Allows us to see if the facade is present.
-     * <p>
-     * @param cacheName - facades are for a region
-     * @return do we contain the no wait. true if so
-     */
-    public boolean containsNoWaitFacade( String cacheName )
-    {
-        return facades.containsKey( cacheName );
-    }
-
-    /**
-     * Allows us to see if the facade is present and if it has the no wait.
-     * <p>
-     * @param cacheName - facades are for a region
-     * @param noWait - is this no wait in the facade
-     * @return do we contain the no wait. true if so
-     */
-    public <K, V> boolean containsNoWait( String cacheName, LateralCacheNoWait<K, V> noWait )
-    {
-        @SuppressWarnings("unchecked") // Need to cast because of common map for all facades
-        LateralCacheNoWaitFacade<K, V> facade = (LateralCacheNoWaitFacade<K, V>)facades.get( noWait.getCacheName() );
-        if ( facade == null )
-        {
-            return false;
-        }
-
-        return facade.containsNoWait( noWait );
-    }
-
-    /**
-     * When a broadcast is received from the UDP Discovery receiver, for each cacheName in the
-     * message, the add no wait will be called here. To add a no wait, the facade is looked up for
-     * this cache name.
-     * <p>
-     * Each region has a facade. The facade contains a list of end points--the other tcp lateral
-     * services.
-     * <p>
-     * @param noWait
-     * @return true if we found the no wait and added it. False if the no wait was not present or it
-     *         we already had it.
-     */
-    protected <K, V> boolean addNoWait( LateralCacheNoWait<K, V> noWait )
-    {
-        @SuppressWarnings("unchecked") // Need to cast because of common map for all facades
-        LateralCacheNoWaitFacade<K, V> facade = (LateralCacheNoWaitFacade<K, V>)facades.get( noWait.getCacheName() );
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "addNoWait > Got facade for " + noWait.getCacheName() + " = " + facade );
-        }
-
-        if ( facade != null )
-        {
-            boolean isNew = facade.addNoWait( noWait );
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Called addNoWait, isNew = " + isNew );
-            }
-            return isNew;
-        }
-        else
-        {
-            if ( !knownDifferentlyConfiguredRegions.contains( noWait.getCacheName() ) )
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "addNoWait > Different nodes are configured differently or region ["
-                        + noWait.getCacheName() + "] is not yet used on this side.  " );
-                }
-                knownDifferentlyConfiguredRegions.add( noWait.getCacheName() );
-            }
-            return false;
-        }
-    }
-
-    /**
-     * Look up the facade for the name. If it doesn't exist, then the region is not configured for
-     * use with the lateral cache. If it is present, remove the item from the no wait list.
-     * <p>
-     * @param noWait
-     * @return true if we found the no wait and removed it. False if the no wait was not present.
-     */
-    protected <K, V> boolean removeNoWait( LateralCacheNoWait<K, V> noWait )
-    {
-        @SuppressWarnings("unchecked") // Need to cast because of common map for all facades
-        LateralCacheNoWaitFacade<K, V> facade = (LateralCacheNoWaitFacade<K, V>)facades.get( noWait.getCacheName() );
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "removeNoWait > Got facade for " + noWait.getCacheName() + " = " + facade );
-        }
-
-        if ( facade != null )
-        {
-            boolean removed = facade.removeNoWait( noWait );
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Called removeNoWait, removed " + removed );
-            }
-            return removed;
-        }
-        else
-        {
-            if ( !knownDifferentlyConfiguredRegions.contains( noWait.getCacheName() ) )
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "removeNoWait > Different nodes are configured differently or region ["
-                        + noWait.getCacheName() + "] is not yet used on this side.  " );
-                }
-                knownDifferentlyConfiguredRegions.add( noWait.getCacheName() );
-            }
-            return false;
-        }
-    }
-
-    /**
-     * Creates the lateral cache if needed.
-     * <p>
-     * We could go to the composite cache manager and get the the cache for the region. This would
-     * force a full configuration of the region. One advantage of this would be that the creation of
-     * the later would go through the factory, which would add the item to the no wait list. But we
-     * don't want to do this. This would force this client to have all the regions as the other.
-     * This might not be desired. We don't want to send or receive for a region here that is either
-     * not used or not configured to use the lateral.
-     * <p>
-     * Right now, I'm afraid that the region will get puts if another instance has the region
-     * configured to use the lateral and our address is configured. This might be a bug, but it
-     * shouldn't happen with discovery.
-     * <p>
-     * @param service
-     */
-    @Override
-    public void addDiscoveredService( DiscoveredService service )
-    {
-        // get a cache and add it to the no waits
-        // the add method should not add the same.
-        // we need the listener port from the original config.
-        ArrayList<String> regions = service.getCacheNames();
-        String serverAndPort = service.getServiceAddress() + ":" + service.getServicePort();
-
-        if ( regions != null )
-        {
-            // for each region get the cache
-            for (String cacheName : regions)
-            {
-                AuxiliaryCache<?, ?> ic = cacheManager.getAuxiliaryCache(factoryName, cacheName);
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Got cache, ic = " + ic );
-                }
-
-                // add this to the nowaits for this cachename
-                if ( ic != null )
-                {
-                    AuxiliaryCacheAttributes aca = ic.getAuxiliaryCacheAttributes();
-                    if (aca instanceof ITCPLateralCacheAttributes)
-                    {
-                        ITCPLateralCacheAttributes lca = (ITCPLateralCacheAttributes)aca;
-                        if (lca.getTransmissionType() != LateralCacheAttributes.Type.TCP
-                            || !serverAndPort.equals(lca.getTcpServer()) )
-                        {
-                            // skip caches not belonging to this service
-                            continue;
-                        }
-                    }
-
-                    addNoWait( (LateralCacheNoWait<?, ?>) ic );
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Called addNoWait for cacheName [" + cacheName + "]" );
-                    }
-                }
-            }
-        }
-        else
-        {
-            log.warn( "No cache names found in message " + service );
-        }
-    }
-
-    /**
-     * Removes the lateral cache.
-     * <p>
-     * We need to tell the manager that this instance is bad, so it will reconnect the sender if it
-     * comes back.
-     * <p>
-     * @param service
-     */
-    @Override
-    public void removeDiscoveredService( DiscoveredService service )
-    {
-        // get a cache and add it to the no waits
-        // the add method should not add the same.
-        // we need the listener port from the original config.
-        ArrayList<String> regions = service.getCacheNames();
-        String serverAndPort = service.getServiceAddress() + ":" + service.getServicePort();
-
-        if ( regions != null )
-        {
-            // for each region get the cache
-            for (String cacheName : regions)
-            {
-                AuxiliaryCache<?, ?> ic = cacheManager.getAuxiliaryCache(factoryName, cacheName);
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Got cache, ic = " + ic );
-                }
-
-                // remove this to the nowaits for this cachename
-                if ( ic != null )
-                {
-                    AuxiliaryCacheAttributes aca = ic.getAuxiliaryCacheAttributes();
-                    if (aca instanceof ITCPLateralCacheAttributes)
-                    {
-                        ITCPLateralCacheAttributes lca = (ITCPLateralCacheAttributes)aca;
-                        if (lca.getTransmissionType() != LateralCacheAttributes.Type.TCP
-                            || !serverAndPort.equals(lca.getTcpServer()) )
-                        {
-                            // skip caches not belonging to this service
-                            continue;
-                        }
-                    }
-
-                    removeNoWait( (LateralCacheNoWait<?, ?>) ic );
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Called removeNoWait for cacheName [" + cacheName + "]" );
-                    }
-                }
-            }
-        }
-        else
-        {
-            log.warn( "No cache names found in message " + service );
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPListener.java b/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPListener.java
deleted file mode 100644
index 5a41c2d..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPListener.java
+++ /dev/null
@@ -1,770 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral.socket.tcp;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.EOFException;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-import java.net.InetAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.SocketException;
-import java.net.SocketTimeoutException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.auxiliary.lateral.LateralElementDescriptor;
-import org.apache.commons.jcs.auxiliary.lateral.behavior.ILateralCacheListener;
-import org.apache.commons.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes;
-import org.apache.commons.jcs.engine.CacheInfo;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IShutdownObserver;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.control.CompositeCacheManager;
-import org.apache.commons.jcs.io.ObjectInputStreamClassLoaderAware;
-import org.apache.commons.jcs.utils.threadpool.DaemonThreadFactory;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Listens for connections from other TCP lateral caches and handles them. The initialization method
- * starts a listening thread, which creates a socket server. When messages are received they are
- * passed to a pooled executor which then calls the appropriate handle method.
- */
-public class LateralTCPListener<K, V>
-    implements ILateralCacheListener<K, V>, IShutdownObserver
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( LateralTCPListener.class );
-
-    /** How long the server will block on an accept(). 0 is infinite. */
-    private static final int acceptTimeOut = 1000;
-
-    /** The CacheHub this listener is associated with */
-    private transient ICompositeCacheManager cacheManager;
-
-    /** Map of available instances, keyed by port */
-    private static final HashMap<String, ILateralCacheListener<?, ?>> instances =
-        new HashMap<String, ILateralCacheListener<?, ?>>();
-
-    /** The socket listener */
-    private ListenerThread receiver;
-
-    /** Configuration attributes */
-    private ITCPLateralCacheAttributes tcpLateralCacheAttributes;
-
-    /** Listening port */
-    private int port;
-
-    /** The processor. We should probably use an event queue here. */
-    private ExecutorService pooledExecutor;
-
-    /** put count */
-    private int putCnt = 0;
-
-    /** remove count */
-    private int removeCnt = 0;
-
-    /** get count */
-    private int getCnt = 0;
-
-    /**
-     * Use the vmid by default. This can be set for testing. If we ever need to run more than one
-     * per vm, then we need a new technique.
-     */
-    private long listenerId = CacheInfo.listenerId;
-
-    /** is this shut down? */
-    private AtomicBoolean shutdown;
-
-    /** is this terminated? */
-    private AtomicBoolean terminated;
-
-    /**
-     * Gets the instance attribute of the LateralCacheTCPListener class.
-     * <p>
-     * @param ilca ITCPLateralCacheAttributes
-     * @param cacheMgr
-     * @return The instance value
-     */
-    public synchronized static <K, V> LateralTCPListener<K, V>
-        getInstance( ITCPLateralCacheAttributes ilca, ICompositeCacheManager cacheMgr )
-    {
-        @SuppressWarnings("unchecked") // Need to cast because of common map for all instances
-        LateralTCPListener<K, V> ins = (LateralTCPListener<K, V>) instances.get( String.valueOf( ilca.getTcpListenerPort() ) );
-
-        if ( ins == null )
-        {
-            ins = new LateralTCPListener<K, V>( ilca );
-
-            ins.init();
-            ins.setCacheManager( cacheMgr );
-
-            instances.put( String.valueOf( ilca.getTcpListenerPort() ), ins );
-
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Created new listener " + ilca.getTcpListenerPort() );
-            }
-        }
-
-        return ins;
-    }
-
-    /**
-     * Only need one since it does work for all regions, just reference by multiple region names.
-     * <p>
-     * @param ilca
-     */
-    protected LateralTCPListener( ITCPLateralCacheAttributes ilca )
-    {
-        this.setTcpLateralCacheAttributes( ilca );
-    }
-
-    /**
-     * This starts the ListenerThread on the specified port.
-     */
-    @Override
-    public synchronized void init()
-    {
-        try
-        {
-            this.port = getTcpLateralCacheAttributes().getTcpListenerPort();
-
-            pooledExecutor = Executors.newCachedThreadPool(
-                    new DaemonThreadFactory("JCS-LateralTCPListener-"));
-            terminated = new AtomicBoolean(false);
-            shutdown = new AtomicBoolean(false);
-
-            log.info( "Listening on port " + port );
-
-            ServerSocket serverSocket = new ServerSocket( port );
-            serverSocket.setSoTimeout( acceptTimeOut );
-
-            receiver = new ListenerThread(serverSocket);
-            receiver.setDaemon( true );
-            receiver.start();
-        }
-        catch ( IOException ex )
-        {
-            throw new IllegalStateException( ex );
-        }
-    }
-
-    /**
-     * Let the lateral cache set a listener_id. Since there is only one listener for all the
-     * regions and every region gets registered? the id shouldn't be set if it isn't zero. If it is
-     * we assume that it is a reconnect.
-     * <p>
-     * By default, the listener id is the vmid.
-     * <p>
-     * The service should set this value. This value will never be changed by a server we connect
-     * to. It needs to be non static, for unit tests.
-     * <p>
-     * The service will use the value it sets in all send requests to the sender.
-     * <p>
-     * @param id The new listenerId value
-     * @throws IOException
-     */
-    @Override
-    public void setListenerId( long id )
-        throws IOException
-    {
-        this.listenerId = id;
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "set listenerId = " + id );
-        }
-    }
-
-    /**
-     * Gets the listenerId attribute of the LateralCacheTCPListener object
-     * <p>
-     * @return The listenerId value
-     * @throws IOException
-     */
-    @Override
-    public long getListenerId()
-        throws IOException
-    {
-        return this.listenerId;
-    }
-
-    /**
-     * Increments the put count. Gets the cache that was injected by the lateral factory. Calls put
-     * on the cache.
-     * <p>
-     * @see org.apache.commons.jcs.engine.behavior.ICacheListener#handlePut(org.apache.commons.jcs.engine.behavior.ICacheElement)
-     */
-    @Override
-    public void handlePut( ICacheElement<K, V> element )
-        throws IOException
-    {
-        putCnt++;
-        if ( log.isInfoEnabled() )
-        {
-            if ( getPutCnt() % 100 == 0 )
-            {
-                log.info( "Put Count (port " + getTcpLateralCacheAttributes().getTcpListenerPort() + ") = "
-                    + getPutCnt() );
-            }
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "handlePut> cacheName=" + element.getCacheName() + ", key=" + element.getKey() );
-        }
-
-        getCache( element.getCacheName() ).localUpdate( element );
-    }
-
-    /**
-     * Increments the remove count. Gets the cache that was injected by the lateral factory. Calls
-     * remove on the cache.
-     * <p>
-     * @see org.apache.commons.jcs.engine.behavior.ICacheListener#handleRemove(java.lang.String,
-     *      Object)
-     */
-    @Override
-    public void handleRemove( String cacheName, K key )
-        throws IOException
-    {
-        removeCnt++;
-        if ( log.isInfoEnabled() )
-        {
-            if ( getRemoveCnt() % 100 == 0 )
-            {
-                log.info( "Remove Count = " + getRemoveCnt() );
-            }
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "handleRemove> cacheName=" + cacheName + ", key=" + key );
-        }
-
-        getCache( cacheName ).localRemove( key );
-    }
-
-    /**
-     * Gets the cache that was injected by the lateral factory. Calls removeAll on the cache.
-     * <p>
-     * @see org.apache.commons.jcs.engine.behavior.ICacheListener#handleRemoveAll(java.lang.String)
-     */
-    @Override
-    public void handleRemoveAll( String cacheName )
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "handleRemoveAll> cacheName=" + cacheName );
-        }
-
-        getCache( cacheName ).localRemoveAll();
-    }
-
-    /**
-     * Gets the cache that was injected by the lateral factory. Calls get on the cache.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @return a ICacheElement
-     * @throws IOException
-     */
-    public ICacheElement<K, V> handleGet( String cacheName, K key )
-        throws IOException
-    {
-        getCnt++;
-        if ( log.isInfoEnabled() )
-        {
-            if ( getGetCnt() % 100 == 0 )
-            {
-                log.info( "Get Count (port " + getTcpLateralCacheAttributes().getTcpListenerPort() + ") = "
-                    + getGetCnt() );
-            }
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "handleGet> cacheName=" + cacheName + ", key = " + key );
-        }
-
-        return getCache( cacheName ).localGet( key );
-    }
-
-    /**
-     * Gets the cache that was injected by the lateral factory. Calls get on the cache.
-     * <p>
-     * @param cacheName the name of the cache
-     * @param pattern the matching pattern
-     * @return Map
-     * @throws IOException
-     */
-    public Map<K, ICacheElement<K, V>> handleGetMatching( String cacheName, String pattern )
-        throws IOException
-    {
-        getCnt++;
-        if ( log.isInfoEnabled() )
-        {
-            if ( getGetCnt() % 100 == 0 )
-            {
-                log.info( "GetMatching Count (port " + getTcpLateralCacheAttributes().getTcpListenerPort() + ") = "
-                    + getGetCnt() );
-            }
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "handleGetMatching> cacheName=" + cacheName + ", pattern = " + pattern );
-        }
-
-        return getCache( cacheName ).localGetMatching( pattern );
-    }
-
-    /**
-     * Gets the cache that was injected by the lateral factory. Calls getKeySet on the cache.
-     * <p>
-     * @param cacheName the name of the cache
-     * @return a set of keys
-     * @throws IOException
-     */
-    public Set<K> handleGetKeySet( String cacheName ) throws IOException
-    {
-    	return getCache( cacheName ).getKeySet(true);
-    }
-
-    /**
-     * This marks this instance as terminated.
-     * <p>
-     * @see org.apache.commons.jcs.engine.behavior.ICacheListener#handleDispose(java.lang.String)
-     */
-    @Override
-    public void handleDispose( String cacheName )
-        throws IOException
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "handleDispose > cacheName=" + cacheName + " | Ignoring message.  Do not dispose from remote." );
-        }
-
-        // TODO handle active deregistration, rather than passive detection
-        terminated.set(true);
-    }
-
-    @Override
-    public synchronized void dispose()
-    {
-        terminated.set(true);
-        notify();
-
-        pooledExecutor.shutdownNow();
-    }
-
-    /**
-     * Gets the cacheManager attribute of the LateralCacheTCPListener object.
-     * <p>
-     * Normally this is set by the factory. If it wasn't set the listener defaults to the expected
-     * singleton behavior of the cache manager.
-     * <p>
-     * @param name
-     * @return CompositeCache
-     */
-    protected CompositeCache<K, V> getCache( String name )
-    {
-        if ( getCacheManager() == null )
-        {
-            // revert to singleton on failure
-            try
-            {
-                setCacheManager( CompositeCacheManager.getInstance() );
-            }
-            catch (CacheException e)
-            {
-                throw new RuntimeException("Could not retrieve cache manager instance", e);
-            }
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "cacheMgr = " + getCacheManager() );
-            }
-        }
-
-        return getCacheManager().getCache( name );
-    }
-
-    /**
-     * This is roughly the number of updates the lateral has received.
-     * <p>
-     * @return Returns the putCnt.
-     */
-    public int getPutCnt()
-    {
-        return putCnt;
-    }
-
-    /**
-     * @return Returns the getCnt.
-     */
-    public int getGetCnt()
-    {
-        return getCnt;
-    }
-
-    /**
-     * @return Returns the removeCnt.
-     */
-    public int getRemoveCnt()
-    {
-        return removeCnt;
-    }
-
-    /**
-     * @param cacheMgr The cacheMgr to set.
-     */
-    @Override
-    public void setCacheManager( ICompositeCacheManager cacheMgr )
-    {
-        this.cacheManager = cacheMgr;
-    }
-
-    /**
-     * @return Returns the cacheMgr.
-     */
-    @Override
-    public ICompositeCacheManager getCacheManager()
-    {
-        return cacheManager;
-    }
-
-    /**
-     * @param tcpLateralCacheAttributes The tcpLateralCacheAttributes to set.
-     */
-    public void setTcpLateralCacheAttributes( ITCPLateralCacheAttributes tcpLateralCacheAttributes )
-    {
-        this.tcpLateralCacheAttributes = tcpLateralCacheAttributes;
-    }
-
-    /**
-     * @return Returns the tcpLateralCacheAttributes.
-     */
-    public ITCPLateralCacheAttributes getTcpLateralCacheAttributes()
-    {
-        return tcpLateralCacheAttributes;
-    }
-
-    /**
-     * Processes commands from the server socket. There should be one listener for each configured
-     * TCP lateral.
-     */
-    public class ListenerThread
-        extends Thread
-    {
-        /** The socket listener */
-        private final ServerSocket serverSocket;
-
-        /**
-         * Constructor
-         *
-         * @param serverSocket
-         */
-        public ListenerThread(ServerSocket serverSocket)
-        {
-            super();
-            this.serverSocket = serverSocket;
-        }
-
-        /** Main processing method for the ListenerThread object */
-        @SuppressWarnings("synthetic-access")
-        @Override
-        public void run()
-        {
-            try
-            {
-                ConnectionHandler handler;
-
-                outer: while ( true )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Waiting for clients to connect " );
-                    }
-
-                    Socket socket = null;
-                    inner: while (true)
-                    {
-                        // Check to see if we've been asked to exit, and exit
-                        if (terminated.get())
-                        {
-                            if (log.isDebugEnabled())
-                            {
-                                log.debug("Thread terminated, exiting gracefully");
-                            }
-                            break outer;
-                        }
-
-                        try
-                        {
-                            socket = serverSocket.accept();
-                            break inner;
-                        }
-                        catch (SocketTimeoutException e)
-                        {
-                            // No problem! We loop back up!
-                            continue inner;
-                        }
-                    }
-
-                    if ( socket != null && log.isDebugEnabled() )
-                    {
-                        InetAddress inetAddress = socket.getInetAddress();
-                        log.debug( "Connected to client at " + inetAddress );
-                    }
-
-                    handler = new ConnectionHandler( socket );
-                    pooledExecutor.execute( handler );
-                }
-            }
-            catch ( IOException e )
-            {
-                log.error( "Exception caught in TCP listener", e );
-            }
-            finally
-            {
-            	if (serverSocket != null)
-            	{
-            		try
-            		{
-						serverSocket.close();
-					}
-            		catch (IOException e)
-            		{
-                        log.error( "Exception caught closing socket", e );
-					}
-            	}
-            }
-        }
-    }
-
-    /**
-     * A Separate thread that runs when a command comes into the LateralTCPReceiver.
-     */
-    public class ConnectionHandler
-        implements Runnable
-    {
-        /** The socket connection, passed in via constructor */
-        private final Socket socket;
-
-        /**
-         * Construct for a given socket
-         * @param socket
-         */
-        public ConnectionHandler( Socket socket )
-        {
-            this.socket = socket;
-        }
-
-        /**
-         * Main processing method for the LateralTCPReceiverConnection object
-         */
-        @Override
-        @SuppressWarnings({"unchecked", // Need to cast from Object
-            "synthetic-access" })
-        public void run()
-        {
-            ObjectInputStream ois;
-
-            try
-            {
-                ois = new ObjectInputStreamClassLoaderAware( socket.getInputStream(), null );
-            }
-            catch ( Exception e )
-            {
-                log.error( "Could not open ObjectInputStream on " + socket, e );
-
-                return;
-            }
-
-            LateralElementDescriptor<K, V> led;
-
-            try
-            {
-                while ( true )
-                {
-                    led = (LateralElementDescriptor<K, V>) ois.readObject();
-
-                    if ( led == null )
-                    {
-                        log.debug( "LateralElementDescriptor is null" );
-                        continue;
-                    }
-                    if ( led.requesterId == getListenerId() )
-                    {
-                        log.debug( "from self" );
-                    }
-                    else
-                    {
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "receiving LateralElementDescriptor from another" + "led = " + led
-                                + ", led.command = " + led.command + ", led.ce = " + led.ce );
-                        }
-
-                        handle( led );
-                    }
-                }
-            }
-            catch ( EOFException e )
-            {
-                log.info( "Caught java.io.EOFException closing connection." + e.getMessage() );
-            }
-            catch ( SocketException e )
-            {
-                log.info( "Caught java.net.SocketException closing connection." + e.getMessage() );
-            }
-            catch ( Exception e )
-            {
-                log.error( "Unexpected exception.", e );
-            }
-
-            try
-            {
-                ois.close();
-            }
-            catch ( IOException e )
-            {
-                log.error( "Could not close object input stream.", e );
-            }
-        }
-
-        /**
-         * This calls the appropriate method, based on the command sent in the Lateral element
-         * descriptor.
-         * <p>
-         * @param led
-         * @throws IOException
-         */
-        @SuppressWarnings("synthetic-access")
-        private void handle( LateralElementDescriptor<K, V> led )
-            throws IOException
-        {
-            String cacheName = led.ce.getCacheName();
-            K key = led.ce.getKey();
-            Serializable obj = null;
-
-            switch (led.command)
-            {
-                case UPDATE:
-                    handlePut( led.ce );
-                    break;
-
-                case REMOVE:
-                    // if a hashcode was given and filtering is on
-                    // check to see if they are the same
-                    // if so, then don't remove, otherwise issue a remove
-                    if ( led.valHashCode != -1 )
-                    {
-                        if ( getTcpLateralCacheAttributes().isFilterRemoveByHashCode() )
-                        {
-                            ICacheElement<K, V> test = getCache( cacheName ).localGet( key );
-                            if ( test != null )
-                            {
-                                if ( test.getVal().hashCode() == led.valHashCode )
-                                {
-                                    if ( log.isDebugEnabled() )
-                                    {
-                                        log.debug( "Filtering detected identical hashCode [" + led.valHashCode
-                                            + "], not issuing a remove for led " + led );
-                                    }
-                                    return;
-                                }
-                                else
-                                {
-                                    if ( log.isDebugEnabled() )
-                                    {
-                                        log.debug( "Different hashcodes, in cache [" + test.getVal().hashCode()
-                                            + "] sent [" + led.valHashCode + "]" );
-                                    }
-                                }
-                            }
-                        }
-                    }
-                    handleRemove( cacheName, key );
-                    break;
-
-                case REMOVEALL:
-                    handleRemoveAll( cacheName );
-                    break;
-
-                case GET:
-                    obj = handleGet( cacheName, key );
-                    break;
-
-                case GET_MATCHING:
-                    obj = (Serializable) handleGetMatching( cacheName, (String) key );
-                    break;
-
-                case GET_KEYSET:
-                	obj = (Serializable) handleGetKeySet(cacheName);
-                    break;
-
-                default: break;
-            }
-
-            if (obj != null)
-            {
-                ObjectOutputStream oos = new ObjectOutputStream( socket.getOutputStream() );
-                oos.writeObject( obj );
-                oos.flush();
-            }
-        }
-    }
-
-    /**
-     * Shuts down the receiver.
-     */
-    @Override
-    public void shutdown()
-    {
-        if ( shutdown.compareAndSet(false, true) )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Shutting down TCP Lateral receiver." );
-            }
-
-            receiver.interrupt();
-        }
-        else
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Shutdown already called." );
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPSender.java b/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPSender.java
deleted file mode 100644
index 445b65b..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPSender.java
+++ /dev/null
@@ -1,272 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral.socket.tcp;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.lateral.LateralElementDescriptor;
-import org.apache.commons.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes;
-import org.apache.commons.jcs.io.ObjectInputStreamClassLoaderAware;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-
-/**
- * This class is based on the log4j SocketAppender class. I'm using a different repair structure, so
- * it is significantly different.
- */
-public class LateralTCPSender
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( LateralTCPSender.class );
-
-    /** Config */
-    private int socketOpenTimeOut;
-    private int socketSoTimeOut;
-
-    /** The stream from the server connection. */
-    private ObjectOutputStream oos;
-
-    /** The socket connection with the server. */
-    private Socket socket;
-
-    /** how many messages sent */
-    private int sendCnt = 0;
-
-    /** Use to synchronize multiple threads that may be trying to get. */
-    private final Object getLock = new int[0];
-
-    /**
-     * Constructor for the LateralTCPSender object.
-     * <p>
-     * @param lca
-     * @throws IOException
-     */
-    public LateralTCPSender( ITCPLateralCacheAttributes lca )
-        throws IOException
-    {
-        this.socketOpenTimeOut = lca.getOpenTimeOut();
-        this.socketSoTimeOut = lca.getSocketTimeOut();
-
-        String p1 = lca.getTcpServer();
-        if ( p1 == null )
-        {
-            throw new IOException( "Invalid server (null)" );
-        }
-
-        String h2 = p1.substring( 0, p1.indexOf( ":" ) );
-        int po = Integer.parseInt( p1.substring( p1.indexOf( ":" ) + 1 ) );
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "h2 = " + h2 );
-            log.debug( "po = " + po );
-        }
-
-        if ( h2.length() == 0 )
-        {
-            throw new IOException( "Cannot connect to invalid address [" + h2 + ":" + po + "]" );
-        }
-
-        init( h2, po );
-    }
-
-    /**
-     * Creates a connection to a TCP server.
-     * <p>
-     * @param host
-     * @param port
-     * @throws IOException
-     */
-    protected void init( String host, int port )
-        throws IOException
-    {
-        try
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Attempting connection to [" + host + "]" );
-            }
-
-            // have time out socket open do this for us
-            try
-            {
-                socket = new Socket();
-                socket.connect( new InetSocketAddress( host, port ), this.socketOpenTimeOut );
-            }
-            catch ( IOException ioe )
-            {
-                if (socket != null)
-                {
-                    socket.close();
-                }
-
-                throw new IOException( "Cannot connect to " + host + ":" + port, ioe );
-            }
-
-            socket.setSoTimeout( socketSoTimeOut );
-            synchronized ( this )
-            {
-                oos = new ObjectOutputStream( socket.getOutputStream() );
-            }
-        }
-        catch ( java.net.ConnectException e )
-        {
-            log.debug( "Remote host [" + host + "] refused connection." );
-            throw e;
-        }
-        catch ( IOException e )
-        {
-            log.debug( "Could not connect to [" + host + "]. Exception is " + e );
-            throw e;
-        }
-    }
-
-    /**
-     * Sends commands to the lateral cache listener.
-     * <p>
-     * @param led
-     * @throws IOException
-     */
-    public <K, V> void send( LateralElementDescriptor<K, V> led )
-        throws IOException
-    {
-        sendCnt++;
-        if ( log.isInfoEnabled() && sendCnt % 100 == 0 )
-        {
-            log.info( "Send Count (port " + socket.getPort() + ") = " + sendCnt );
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "sending LateralElementDescriptor" );
-        }
-
-        if ( led == null )
-        {
-            return;
-        }
-
-        if ( oos == null )
-        {
-            throw new IOException( "No remote connection is available for LateralTCPSender." );
-        }
-
-        synchronized ( this.getLock )
-        {
-            oos.writeUnshared( led );
-            oos.flush();
-        }
-    }
-
-    /**
-     * Sends commands to the lateral cache listener and gets a response. I'm afraid that we could
-     * get into a pretty bad blocking situation here. This needs work. I just wanted to get some
-     * form of get working. However, get is not recommended for performance reasons. If you have 10
-     * laterals, then you have to make 10 failed gets to find out none of the caches have the item.
-     * <p>
-     * @param led
-     * @return ICacheElement
-     * @throws IOException
-     */
-    public <K, V> Object sendAndReceive( LateralElementDescriptor<K, V> led )
-        throws IOException
-    {
-        if ( led == null )
-        {
-            return null;
-        }
-
-        if ( oos == null )
-        {
-            throw new IOException( "No remote connection is available for LateralTCPSender." );
-        }
-
-        Object response = null;
-
-        // Synchronized to insure that the get requests to server from this
-        // sender and the responses are processed in order, else you could
-        // return the wrong item from the cache.
-        // This is a big block of code. May need to re-think this strategy.
-        // This may not be necessary.
-        // Normal puts, etc to laterals do not have to be synchronized.
-        synchronized ( this.getLock )
-        {
-            try
-            {
-                // clean up input stream, nothing should be there yet.
-                if ( socket.getInputStream().available() > 0 )
-                {
-                    socket.getInputStream().read( new byte[socket.getInputStream().available()] );
-                }
-            }
-            catch ( IOException ioe )
-            {
-                log.error( "Problem cleaning socket before send " + socket, ioe );
-                throw ioe;
-            }
-
-            // write object to listener
-            oos.writeUnshared( led );
-            oos.flush();
-
-            try
-            {
-                socket.setSoTimeout( socketSoTimeOut );
-                ObjectInputStream ois = new ObjectInputStreamClassLoaderAware( socket.getInputStream(), null );
-                response = ois.readObject();
-            }
-            catch ( IOException ioe )
-            {
-                String message = "Could not open ObjectInputStream to " + socket;
-                message += " SoTimeout [" + socket.getSoTimeout() + "] Connected [" + socket.isConnected() + "]";
-                log.error( message, ioe );
-                throw ioe;
-            }
-            catch ( Exception e )
-            {
-                log.error( e );
-            }
-        }
-
-        return response;
-    }
-
-    /**
-     * Closes connection used by all LateralTCPSenders for this lateral connection. Dispose request
-     * should come into the facade and be sent to all lateral cache services. The lateral cache
-     * service will then call this method.
-     * <p>
-     * @throws IOException
-     */
-    public void dispose()
-        throws IOException
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Dispose called" );
-        }
-        // WILL CLOSE CONNECTION USED BY ALL
-        oos.close();
-        socket.close();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPService.java b/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPService.java
deleted file mode 100644
index 276408c..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPService.java
+++ /dev/null
@@ -1,456 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral.socket.tcp;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.jcs.auxiliary.lateral.LateralCommand;
-import org.apache.commons.jcs.auxiliary.lateral.LateralElementDescriptor;
-import org.apache.commons.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes;
-import org.apache.commons.jcs.engine.CacheElement;
-import org.apache.commons.jcs.engine.CacheInfo;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * A lateral cache service implementation. Does not implement getGroupKey
- * TODO: Remove generics
- */
-public class LateralTCPService<K, V>
-    implements ICacheServiceNonLocal<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( LateralTCPService.class );
-
-    /** special configuration */
-    private boolean allowPut;
-    private boolean allowGet;
-    private boolean issueRemoveOnPut;
-
-    /** Sends to another lateral. */
-    private LateralTCPSender sender;
-
-    /** use the vmid by default */
-    private long listenerId = CacheInfo.listenerId;
-
-    /**
-     * Constructor for the LateralTCPService object
-     * <p>
-     * @param lca ITCPLateralCacheAttributes
-     * @throws IOException
-     */
-    public LateralTCPService( ITCPLateralCacheAttributes lca )
-        throws IOException
-    {
-        this.allowGet = lca.isAllowGet();
-        this.allowPut = lca.isAllowPut();
-        this.issueRemoveOnPut = lca.isIssueRemoveOnPut();
-
-        try
-        {
-            sender = new LateralTCPSender( lca );
-
-            if ( log.isInfoEnabled() )
-            {
-                log.debug( "Created sender to [" + lca.getTcpServer() + "]" );
-            }
-        }
-        catch ( IOException e )
-        {
-            // log.error( "Could not create sender", e );
-            // This gets thrown over and over in recovery mode.
-            // The stack trace isn't useful here.
-            log.error( "Could not create sender to [" + lca.getTcpServer() + "] -- " + e.getMessage() );
-
-            throw e;
-        }
-    }
-
-    /**
-     * @param item
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> item )
-        throws IOException
-    {
-        update( item, getListenerId() );
-    }
-
-    /**
-     * If put is allowed, we will issue a put. If issue put on remove is configured, we will issue a
-     * remove. Either way, we create a lateral element descriptor, which is essentially a JCS TCP
-     * packet. It describes what operation the receiver should take when it gets the packet.
-     * <p>
-     * @see org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal#update(org.apache.commons.jcs.engine.behavior.ICacheElement,
-     *      long)
-     */
-    @Override
-    public void update( ICacheElement<K, V> item, long requesterId )
-        throws IOException
-    {
-        // if we don't allow put, see if we should remove on put
-        if ( !this.allowPut &&
-            // if we can't remove on put, and we can't put then return
-            !this.issueRemoveOnPut )
-        {
-            return;
-        }
-
-        // if we shouldn't remove on put, then put
-        if ( !this.issueRemoveOnPut )
-        {
-            LateralElementDescriptor<K, V> led = new LateralElementDescriptor<K, V>( item );
-            led.requesterId = requesterId;
-            led.command = LateralCommand.UPDATE;
-            sender.send( led );
-        }
-        // else issue a remove with the hashcode for remove check on
-        // on the other end, this will be a server config option
-        else
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Issuing a remove for a put" );
-            }
-            // set the value to null so we don't send the item
-            CacheElement<K, V> ce = new CacheElement<K, V>( item.getCacheName(), item.getKey(), null );
-            LateralElementDescriptor<K, V> led = new LateralElementDescriptor<K, V>( ce );
-            led.requesterId = requesterId;
-            led.command = LateralCommand.REMOVE;
-            led.valHashCode = item.getVal().hashCode();
-            sender.send( led );
-        }
-    }
-
-    /**
-     * Uses the default listener id and calls the next remove method.
-     * <p>
-     * @see org.apache.commons.jcs.engine.behavior.ICacheService#remove(String, Object)
-     */
-    @Override
-    public void remove( String cacheName, K key )
-        throws IOException
-    {
-        remove( cacheName, key, getListenerId() );
-    }
-
-    /**
-     * Wraps the key in a LateralElementDescriptor.
-     * <p>
-     * @see org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal#remove(String, Object, long)
-     */
-    @Override
-    public void remove( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        CacheElement<K, V> ce = new CacheElement<K, V>( cacheName, key, null );
-        LateralElementDescriptor<K, V> led = new LateralElementDescriptor<K, V>( ce );
-        led.requesterId = requesterId;
-        led.command = LateralCommand.REMOVE;
-        sender.send( led );
-    }
-
-    /**
-     * Does nothing.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public void release()
-        throws IOException
-    {
-        // nothing needs to be done
-    }
-
-    /**
-     * Will close the connection.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void dispose( String cacheName )
-        throws IOException
-    {
-        sender.dispose();
-    }
-
-    /**
-     * @param cacheName
-     * @param key
-     * @return ICacheElement<K, V> if found.
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
-        throws IOException
-    {
-        return get( cacheName, key, getListenerId() );
-    }
-
-    /**
-     * If get is allowed, we will issues a get request.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @return ICacheElement<K, V> if found.
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        // if get is not allowed return
-        if ( this.allowGet )
-        {
-            CacheElement<K, V> ce = new CacheElement<K, V>( cacheName, key, null );
-            LateralElementDescriptor<K, V> led = new LateralElementDescriptor<K, V>( ce );
-            // led.requesterId = requesterId; // later
-            led.command = LateralCommand.GET;
-            @SuppressWarnings("unchecked") // Need to cast from Object
-            ICacheElement<K, V> response = (ICacheElement<K, V>)sender.sendAndReceive( led );
-            if ( response != null )
-            {
-                return response;
-            }
-            return null;
-        }
-        else
-        {
-            // nothing needs to be done
-            return null;
-        }
-    }
-
-    /**
-     * If allow get is true, we will issue a getmatching query.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache matching the pattern.
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
-        throws IOException
-    {
-        return getMatching( cacheName, pattern, getListenerId() );
-    }
-
-    /**
-     * If allow get is true, we will issue a getmatching query.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @param requesterId - our identity
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache matching the pattern.
-     * @throws IOException
-     */
-    @Override
-    @SuppressWarnings("unchecked") // Need to cast from Object
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
-        throws IOException
-    {
-        // if get is not allowed return
-        if ( this.allowGet )
-        {
-            CacheElement<String, String> ce = new CacheElement<String, String>( cacheName, pattern, null );
-            LateralElementDescriptor<String, String> led = new LateralElementDescriptor<String, String>( ce );
-            // led.requesterId = requesterId; // later
-            led.command = LateralCommand.GET_MATCHING;
-
-            Object response = sender.sendAndReceive( led );
-            if ( response != null )
-            {
-                return (Map<K, ICacheElement<K, V>>) response;
-            }
-            return Collections.emptyMap();
-        }
-        else
-        {
-            // nothing needs to be done
-            return null;
-        }
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
-        throws IOException
-    {
-        return getMultiple( cacheName, keys, getListenerId() );
-    }
-
-    /**
-     * This issues a separate get for each item.
-     * <p>
-     * TODO We should change this. It should issue one request.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @param requesterId
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
-        throws IOException
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-
-        if ( keys != null && !keys.isEmpty() )
-        {
-            for (K key : keys)
-            {
-                ICacheElement<K, V> element = get( cacheName, key );
-
-                if ( element != null )
-                {
-                    elements.put( key, element );
-                }
-            }
-        }
-        return elements;
-    }
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     * @param cacheName the name of the cache region
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getKeySet()
-     */
-    @Override
-    @SuppressWarnings("unchecked") // Need cast from Object
-    public Set<K> getKeySet(String cacheName) throws IOException
-    {
-        CacheElement<String, String> ce = new CacheElement<String, String>(cacheName, null, null);
-        LateralElementDescriptor<String, String> led = new LateralElementDescriptor<String, String>(ce);
-        // led.requesterId = requesterId; // later
-        led.command = LateralCommand.GET_KEYSET;
-        Object response = sender.sendAndReceive(led);
-        if (response != null)
-        {
-            return (Set<K>) response;
-        }
-
-        return null;
-    }
-
-    /**
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void removeAll( String cacheName )
-        throws IOException
-    {
-        removeAll( cacheName, getListenerId() );
-    }
-
-    /**
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void removeAll( String cacheName, long requesterId )
-        throws IOException
-    {
-        CacheElement<String, String> ce = new CacheElement<String, String>( cacheName, "ALL", null );
-        LateralElementDescriptor<String, String> led = new LateralElementDescriptor<String, String>( ce );
-        led.requesterId = requesterId;
-        led.command = LateralCommand.REMOVEALL;
-        sender.send( led );
-    }
-
-    /**
-     * @param args
-     */
-    public static void main( String args[] )
-    {
-        try
-        {
-            LateralTCPSender sender = new LateralTCPSender( new TCPLateralCacheAttributes() );
-
-            // process user input till done
-            boolean notDone = true;
-            String message = null;
-            // wait to dispose
-            BufferedReader br = new BufferedReader( new InputStreamReader( System.in, "UTF-8" ) );
-
-            while ( notDone )
-            {
-                System.out.println( "enter message:" );
-                message = br.readLine();
-
-                if (message == null)
-                {
-                    notDone = false;
-                    continue;
-                }
-
-                CacheElement<String, String> ce = new CacheElement<String, String>( "test", "test", message );
-                LateralElementDescriptor<String, String> led = new LateralElementDescriptor<String, String>( ce );
-                sender.send( led );
-            }
-        }
-        catch ( IOException e )
-        {
-            System.out.println( e.toString() );
-        }
-    }
-
-    /**
-     * @param listernId The listernId to set.
-     */
-    protected void setListenerId( long listernId )
-    {
-        this.listenerId = listernId;
-    }
-
-    /**
-     * @return Returns the listernId.
-     */
-    protected long getListenerId()
-    {
-        return listenerId;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/TCPLateralCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/TCPLateralCacheAttributes.java
deleted file mode 100644
index cac34db..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/TCPLateralCacheAttributes.java
+++ /dev/null
@@ -1,381 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral.socket.tcp;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.lateral.LateralCacheAttributes;
-import org.apache.commons.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes;
-
-/**
- * This interface defines functions that are particular to the TCP Lateral Cache plugin. It extends
- * the generic LateralCacheAttributes interface which in turn extends the AuxiliaryCache interface.
- */
-public class TCPLateralCacheAttributes
-    extends LateralCacheAttributes
-    implements ITCPLateralCacheAttributes
-{
-    /** Don't change. */
-    private static final long serialVersionUID = 1077889204513905220L;
-
-    /** default */
-    private static final String DEFAULT_UDP_DISCOVERY_ADDRESS = "228.5.6.7";
-
-    /** default */
-    private static final int DEFAULT_UDP_DISCOVERY_PORT = 6789;
-
-    /** default */
-    private static final boolean DEFAULT_UDP_DISCOVERY_ENABLED = true;
-
-    /** default */
-    private static final boolean DEFAULT_ALLOW_GET = true;
-
-    /** default */
-    private static final boolean DEFAULT_ALLOW_PUT = true;
-
-    /** default */
-    private static final boolean DEFAULT_ISSUE_REMOVE_FOR_PUT = false;
-
-    /** default */
-    private static final boolean DEFAULT_FILTER_REMOVE_BY_HASH_CODE = true;
-
-    /** default - Only block for 1 second before timing out on a read.*/
-    private static final int DEFAULT_SOCKET_TIME_OUT = 1000;
-
-    /** default - Only block for 2 seconds before timing out on startup.*/
-    private static final int DEFAULT_OPEN_TIMEOUT = 2000;
-
-    /** TCP -------------------------------------------- */
-    private String tcpServers = "";
-
-    /** used to identify the service that this manager will be operating on */
-    private String tcpServer = "";
-
-    /** The pot */
-    private int tcpListenerPort = 0;
-
-    /** udp discovery for tcp server */
-    private String udpDiscoveryAddr = DEFAULT_UDP_DISCOVERY_ADDRESS;
-
-    /** discovery port */
-    private int udpDiscoveryPort = DEFAULT_UDP_DISCOVERY_PORT;
-
-    /** discovery switch */
-    private boolean udpDiscoveryEnabled = DEFAULT_UDP_DISCOVERY_ENABLED;
-
-    /** can we put */
-    private boolean allowPut = DEFAULT_ALLOW_GET;
-
-    /** can we go laterally for a get */
-    private boolean allowGet = DEFAULT_ALLOW_PUT;
-
-    /** call remove when there is a put */
-    private boolean issueRemoveOnPut = DEFAULT_ISSUE_REMOVE_FOR_PUT;
-
-    /** don't remove it the hashcode is the same */
-    private boolean filterRemoveByHashCode = DEFAULT_FILTER_REMOVE_BY_HASH_CODE;
-
-    /** Only block for socketTimeOut seconds before timing out on a read.  */
-    private int socketTimeOut = DEFAULT_SOCKET_TIME_OUT;
-
-    /** Only block for openTimeOut seconds before timing out on startup. */
-    private int openTimeOut = DEFAULT_OPEN_TIMEOUT;
-
-    /**
-     * Sets the tcpServer attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val The new tcpServer value
-     */
-    @Override
-    public void setTcpServer( String val )
-    {
-        this.tcpServer = val;
-    }
-
-    /**
-     * Gets the tcpServer attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The tcpServer value
-     */
-    @Override
-    public String getTcpServer()
-    {
-        return this.tcpServer;
-    }
-
-    /**
-     * Sets the tcpServers attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val The new tcpServers value
-     */
-    @Override
-    public void setTcpServers( String val )
-    {
-        this.tcpServers = val;
-    }
-
-    /**
-     * Gets the tcpServers attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The tcpServers value
-     */
-    @Override
-    public String getTcpServers()
-    {
-        return this.tcpServers;
-    }
-
-    /**
-     * Sets the tcpListenerPort attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val The new tcpListenerPort value
-     */
-    @Override
-    public void setTcpListenerPort( int val )
-    {
-        this.tcpListenerPort = val;
-    }
-
-    /**
-     * Gets the tcpListenerPort attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The tcpListenerPort value
-     */
-    @Override
-    public int getTcpListenerPort()
-    {
-        return this.tcpListenerPort;
-    }
-
-    /**
-     * Can setup UDP Discovery. This only works for TCp laterals right now. It allows TCP laterals
-     * to find each other by broadcasting to a multicast port.
-     * <p>
-     * @param udpDiscoveryEnabled The udpDiscoveryEnabled to set.
-     */
-    @Override
-    public void setUdpDiscoveryEnabled( boolean udpDiscoveryEnabled )
-    {
-        this.udpDiscoveryEnabled = udpDiscoveryEnabled;
-    }
-
-    /**
-     * Whether or not TCP laterals can try to find each other by multicast communication.
-     * <p>
-     * @return Returns the udpDiscoveryEnabled.
-     */
-    @Override
-    public boolean isUdpDiscoveryEnabled()
-    {
-        return this.udpDiscoveryEnabled;
-    }
-
-    /**
-     * The port to use if UDPDiscovery is enabled.
-     * <p>
-     * @return Returns the udpDiscoveryPort.
-     */
-    @Override
-    public int getUdpDiscoveryPort()
-    {
-        return this.udpDiscoveryPort;
-    }
-
-    /**
-     * Sets the port to use if UDPDiscovery is enabled.
-     * <p>
-     * @param udpDiscoveryPort The udpDiscoveryPort to set.
-     */
-    @Override
-    public void setUdpDiscoveryPort( int udpDiscoveryPort )
-    {
-        this.udpDiscoveryPort = udpDiscoveryPort;
-    }
-
-    /**
-     * The address to broadcast to if UDPDiscovery is enabled.
-     * <p>
-     * @return Returns the udpDiscoveryAddr.
-     */
-    @Override
-    public String getUdpDiscoveryAddr()
-    {
-        return this.udpDiscoveryAddr;
-    }
-
-    /**
-     * Sets the address to broadcast to if UDPDiscovery is enabled.
-     * <p>
-     * @param udpDiscoveryAddr The udpDiscoveryAddr to set.
-     */
-    @Override
-    public void setUdpDiscoveryAddr( String udpDiscoveryAddr )
-    {
-        this.udpDiscoveryAddr = udpDiscoveryAddr;
-    }
-
-    /**
-     * Is the lateral allowed to try and get from other laterals.
-     * <p>
-     * This replaces the old putOnlyMode
-     * <p>
-     * @param allowGet
-     */
-    @Override
-    public void setAllowGet( boolean allowGet )
-    {
-        this.allowGet = allowGet;
-    }
-
-    /**
-     * Is the lateral allowed to try and get from other laterals.
-     * <p>
-     * @return true if the lateral will try to get
-     */
-    @Override
-    public boolean isAllowGet()
-    {
-        return this.allowGet;
-    }
-
-    /**
-     * Is the lateral allowed to put objects to other laterals.
-     * <p>
-     * @param allowPut
-     */
-    @Override
-    public void setAllowPut( boolean allowPut )
-    {
-        this.allowPut = allowPut;
-    }
-
-    /**
-     * Is the lateral allowed to put objects to other laterals.
-     * <p>
-     * @return true if puts are allowed
-     */
-    @Override
-    public boolean isAllowPut()
-    {
-        return this.allowPut;
-    }
-
-    /**
-     * Should the client send a remove command rather than a put when update is called. This is a
-     * client option, not a receiver option. This allows you to prevent the lateral from serializing
-     * objects.
-     * <p>
-     * @param issueRemoveOnPut
-     */
-    @Override
-    public void setIssueRemoveOnPut( boolean issueRemoveOnPut )
-    {
-        this.issueRemoveOnPut = issueRemoveOnPut;
-    }
-
-    /**
-     * Should the client send a remove command rather than a put when update is called. This is a
-     * client option, not a receiver option. This allows you to prevent the lateral from serializing
-     * objects.
-     * <p>
-     * @return true if updates will result in a remove command being sent.
-     */
-    @Override
-    public boolean isIssueRemoveOnPut()
-    {
-        return this.issueRemoveOnPut;
-    }
-
-    /**
-     * Should the receiver try to match hashcodes. If true, the receiver will see if the client
-     * supplied a hashcode. If it did, then it will try to get the item locally. If the item exists,
-     * then it will compare the hashcode. if they are the same, it will not remove. This isn't
-     * perfect since different objects can have the same hashcode, but it is unlikely of objects of
-     * the same type.
-     * <p>
-     * @return boolean
-     */
-    @Override
-    public boolean isFilterRemoveByHashCode()
-    {
-        return this.filterRemoveByHashCode;
-    }
-
-    /**
-     * Should the receiver try to match hashcodes. If true, the receiver will see if the client
-     * supplied a hashcode. If it did, then it will try to get the item locally. If the item exists,
-     * then it will compare the hashcode. if they are the same, it will not remove. This isn't
-     * perfect since different objects can have the same hashcode, but it is unlikely of objects of
-     * the same type.
-     * <p>
-     * @param filter
-     */
-    @Override
-    public void setFilterRemoveByHashCode( boolean filter )
-    {
-        this.filterRemoveByHashCode = filter;
-    }
-
-    /**
-     * @param socketTimeOut the socketTimeOut to set
-     */
-    @Override
-    public void setSocketTimeOut( int socketTimeOut )
-    {
-        this.socketTimeOut = socketTimeOut;
-    }
-
-    /**
-     * @return the socketTimeOut
-     */
-    @Override
-    public int getSocketTimeOut()
-    {
-        return socketTimeOut;
-    }
-
-    /**
-     * @param openTimeOut the openTimeOut to set
-     */
-    @Override
-    public void setOpenTimeOut( int openTimeOut )
-    {
-        this.openTimeOut = openTimeOut;
-    }
-
-    /**
-     * @return the openTimeOut
-     */
-    @Override
-    public int getOpenTimeOut()
-    {
-        return openTimeOut;
-    }
-
-    /**
-     * Used to key the instance TODO create another method for this and use toString for debugging
-     * only.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String toString()
-    {
-        return this.getTcpServer() + ":" + this.getTcpListenerPort();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/behavior/ITCPLateralCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/behavior/ITCPLateralCacheAttributes.java
deleted file mode 100644
index db12800..0000000
--- a/src/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/behavior/ITCPLateralCacheAttributes.java
+++ /dev/null
@@ -1,218 +0,0 @@
-package org.apache.commons.jcs.auxiliary.lateral.socket.tcp.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes;
-
-/**
- * This interface defines functions that are particular to the TCP Lateral Cache
- * plugin. It extends the generic LateralCacheAttributes interface which in turn
- * extends the AuxiliaryCache interface.
- * <p>
- * @author Aaron Smuts
- */
-public interface ITCPLateralCacheAttributes
-    extends ILateralCacheAttributes
-{
-    /**
-     * Sets the tcpServer attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val
-     *            The new tcpServer value
-     */
-    void setTcpServer( String val );
-
-    /**
-     * Gets the tcpServer attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The tcpServer value
-     */
-    String getTcpServer();
-
-    /**
-     * Sets the tcpServers attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val
-     *            The new tcpServers value
-     */
-    void setTcpServers( String val );
-
-    /**
-     * Gets the tcpServers attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The tcpServers value
-     */
-    String getTcpServers();
-
-    /**
-     * Sets the tcpListenerPort attribute of the ILateralCacheAttributes object
-     * <p>
-     * @param val
-     *            The new tcpListenerPort value
-     */
-    void setTcpListenerPort( int val );
-
-    /**
-     * Gets the tcpListenerPort attribute of the ILateralCacheAttributes object
-     * <p>
-     * @return The tcpListenerPort value
-     */
-    int getTcpListenerPort();
-
-    /**
-     * Can setup UDP Discovery. This only works for TCp laterals right now. It
-     * allows TCP laterals to find each other by broadcasting to a multicast
-     * port.
-     * <p>
-     * @param udpDiscoveryEnabled
-     *            The udpDiscoveryEnabled to set.
-     */
-    void setUdpDiscoveryEnabled( boolean udpDiscoveryEnabled );
-
-    /**
-     * Whether or not TCP laterals can try to find each other by multicast
-     * communication.
-     * <p>
-     * @return Returns the udpDiscoveryEnabled.
-     */
-    boolean isUdpDiscoveryEnabled();
-
-    /**
-     * The port to use if UDPDiscovery is enabled.
-     * <p>
-     * @return Returns the udpDiscoveryPort.
-     */
-    int getUdpDiscoveryPort();
-
-    /**
-     * Sets the port to use if UDPDiscovery is enabled.
-     * <p>
-     * @param udpDiscoveryPort
-     *            The udpDiscoveryPort to set.
-     */
-    void setUdpDiscoveryPort( int udpDiscoveryPort );
-
-    /**
-     * The address to broadcast to if UDPDiscovery is enabled.
-     * <p>
-     * @return Returns the udpDiscoveryAddr.
-     */
-    String getUdpDiscoveryAddr();
-
-    /**
-     * Sets the address to broadcast to if UDPDiscovery is enabled.
-     * <p>
-     * @param udpDiscoveryAddr
-     *            The udpDiscoveryAddr to set.
-     */
-    void setUdpDiscoveryAddr( String udpDiscoveryAddr );
-
-    /**
-     * Is the lateral allowed to try and get from other laterals.
-     * <p>
-     * This replaces the old putOnlyMode
-     * <p>
-     * @param allowGet
-     */
-    void setAllowGet( boolean allowGet );
-
-    /**
-     * Is the lateral allowed to try and get from other laterals.
-     * <p>
-     * @return true if the lateral will try to get
-     */
-    boolean isAllowGet();
-
-    /**
-     * Is the lateral allowed to put objects to other laterals.
-     * <p>
-     * @param allowPut
-     */
-    void setAllowPut( boolean allowPut );
-
-    /**
-     * Is the lateral allowed to put objects to other laterals.
-     * <p>
-     * @return true if puts are allowed
-     */
-    boolean isAllowPut();
-
-    /**
-     * Should the client send a remove command rather than a put when update is
-     * called. This is a client option, not a receiver option. This allows you
-     * to prevent the lateral from serializing objects.
-     * <p>
-     * @param issueRemoveOnPut
-     */
-    void setIssueRemoveOnPut( boolean issueRemoveOnPut );
-
-    /**
-     * Should the client send a remove command rather than a put when update is
-     * called. This is a client option, not a receiver option. This allows you
-     * to prevent the lateral from serializing objects.
-     * <p>
-     * @return true if updates will result in a remove command being sent.
-     */
-    boolean isIssueRemoveOnPut();
-
-    /**
-     * Should the receiver try to match hashcodes. If true, the receiver will
-     * see if the client supplied a hashcode. If it did, then it will try to get
-     * the item locally. If the item exists, then it will compare the hashcode.
-     * if they are the same, it will not remove. This isn't perfect since
-     * different objects can have the same hashcode, but it is unlikely of
-     * objects of the same type.
-     * <p>
-     * @return boolean
-     */
-    boolean isFilterRemoveByHashCode();
-
-    /**
-     * Should the receiver try to match hashcodes. If true, the receiver will
-     * see if the client supplied a hashcode. If it did, then it will try to get
-     * the item locally. If the item exists, then it will compare the hashcode.
-     * if they are the same, it will not remove. This isn't perfect since
-     * different objects can have the same hashcode, but it is unlikely of
-     * objects of the same type.
-     * <p>
-     * @param filter
-     */
-    void setFilterRemoveByHashCode( boolean filter );
-
-    /**
-     * @param socketTimeOut the socketTimeOut to set
-     */
-    void setSocketTimeOut( int socketTimeOut );
-
-    /**
-     * @return the socketTimeOut
-     */
-    int getSocketTimeOut();
-
-    /**
-     * @param openTimeOut the openTimeOut to set
-     */
-    void setOpenTimeOut( int openTimeOut );
-
-    /**
-     * @return the openTimeOut
-     */
-    int getOpenTimeOut();
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/package.html b/src/org/apache/commons/jcs/auxiliary/package.html
deleted file mode 100644
index d1d712f..0000000
--- a/src/org/apache/commons/jcs/auxiliary/package.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-    Root package for auxiliary caches.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteAuxiliaryCache.java b/src/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
deleted file mode 100644
index 557f6b4..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
+++ /dev/null
@@ -1,719 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheEventLogging;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheClient;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheListener;
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.RemoteType;
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.ZombieCacheServiceNonLocal;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheElementSerialized;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.jcs.engine.behavior.IZombie;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.jcs.utils.serialization.SerializationConversionUtil;
-import org.apache.commons.jcs.utils.threadpool.ThreadPoolManager;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/** Abstract base for remote caches. I'm trying to break out and reuse common functionality. */
-public abstract class AbstractRemoteAuxiliaryCache<K, V>
-    extends AbstractAuxiliaryCacheEventLogging<K, V>
-    implements IRemoteCacheClient<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( AbstractRemoteAuxiliaryCache.class );
-
-    /**
-     * This does the work. In an RMI instances, it will be a remote reference. In an http remote
-     * cache it will be an http client. In zombie mode it is replaced with a balking facade.
-     */
-    private ICacheServiceNonLocal<K, V> remoteCacheService;
-
-    /** The cacheName */
-    protected final String cacheName;
-
-    /** The listener. This can be null. */
-    private IRemoteCacheListener<K, V> remoteCacheListener;
-
-    /** The configuration values. TODO, we'll need a base here. */
-    private IRemoteCacheAttributes remoteCacheAttributes;
-
-    /** A thread pool for gets if configured. */
-    private ThreadPoolExecutor pool = null;
-
-    /** Should we get asynchronously using a pool. */
-    private boolean usePoolForGet = false;
-
-    /**
-     * Creates the base.
-     * <p>
-     * @param cattr
-     * @param remote
-     * @param listener
-     */
-    public AbstractRemoteAuxiliaryCache( IRemoteCacheAttributes cattr, ICacheServiceNonLocal<K, V> remote,
-                                         IRemoteCacheListener<K, V> listener )
-    {
-        this.setRemoteCacheAttributes( cattr );
-        this.cacheName = cattr.getCacheName();
-        this.setRemoteCacheService( remote );
-        this.setRemoteCacheListener( listener );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Construct> cacheName=" + cattr.getCacheName() );
-            log.debug( "irca = " + getRemoteCacheAttributes() );
-            log.debug( "remote = " + remote );
-            log.debug( "listener = " + listener );
-        }
-
-        // use a pool if it is greater than 0
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "GetTimeoutMillis() = " + getRemoteCacheAttributes().getGetTimeoutMillis() );
-        }
-
-        if ( getRemoteCacheAttributes().getGetTimeoutMillis() > 0 )
-        {
-            pool = ThreadPoolManager.getInstance().getPool( getRemoteCacheAttributes().getThreadPoolName() );
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Thread Pool = " + pool );
-            }
-            if ( pool != null )
-            {
-                usePoolForGet = true;
-            }
-        }
-    }
-
-    /**
-     * Synchronously dispose the remote cache; if failed, replace the remote handle with a zombie.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    protected void processDispose()
-        throws IOException
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Disposing of remote cache." );
-        }
-        try
-        {
-            if ( getRemoteCacheListener() != null )
-            {
-                getRemoteCacheListener().dispose();
-            }
-        }
-        catch ( Exception ex )
-        {
-            log.error( "Couldn't dispose", ex );
-            handleException( ex, "Failed to dispose [" + cacheName + "]", ICacheEventLogger.DISPOSE_EVENT );
-        }
-    }
-
-    /**
-     * Synchronously get from the remote cache; if failed, replace the remote handle with a zombie.
-     * <p>
-     * Use threadpool to timeout if a value is set for GetTimeoutMillis
-     * <p>
-     * If we are a cluster client, we need to leave the Element in its serialized form. Cluster
-     * clients cannot deserialize objects. Cluster clients get ICacheElementSerialized objects from
-     * other remote servers.
-     * <p>
-     * @param key
-     * @return ICacheElement, a wrapper around the key, value, and attributes
-     * @throws IOException
-     */
-    @Override
-    protected ICacheElement<K, V> processGet( K key )
-        throws IOException
-    {
-        ICacheElement<K, V> retVal = null;
-        try
-        {
-            if ( usePoolForGet )
-            {
-                retVal = getUsingPool( key );
-            }
-            else
-            {
-                retVal = getRemoteCacheService().get( cacheName, key, getListenerId() );
-            }
-
-            // Eventually the instance of will not be necessary.
-            if ( retVal instanceof ICacheElementSerialized )
-            {
-                // Never try to deserialize if you are a cluster client. Cluster
-                // clients are merely intra-remote cache communicators. Remote caches are assumed
-                // to have no ability to deserialize the objects.
-                if ( this.getRemoteCacheAttributes().getRemoteType() != RemoteType.CLUSTER )
-                {
-                    retVal = SerializationConversionUtil.getDeSerializedCacheElement( (ICacheElementSerialized<K, V>) retVal,
-                            super.getElementSerializer() );
-                }
-            }
-        }
-        catch ( Exception ex )
-        {
-            handleException( ex, "Failed to get [" + key + "] from [" + cacheName + "]", ICacheEventLogger.GET_EVENT );
-        }
-        return retVal;
-    }
-
-    /**
-     * This allows gets to timeout in case of remote server machine shutdown.
-     * <p>
-     * @param key
-     * @return ICacheElement
-     * @throws IOException
-     */
-    public ICacheElement<K, V> getUsingPool( final K key )
-        throws IOException
-    {
-        int timeout = getRemoteCacheAttributes().getGetTimeoutMillis();
-
-        try
-        {
-            Callable<ICacheElement<K, V>> command = new Callable<ICacheElement<K, V>>()
-            {
-                @Override
-                public ICacheElement<K, V> call()
-                    throws IOException
-                {
-                    return getRemoteCacheService().get( cacheName, key, getListenerId() );
-                }
-            };
-
-            // execute using the pool
-            Future<ICacheElement<K, V>> future = pool.submit(command);
-
-            // used timed get in order to timeout
-            ICacheElement<K, V> ice = future.get(timeout, TimeUnit.MILLISECONDS);
-
-            if ( log.isDebugEnabled() )
-            {
-                if ( ice == null )
-                {
-                    log.debug( "nothing found in remote cache" );
-                }
-                else
-                {
-                    log.debug( "found item in remote cache" );
-                }
-            }
-            return ice;
-        }
-        catch ( TimeoutException te )
-        {
-            log.warn( "TimeoutException, Get Request timed out after " + timeout );
-            throw new IOException( "Get Request timed out after " + timeout );
-        }
-        catch ( InterruptedException ex )
-        {
-            log.warn( "InterruptedException, Get Request timed out after " + timeout );
-            throw new IOException( "Get Request timed out after " + timeout );
-        }
-        catch (ExecutionException ex)
-        {
-            // assume that this is an IOException thrown by the callable.
-            log.error( "ExecutionException, Assuming an IO exception thrown in the background.", ex );
-            throw new IOException( "Get Request timed out after " + timeout );
-        }
-    }
-
-    /**
-     * Calls get matching on the server. Each entry in the result is unwrapped.
-     * <p>
-     * @param pattern
-     * @return Map
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> processGetMatching( String pattern )
-        throws IOException
-    {
-        Map<K, ICacheElement<K, V>> results = new HashMap<K, ICacheElement<K, V>>();
-        try
-        {
-            Map<K, ICacheElement<K, V>> rawResults = getRemoteCacheService().getMatching( cacheName, pattern, getListenerId() );
-
-            // Eventually the instance of will not be necessary.
-            if ( rawResults != null )
-            {
-                for (Map.Entry<K, ICacheElement<K, V>> entry : rawResults.entrySet())
-                {
-                    ICacheElement<K, V> unwrappedResult = null;
-                    if ( entry.getValue() instanceof ICacheElementSerialized )
-                    {
-                        // Never try to deserialize if you are a cluster client. Cluster
-                        // clients are merely intra-remote cache communicators. Remote caches are assumed
-                        // to have no ability to deserialize the objects.
-                        if ( this.getRemoteCacheAttributes().getRemoteType() != RemoteType.CLUSTER )
-                        {
-                            unwrappedResult = SerializationConversionUtil
-                                .getDeSerializedCacheElement( (ICacheElementSerialized<K, V>) entry.getValue(),
-                                        super.getElementSerializer() );
-                        }
-                    }
-                    else
-                    {
-                        unwrappedResult = entry.getValue();
-                    }
-                    results.put( entry.getKey(), unwrappedResult );
-                }
-            }
-        }
-        catch ( Exception ex )
-        {
-            handleException( ex, "Failed to getMatching [" + pattern + "] from [" + cacheName + "]",
-                             ICacheEventLogger.GET_EVENT );
-        }
-        return results;
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    protected Map<K, ICacheElement<K, V>> processGetMultiple( Set<K> keys )
-        throws IOException
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-        if ( keys != null && !keys.isEmpty() )
-        {
-            for (K key : keys)
-            {
-                ICacheElement<K, V> element = get( key );
-
-                if ( element != null )
-                {
-                    elements.put( key, element );
-                }
-            }
-        }
-        return elements;
-    }
-
-    /**
-     * Synchronously remove from the remote cache; if failed, replace the remote handle with a
-     * zombie.
-     * <p>
-     * @param key
-     * @return boolean, whether or not the item was removed
-     * @throws IOException
-     */
-    @Override
-    protected boolean processRemove( K key )
-        throws IOException
-    {
-        if ( !this.getRemoteCacheAttributes().getGetOnly() )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "remove> key=" + key );
-            }
-            try
-            {
-                getRemoteCacheService().remove( cacheName, key, getListenerId() );
-            }
-            catch ( Exception ex )
-            {
-                handleException( ex, "Failed to remove " + key + " from " + cacheName, ICacheEventLogger.REMOVE_EVENT );
-            }
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Synchronously removeAll from the remote cache; if failed, replace the remote handle with a
-     * zombie.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    protected void processRemoveAll()
-        throws IOException
-    {
-        if ( !this.getRemoteCacheAttributes().getGetOnly() )
-        {
-            try
-            {
-                getRemoteCacheService().removeAll( cacheName, getListenerId() );
-            }
-            catch ( Exception ex )
-            {
-                handleException( ex, "Failed to remove all from " + cacheName, ICacheEventLogger.REMOVEALL_EVENT );
-            }
-        }
-    }
-
-    /**
-     * Serializes the object and then calls update on the remote server with the byte array. The
-     * byte array is wrapped in a ICacheElementSerialized. This allows the remote server to operate
-     * without any knowledge of caches classes.
-     * <p>
-     * @param ce
-     * @throws IOException
-     */
-    @Override
-    protected void processUpdate( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        if ( !getRemoteCacheAttributes().getGetOnly() )
-        {
-            ICacheElementSerialized<K, V> serialized = null;
-            try
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "sending item to remote server" );
-                }
-
-                // convert so we don't have to know about the object on the
-                // other end.
-                serialized = SerializationConversionUtil.getSerializedCacheElement( ce, super.getElementSerializer() );
-
-                remoteCacheService.update( serialized, getListenerId() );
-            }
-            catch ( NullPointerException npe )
-            {
-                log.error( "npe for ce = " + ce + "ce.attr = " + ce.getElementAttributes(), npe );
-            }
-            catch ( Exception ex )
-            {
-                // event queue will wait and retry
-                handleException( ex, "Failed to put [" + ce.getKey() + "] to " + ce.getCacheName(),
-                                 ICacheEventLogger.UPDATE_EVENT );
-            }
-        }
-        else
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "get only mode, not sending to remote server" );
-            }
-        }
-    }
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet()
-        throws IOException
-    {
-        return getRemoteCacheService().getKeySet(cacheName);
-    }
-
-    /**
-     * Allows other member of this package to access the listener. This is mainly needed for
-     * deregistering a listener.
-     * <p>
-     * @return IRemoteCacheListener, the listener for this remote server
-     */
-    @Override
-    public IRemoteCacheListener<K, V> getListener()
-    {
-        return getRemoteCacheListener();
-    }
-
-    /**
-     * let the remote cache set a listener_id. Since there is only one listener for all the regions
-     * and every region gets registered? the id shouldn't be set if it isn't zero. If it is we
-     * assume that it is a reconnect.
-     * <p>
-     * @param id The new listenerId value
-     */
-    public void setListenerId( long id )
-    {
-        if ( getRemoteCacheListener() != null )
-        {
-            try
-            {
-                getRemoteCacheListener().setListenerId( id );
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "set listenerId = " + id );
-                }
-            }
-            catch ( Exception e )
-            {
-                log.error( "Problem setting listenerId", e );
-            }
-        }
-    }
-
-    /**
-     * Gets the listenerId attribute of the RemoteCacheListener object
-     * <p>
-     * @return The listenerId value
-     */
-    @Override
-    public long getListenerId()
-    {
-        if ( getRemoteCacheListener() != null )
-        {
-            try
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "get listenerId = " + getRemoteCacheListener().getListenerId() );
-                }
-                return getRemoteCacheListener().getListenerId();
-            }
-            catch ( Exception e )
-            {
-                log.error( "Problem getting listenerId", e );
-            }
-        }
-        return -1;
-    }
-
-    /**
-     * Returns the current cache size.
-     * @return The size value
-     */
-    @Override
-    public int getSize()
-    {
-        return 0;
-    }
-
-    /**
-     * Custom exception handling some children.  This should be used to initiate failover.
-     * <p>
-     * @param ex
-     * @param msg
-     * @param eventName
-     * @throws IOException
-     */
-    protected abstract void handleException( Exception ex, String msg, String eventName )
-        throws IOException;
-
-    /**
-     * Gets the stats attribute of the RemoteCache object.
-     * <p>
-     * @return The stats value
-     */
-    @Override
-    public String getStats()
-    {
-        return getStatistics().toString();
-    }
-
-    /**
-     * @return IStats object
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "AbstractRemoteAuxiliaryCache" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        elems.add(new StatElement<String>( "Remote Type", this.getRemoteCacheAttributes().getRemoteTypeName() ) );
-
-//      if ( this.getRemoteCacheAttributes().getRemoteType() == RemoteType.CLUSTER )
-//      {
-//          // something cluster specific
-//      }
-
-        elems.add(new StatElement<Boolean>( "UsePoolForGet", Boolean.valueOf(usePoolForGet) ) );
-
-        if ( pool != null )
-        {
-            elems.add(new StatElement<Integer>( "Pool Size", Integer.valueOf(pool.getPoolSize()) ) );
-            elems.add(new StatElement<Integer>( "Maximum Pool Size", Integer.valueOf(pool.getMaximumPoolSize()) ) );
-        }
-
-        if ( getRemoteCacheService() instanceof ZombieCacheServiceNonLocal )
-        {
-            elems.add(new StatElement<Integer>( "Zombie Queue Size",
-                    Integer.valueOf(( (ZombieCacheServiceNonLocal<K, V>) getRemoteCacheService() ).getQueueSize()) ) );
-        }
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-
-    /**
-     * Returns the cache status. An error status indicates the remote connection is not available.
-     * <p>
-     * @return The status value
-     */
-    @Override
-    public CacheStatus getStatus()
-    {
-        return getRemoteCacheService() instanceof IZombie ? CacheStatus.ERROR : CacheStatus.ALIVE;
-    }
-
-    /**
-     * Replaces the current remote cache service handle with the given handle. If the current remote
-     * is a Zombie, then it propagates any events that are queued to the restored service.
-     * <p>
-     * @param restoredRemote ICacheServiceNonLocal -- the remote server or proxy to the remote server
-     */
-    @Override
-    public void fixCache( ICacheServiceNonLocal<?, ?> restoredRemote )
-    {
-        @SuppressWarnings("unchecked") // Don't know how to do this properly
-        ICacheServiceNonLocal<K, V> remote = (ICacheServiceNonLocal<K, V>)restoredRemote;
-        ICacheServiceNonLocal<K, V> prevRemote = getRemoteCacheService();
-        if ( prevRemote instanceof ZombieCacheServiceNonLocal )
-        {
-            ZombieCacheServiceNonLocal<K, V> zombie = (ZombieCacheServiceNonLocal<K, V>) prevRemote;
-            setRemoteCacheService( remote );
-            try
-            {
-                zombie.propagateEvents( remote );
-            }
-            catch ( Exception e )
-            {
-                try
-                {
-                    handleException( e, "Problem propagating events from Zombie Queue to new Remote Service.",
-                                     "fixCache" );
-                }
-                catch ( IOException e1 )
-                {
-                    // swallow, since this is just expected kick back.  Handle always throws
-                }
-            }
-        }
-        else
-        {
-            setRemoteCacheService( remote );
-        }
-    }
-
-
-    /**
-     * Gets the cacheType attribute of the RemoteCache object
-     * @return The cacheType value
-     */
-    @Override
-    public CacheType getCacheType()
-    {
-        return CacheType.REMOTE_CACHE;
-    }
-
-    /**
-     * Gets the cacheName attribute of the RemoteCache object.
-     * <p>
-     * @return The cacheName value
-     */
-    @Override
-    public String getCacheName()
-    {
-        return cacheName;
-    }
-
-    /**
-     * @param remote the remote to set
-     */
-    protected void setRemoteCacheService( ICacheServiceNonLocal<K, V> remote )
-    {
-        this.remoteCacheService = remote;
-    }
-
-    /**
-     * @return the remote
-     */
-    protected ICacheServiceNonLocal<K, V> getRemoteCacheService()
-    {
-        return remoteCacheService;
-    }
-
-    /**
-     * @return Returns the AuxiliaryCacheAttributes.
-     */
-    @Override
-    public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
-    {
-        return getRemoteCacheAttributes();
-    }
-
-    /**
-     * @param remoteCacheAttributes the remoteCacheAttributes to set
-     */
-    protected void setRemoteCacheAttributes( IRemoteCacheAttributes remoteCacheAttributes )
-    {
-        this.remoteCacheAttributes = remoteCacheAttributes;
-    }
-
-    /**
-     * @return the remoteCacheAttributes
-     */
-    protected IRemoteCacheAttributes getRemoteCacheAttributes()
-    {
-        return remoteCacheAttributes;
-    }
-
-    /**
-     * @param remoteCacheListener the remoteCacheListener to set
-     */
-    protected void setRemoteCacheListener( IRemoteCacheListener<K, V> remoteCacheListener )
-    {
-        this.remoteCacheListener = remoteCacheListener;
-    }
-
-    /**
-     * @return the remoteCacheListener
-     */
-    protected IRemoteCacheListener<K, V> getRemoteCacheListener()
-    {
-        return remoteCacheListener;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheListener.java b/src/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheListener.java
deleted file mode 100644
index 08880ce..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheListener.java
+++ /dev/null
@@ -1,349 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.net.UnknownHostException;
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheListener;
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.RemoteType;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheElementSerialized;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.control.CompositeCacheManager;
-import org.apache.commons.jcs.utils.net.HostNameUtil;
-import org.apache.commons.jcs.utils.serialization.SerializationConversionUtil;
-import org.apache.commons.jcs.utils.serialization.StandardSerializer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/** Shared listener base. */
-public abstract class AbstractRemoteCacheListener<K, V>
-    implements IRemoteCacheListener<K, V>, Serializable
-{
-    /** Don't change */
-    private static final long serialVersionUID = 32442324243243L;
-
-    /** The logger */
-    private static final Log log = LogFactory.getLog( AbstractRemoteCacheListener.class );
-
-    /** The cached name of the local host. The remote server gets this for logging purposes. */
-    private static String localHostName = null;
-
-    /**
-     * The cache manager used to put items in different regions. This is set lazily and should not
-     * be sent to the remote server.
-     */
-    private transient ICompositeCacheManager cacheMgr;
-
-    /** The remote cache configuration object. */
-    private final IRemoteCacheAttributes irca;
-
-    /** Number of put requests received. For debugging only. */
-    protected int puts = 0;
-
-    /** Number of remove requests received. For debugging only. */
-    protected int removes = 0;
-
-    /** This is set by the remote cache server. */
-    private long listenerId = 0;
-
-    /** Custom serializer. Standard by default. */
-    private transient IElementSerializer elementSerializer = new StandardSerializer();
-
-    /**
-     * Only need one since it does work for all regions, just reference by multiple region names.
-     * <p>
-     * The constructor exports this object, making it available to receive incoming calls. The
-     * callback port is anonymous unless a local port value was specified in the configuration.
-     * <p>
-     * @param irca
-     * @param cacheMgr
-     */
-    public AbstractRemoteCacheListener( IRemoteCacheAttributes irca, ICompositeCacheManager cacheMgr )
-    {
-        this.irca = irca;
-        this.cacheMgr = cacheMgr;
-    }
-
-    /**
-     * Let the remote cache set a listener_id. Since there is only one listener for all the regions
-     * and every region gets registered? the id shouldn't be set if it isn't zero. If it is we
-     * assume that it is a reconnect.
-     * <p>
-     * @param id The new listenerId value
-     * @throws IOException
-     */
-    @Override
-    public void setListenerId( long id )
-        throws IOException
-    {
-        listenerId = id;
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "set listenerId = [" + id + "]" );
-        }
-    }
-
-    /**
-     * Gets the listenerId attribute of the RemoteCacheListener object. This is stored in the
-     * object. The RemoteCache object contains a reference to the listener and get the id this way.
-     * <p>
-     * @return The listenerId value
-     * @throws IOException
-     */
-    @Override
-    public long getListenerId()
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "get listenerId = [" + listenerId + "]" );
-        }
-        return listenerId;
-
-    }
-
-    /**
-     * Gets the remoteType attribute of the RemoteCacheListener object <p.
-     * @return The remoteType value
-     * @throws IOException
-     */
-    @Override
-    public RemoteType getRemoteType()
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "getRemoteType = [" + irca.getRemoteType() + "]" );
-        }
-        return irca.getRemoteType();
-    }
-
-    /**
-     * If this is configured to remove on put, then remove the element since it has been updated
-     * elsewhere. cd should be incomplete for faster transmission. We don't want to pass data only
-     * invalidation. The next time it is used the local cache will get the new version from the
-     * remote store.
-     * <p>
-     * If remove on put is not configured, then update the item.
-     * @param cb
-     * @throws IOException
-     */
-    @Override
-    public void handlePut( ICacheElement<K, V> cb )
-        throws IOException
-    {
-        if ( irca.getRemoveUponRemotePut() )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "PUTTING ELEMENT FROM REMOTE, (  invalidating ) " );
-            }
-            handleRemove( cb.getCacheName(), cb.getKey() );
-        }
-        else
-        {
-            puts++;
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "PUTTING ELEMENT FROM REMOTE, ( updating ) " );
-                log.debug( "cb = " + cb );
-
-                if ( puts % 100 == 0 )
-                {
-                    log.debug( "puts = " + puts );
-                }
-            }
-
-            CompositeCache<K, V> cache = getCacheManager().getCache( cb.getCacheName() );
-
-            // Eventually the instance of will not be necessary.
-            if ( cb instanceof ICacheElementSerialized )
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Object needs to be deserialized." );
-                }
-                try
-                {
-                    cb = SerializationConversionUtil.getDeSerializedCacheElement(
-                            (ICacheElementSerialized<K, V>) cb, this.elementSerializer );
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Deserialized result = " + cb );
-                    }
-                }
-                catch ( IOException e )
-                {
-                    throw e;
-                }
-                catch ( ClassNotFoundException e )
-                {
-                    log.error( "Received a serialized version of a class that we don't know about.", e );
-                }
-            }
-
-            cache.localUpdate( cb );
-        }
-    }
-
-    /**
-     * Calls localRemove on the CompositeCache.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @throws IOException
-     */
-    @Override
-    public void handleRemove( String cacheName, K key )
-        throws IOException
-    {
-        removes++;
-        if ( log.isDebugEnabled() )
-        {
-            if ( removes % 100 == 0 )
-            {
-                log.debug( "removes = " + removes );
-            }
-
-            log.debug( "handleRemove> cacheName=" + cacheName + ", key=" + key );
-        }
-
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
-
-        cache.localRemove( key );
-    }
-
-    /**
-     * Calls localRemoveAll on the CompositeCache.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void handleRemoveAll( String cacheName )
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "handleRemoveAll> cacheName=" + cacheName );
-        }
-
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
-        cache.localRemoveAll();
-    }
-
-    /**
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void handleDispose( String cacheName )
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "handleDispose> cacheName=" + cacheName );
-        }
-        // TODO consider what to do here, we really don't want to
-        // dispose, we just want to disconnect.
-        // just allow the cache to go into error recovery mode.
-        // getCacheManager().freeCache( cacheName, true );
-    }
-
-    /**
-     * Gets the cacheManager attribute of the RemoteCacheListener object. This is one of the few
-     * places that force the cache to be a singleton.
-     */
-    protected ICompositeCacheManager getCacheManager()
-    {
-        if ( cacheMgr == null )
-        {
-            try
-            {
-                cacheMgr = CompositeCacheManager.getInstance();
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "had to get cacheMgr" );
-                    log.debug( "cacheMgr = " + cacheMgr );
-                }
-            }
-            catch (CacheException e)
-            {
-                log.error( "Could not get cacheMgr", e );
-            }
-        }
-        else
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "already got cacheMgr = " + cacheMgr );
-            }
-        }
-
-        return cacheMgr;
-    }
-
-    /**
-     * This is for debugging. It allows the remote server to log the address of clients.
-     * <p>
-     * @return String
-     * @throws IOException
-     */
-    @Override
-    public synchronized String getLocalHostAddress()
-        throws IOException
-    {
-        if ( localHostName == null )
-        {
-            try
-            {
-                localHostName = HostNameUtil.getLocalHostAddress();
-            }
-            catch ( UnknownHostException uhe )
-            {
-                localHostName = "unknown";
-            }
-        }
-        return localHostName;
-    }
-
-    /**
-     * For easier debugging.
-     * <p>
-     * @return Basic info on this listener.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\n AbstractRemoteCacheListener: " );
-        buf.append( "\n RemoteHost = " + irca.getRemoteLocation().toString() );
-        buf.append( "\n ListenerId = " + listenerId );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java b/src/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java
deleted file mode 100644
index 623f3ed..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java
+++ /dev/null
@@ -1,472 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/** An abstract base for the No Wait Facade.  Different implementations will failover differently. */
-public abstract class AbstractRemoteCacheNoWaitFacade<K, V>
-    extends AbstractAuxiliaryCache<K, V>
-{
-    /** log instance */
-    private static final Log log = LogFactory.getLog( AbstractRemoteCacheNoWaitFacade.class );
-
-    /** The connection to a remote server, or a zombie. */
-    public RemoteCacheNoWait<K, V>[] noWaits; // TODO privatise if possible
-
-    /** The cache name */
-    private final String cacheName;
-
-    /** holds failover and cluster information */
-    private IRemoteCacheAttributes remoteCacheAttributes;
-
-    /** A cache manager */
-    private ICompositeCacheManager compositeCacheManager;
-
-    /**
-     * Constructs with the given remote cache, and fires events to any listeners.
-     * <p>
-     * @param noWaits
-     * @param rca
-     * @param cacheMgr
-     * @param cacheEventLogger
-     * @param elementSerializer
-     */
-    public AbstractRemoteCacheNoWaitFacade( RemoteCacheNoWait<K, V>[] noWaits, RemoteCacheAttributes rca,
-                                    ICompositeCacheManager cacheMgr, ICacheEventLogger cacheEventLogger,
-                                    IElementSerializer elementSerializer )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "CONSTRUCTING NO WAIT FACADE" );
-        }
-        this.noWaits = noWaits;
-        this.remoteCacheAttributes = rca;
-        this.cacheName = rca.getCacheName();
-        setCompositeCacheManager( cacheMgr );
-        setCacheEventLogger( cacheEventLogger );
-        setElementSerializer( elementSerializer );
-    }
-
-    /**
-     * Put an element in the cache.
-     * <p>
-     * @param ce
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "updating through cache facade, noWaits.length = " + noWaits.length );
-        }
-        int i = 0;
-        try
-        {
-            for ( ; i < noWaits.length; i++ )
-            {
-                noWaits[i].update( ce );
-                // an initial move into a zombie will lock this to primary
-                // recovery. will not discover other servers until primary
-                // reconnect
-                // and subsequent error
-            }
-        }
-        catch ( Exception ex )
-        {
-            String message = "Problem updating no wait.  Will initiate failover if the noWait is in error.";
-            log.error( message, ex );
-
-            if ( getCacheEventLogger() != null )
-            {
-                getCacheEventLogger().logError(
-                                                "RemoteCacheNoWaitFacade",
-                                                ICacheEventLogger.UPDATE_EVENT,
-                                                message + ":" + ex.getMessage() + " REGION: " + ce.getCacheName()
-                                                    + " ELEMENT: " + ce );
-            }
-
-            // can handle failover here? Is it safe to try the others?
-            // check to see it the noWait is now a zombie
-            // if it is a zombie, then move to the next in the failover list
-            // will need to keep them in order or a count
-            failover( i );
-            // should start a failover thread
-            // should probably only failover if there is only one in the noWait
-            // list
-            // Should start a background thread to restore the original primary if we are in failover state.
-        }
-    }
-
-    /**
-     * Synchronously reads from the remote cache.
-     * <p>
-     * @param key
-     * @return Either an ICacheElement<K, V> or null if it is not found.
-     */
-    @Override
-    public ICacheElement<K, V> get( K key )
-    {
-        for ( int i = 0; i < noWaits.length; i++ )
-        {
-            try
-            {
-                ICacheElement<K, V> obj = noWaits[i].get( key );
-                if ( obj != null )
-                {
-                    return obj;
-                }
-            }
-            catch ( IOException ex )
-            {
-                log.debug( "Failed to get." );
-                return null;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Synchronously read from the remote cache.
-     * <p>
-     * @param pattern
-     * @return map
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String pattern )
-        throws IOException
-    {
-        for ( int i = 0; i < noWaits.length; i++ )
-        {
-            try
-            {
-                return noWaits[i].getMatching( pattern );
-            }
-            catch ( IOException ex )
-            {
-                log.debug( "Failed to getMatching." );
-            }
-        }
-        return Collections.emptyMap();
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( Set<K> keys )
-    {
-        if ( keys != null && !keys.isEmpty() )
-        {
-            for ( int i = 0; i < noWaits.length; i++ )
-            {
-                try
-                {
-                    return noWaits[i].getMultiple( keys );
-                }
-                catch ( IOException ex )
-                {
-                    log.debug( "Failed to get." );
-                }
-            }
-        }
-
-        return Collections.emptyMap();
-    }
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet() throws IOException
-    {
-        HashSet<K> allKeys = new HashSet<K>();
-        for ( int i = 0; i < noWaits.length; i++ )
-        {
-            AuxiliaryCache<K, V> aux = noWaits[i];
-            if ( aux != null )
-            {
-                Set<K> keys = aux.getKeySet();
-                if(keys != null)
-                {
-                    allKeys.addAll( keys );
-                }
-            }
-        }
-        return allKeys;
-    }
-
-    /**
-     * Adds a remove request to the remote cache.
-     * <p>
-     * @param key
-     * @return whether or not it was removed, right now it return false.
-     */
-    @Override
-    public boolean remove( K key )
-    {
-        try
-        {
-            for ( int i = 0; i < noWaits.length; i++ )
-            {
-                noWaits[i].remove( key );
-            }
-        }
-        catch ( Exception ex )
-        {
-            log.error( ex );
-        }
-        return false;
-    }
-
-    /**
-     * Adds a removeAll request to the remote cache.
-     */
-    @Override
-    public void removeAll()
-    {
-        try
-        {
-            for ( int i = 0; i < noWaits.length; i++ )
-            {
-                noWaits[i].removeAll();
-            }
-        }
-        catch ( Exception ex )
-        {
-            log.error( ex );
-        }
-    }
-
-    /** Adds a dispose request to the remote cache. */
-    @Override
-    public void dispose()
-    {
-        try
-        {
-            for ( int i = 0; i < noWaits.length; i++ )
-            {
-                noWaits[i].dispose();
-            }
-        }
-        catch ( Exception ex )
-        {
-            log.error( "Problem in dispose.", ex );
-        }
-    }
-
-    /**
-     * No remote invocation.
-     * <p>
-     * @return The size value
-     */
-    @Override
-    public int getSize()
-    {
-        return 0;
-        // cache.getSize();
-    }
-
-    /**
-     * Gets the cacheType attribute of the RemoteCacheNoWaitFacade object.
-     * <p>
-     * @return The cacheType value
-     */
-    @Override
-    public CacheType getCacheType()
-    {
-        return CacheType.REMOTE_CACHE;
-    }
-
-    /**
-     * Gets the cacheName attribute of the RemoteCacheNoWaitFacade object.
-     * <p>
-     * @return The cacheName value
-     */
-    @Override
-    public String getCacheName()
-    {
-        return remoteCacheAttributes.getCacheName();
-    }
-
-    /**
-     * Gets the status attribute of the RemoteCacheNoWaitFacade object
-     * <p>
-     * Return ALIVE if any are alive.
-     * <p>
-     * @return The status value
-     */
-    @Override
-    public CacheStatus getStatus()
-    {
-        for ( int i = 0; i < noWaits.length; i++ )
-        {
-            if ( noWaits[i].getStatus() == CacheStatus.ALIVE )
-            {
-                return CacheStatus.ALIVE;
-            }
-        }
-
-        return CacheStatus.DISPOSED;
-    }
-
-    /**
-     * String form of some of the configuration information for the remote cache.
-     * <p>
-     * @return Some info for logging.
-     */
-    @Override
-    public String toString()
-    {
-        return "RemoteCacheNoWaitFacade: " + cacheName + ", rca = " + remoteCacheAttributes;
-    }
-
-    /**
-     * Begin the failover process if this is a local cache. Clustered remote caches do not failover.
-     * <p>
-     * @param i The no wait in error.
-     */
-    abstract void failover( int i );
-
-
-    /**
-     * @return Returns the AuxiliaryCacheAttributes.
-     */
-    @Override
-    public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
-    {
-        return this.remoteCacheAttributes;
-    }
-
-    /**
-     * getStats
-     * @return String
-     */
-    @Override
-    public String getStats()
-    {
-        return getStatistics().toString();
-    }
-
-    /**
-     * @return statistics about the cache region
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "Remote Cache No Wait Facade" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        if ( noWaits != null )
-        {
-            elems.add(new StatElement<Integer>( "Number of No Waits", Integer.valueOf(noWaits.length) ) );
-
-            for ( RemoteCacheNoWait<K, V> rcnw : noWaits )
-            {
-                // get the stats from the super too
-                IStats sStats = rcnw.getStatistics();
-                elems.addAll(sStats.getStatElements());
-            }
-        }
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-
-    /**
-     * This typically returns end point info .
-     * <p>
-     * @return the name
-     */
-    @Override
-    public String getEventLoggingExtraInfo()
-    {
-        return "Remote Cache No Wait Facade";
-    }
-
-    /**
-     * Gets the remoteCacheAttributes attribute of the RemoteCacheNoWaitFacade object
-     * <p>
-     * @return The remoteCacheAttributes value
-     */
-    public IRemoteCacheAttributes getRemoteCacheAttributes()
-    {
-        return remoteCacheAttributes;
-    }
-
-    /**
-     * Sets the remoteCacheAttributes attribute of the RemoteCacheNoWaitFacade object.
-     * <p>
-     * @param rca The new remoteCacheAttributes value
-     */
-    public void setRemoteCacheAttributes( IRemoteCacheAttributes rca )
-    {
-        this.remoteCacheAttributes = rca;
-    }
-
-    /**
-     * @param compositeCacheManager the compositeCacheManager to set
-     */
-    protected void setCompositeCacheManager( ICompositeCacheManager compositeCacheManager )
-    {
-        this.compositeCacheManager = compositeCacheManager;
-    }
-
-    /**
-     * @return the compositeCacheManager
-     */
-    protected ICompositeCacheManager getCompositeCacheManager()
-    {
-        return compositeCacheManager;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/CommonRemoteCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/remote/CommonRemoteCacheAttributes.java
deleted file mode 100644
index 7ef69f9..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/CommonRemoteCacheAttributes.java
+++ /dev/null
@@ -1,295 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.ICommonRemoteCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheConstants;
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.RemoteType;
-
-/**
- * Attributes common to remote cache client and server.
- */
-public class CommonRemoteCacheAttributes
-    extends AbstractAuxiliaryCacheAttributes
-    implements ICommonRemoteCacheAttributes
-{
-    /** Don't change */
-    private static final long serialVersionUID = -1555143736942374000L;
-
-    /** The service name */
-    private String remoteServiceName = IRemoteCacheConstants.REMOTE_CACHE_SERVICE_VAL;
-
-    /** server host and port */
-    private RemoteLocation location;
-
-    /** Cluster chain */
-    private String clusterServers = "";
-
-    /** THe type of remote cache, local or cluster */
-    private RemoteType remoteType = RemoteType.LOCAL;
-
-    /** Should we issue a local remove if we get a put from a remote server */
-    private boolean removeUponRemotePut = true;
-
-    /** Can we receive from or put to the remote. this probably shouldn't be used. Use receive. */
-    private boolean getOnly = false;
-
-    /** Should we put and get from the clusters. */
-    private boolean localClusterConsistency = false;
-
-    /** read and connect timeout */
-    private int rmiSocketFactoryTimeoutMillis = DEFAULT_RMI_SOCKET_FACTORY_TIMEOUT_MILLIS;
-
-    /** Default constructor for the RemoteCacheAttributes object */
-    public CommonRemoteCacheAttributes()
-    {
-        super();
-    }
-
-    /**
-     * Gets the remoteTypeName attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The remoteTypeName value
-     */
-    @Override
-    public String getRemoteTypeName()
-    {
-        return remoteType != null ? remoteType.toString() : RemoteType.LOCAL.toString();
-    }
-
-    /**
-     * Sets the remoteTypeName attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param s The new remoteTypeName value
-     */
-    @Override
-    public void setRemoteTypeName( String s )
-    {
-        RemoteType rt = RemoteType.valueOf(s);
-        if (rt != null)
-        {
-            this.remoteType = rt;
-        }
-    }
-
-    /**
-     * Gets the remoteType attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The remoteType value
-     */
-    @Override
-    public RemoteType getRemoteType()
-    {
-        return remoteType;
-    }
-
-    /**
-     * Sets the remoteType attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param p The new remoteType value
-     */
-    @Override
-    public void setRemoteType( RemoteType p )
-    {
-        this.remoteType = p;
-    }
-
-    /**
-     * Gets the remoteServiceName attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The remoteServiceName value
-     */
-    @Override
-    public String getRemoteServiceName()
-    {
-        return this.remoteServiceName;
-    }
-
-    /**
-     * Sets the remoteServiceName attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param s The new remoteServiceName value
-     */
-    @Override
-    public void setRemoteServiceName( String s )
-    {
-        this.remoteServiceName = s;
-    }
-
-    /**
-     * Sets the location attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param location The new location value
-     */
-    @Override
-    public void setRemoteLocation( RemoteLocation location )
-    {
-        this.location = location;
-    }
-
-    /**
-     * Sets the location attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param host The new remoteHost value
-     * @param port The new remotePort value
-     */
-    @Override
-    public void setRemoteLocation( String host, int port )
-    {
-        this.location = new RemoteLocation(host, port);
-    }
-
-    /**
-     * Gets the location attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The remote location value
-     */
-    @Override
-    public RemoteLocation getRemoteLocation()
-    {
-        return this.location;
-    }
-
-    /**
-     * Gets the clusterServers attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The clusterServers value
-     */
-    @Override
-    public String getClusterServers()
-    {
-        return this.clusterServers;
-    }
-
-    /**
-     * Sets the clusterServers attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param s The new clusterServers value
-     */
-    @Override
-    public void setClusterServers( String s )
-    {
-        this.clusterServers = s;
-    }
-
-    /**
-     * Gets the removeUponRemotePut attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The removeUponRemotePut value
-     */
-    @Override
-    public boolean getRemoveUponRemotePut()
-    {
-        return this.removeUponRemotePut;
-    }
-
-    /**
-     * Sets the removeUponRemotePut attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param r The new removeUponRemotePut value
-     */
-    @Override
-    public void setRemoveUponRemotePut( boolean r )
-    {
-        this.removeUponRemotePut = r;
-    }
-
-    /**
-     * Gets the getOnly attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The getOnly value
-     */
-    @Override
-    public boolean getGetOnly()
-    {
-        return this.getOnly;
-    }
-
-    /**
-     * Sets the getOnly attribute of the RemoteCacheAttributes object
-     * @param r The new getOnly value
-     */
-    @Override
-    public void setGetOnly( boolean r )
-    {
-        this.getOnly = r;
-    }
-
-    /**
-     * Should cluster updates be propagated to the locals.
-     * <p>
-     * @return The localClusterConsistency value
-     */
-    @Override
-    public boolean isLocalClusterConsistency()
-    {
-        return localClusterConsistency;
-    }
-
-    /**
-     * Should cluster updates be propagated to the locals.
-     * <p>
-     * @param r The new localClusterConsistency value
-     */
-    @Override
-    public void setLocalClusterConsistency( boolean r )
-    {
-        this.localClusterConsistency = r;
-    }
-
-    /**
-     * @param rmiSocketFactoryTimeoutMillis The rmiSocketFactoryTimeoutMillis to set.
-     */
-    @Override
-    public void setRmiSocketFactoryTimeoutMillis( int rmiSocketFactoryTimeoutMillis )
-    {
-        this.rmiSocketFactoryTimeoutMillis = rmiSocketFactoryTimeoutMillis;
-    }
-
-    /**
-     * @return Returns the rmiSocketFactoryTimeoutMillis.
-     */
-    @Override
-    public int getRmiSocketFactoryTimeoutMillis()
-    {
-        return rmiSocketFactoryTimeoutMillis;
-    }
-
-    /**
-     * @return String, all the important values that can be configured
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\n RemoteCacheAttributes " );
-        if (this.location != null)
-        {
-            buf.append( "\n remoteHost = [" + this.location.getHost() + "]" );
-            buf.append( "\n remotePort = [" + this.location.getPort() + "]" );
-        }
-        buf.append( "\n cacheName = [" + getCacheName() + "]" );
-        buf.append( "\n remoteType = [" + remoteType + "]" );
-        buf.append( "\n removeUponRemotePut = [" + this.removeUponRemotePut + "]" );
-        buf.append( "\n getOnly = [" + getOnly + "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCache.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteCache.java
deleted file mode 100644
index 39e971c..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCache.java
+++ /dev/null
@@ -1,195 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.ArrayList;
-
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheListener;
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.RemoteType;
-import org.apache.commons.jcs.engine.ZombieCacheServiceNonLocal;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Client proxy for an RMI remote cache.
- * <p>
- * This handles gets, updates, and removes. It also initiates failover recovery when an error is
- * encountered.
- */
-public class RemoteCache<K, V>
-    extends AbstractRemoteAuxiliaryCache<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( RemoteCache.class );
-
-    /** for error notifications */
-    private RemoteCacheMonitor monitor;
-
-    /**
-     * Constructor for the RemoteCache object. This object communicates with a remote cache server.
-     * One of these exists for each region. This also holds a reference to a listener. The same
-     * listener is used for all regions for one remote server. Holding a reference to the listener
-     * allows this object to know the listener id assigned by the remote cache.
-     * <p>
-     * @param cattr the cache configuration
-     * @param remote the remote cache server handle
-     * @param listener a listener
-     * @param monitor the cache monitor
-     */
-    public RemoteCache( IRemoteCacheAttributes cattr,
-        ICacheServiceNonLocal<K, V> remote,
-        IRemoteCacheListener<K, V> listener,
-        RemoteCacheMonitor monitor )
-    {
-        super( cattr, remote, listener );
-        this.monitor = monitor;
-
-        RemoteUtils.configureGlobalCustomSocketFactory( getRemoteCacheAttributes().getRmiSocketFactoryTimeoutMillis() );
-    }
-
-    /**
-     * @return IStats object
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "Remote Cache" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        elems.add(new StatElement<String>( "Remote Host:Port", getIPAddressForService() ) );
-        elems.add(new StatElement<String>( "Remote Type", this.getRemoteCacheAttributes().getRemoteTypeName() ) );
-
-//      if ( this.getRemoteCacheAttributes().getRemoteType() == RemoteType.CLUSTER )
-//      {
-//          // something cluster specific
-//      }
-
-        // get the stats from the super too
-        IStats sStats = super.getStatistics();
-        elems.addAll(sStats.getStatElements());
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-
-    /**
-     * Handles exception by disabling the remote cache service before re-throwing the exception in
-     * the form of an IOException.
-     * <p>
-     * @param ex
-     * @param msg
-     * @param eventName
-     * @throws IOException
-     */
-    @Override
-    protected void handleException( Exception ex, String msg, String eventName )
-        throws IOException
-    {
-        String message = "Disabling remote cache due to error: " + msg;
-
-        logError( cacheName, "", message );
-        log.error( message, ex );
-
-        // we should not switch if the existing is a zombie.
-        if ( getRemoteCacheService() == null || !( getRemoteCacheService() instanceof ZombieCacheServiceNonLocal ) )
-        {
-            // TODO make configurable
-            setRemoteCacheService( new ZombieCacheServiceNonLocal<K, V>( getRemoteCacheAttributes().getZombieQueueMaxSize() ) );
-        }
-        // may want to flush if region specifies
-        // Notify the cache monitor about the error, and kick off the recovery
-        // process.
-        monitor.notifyError();
-
-        // initiate failover if local
-        RemoteCacheNoWaitFacade<K, V> rcnwf = RemoteCacheFactory.getFacade( getRemoteCacheAttributes().getCacheName() );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Initiating failover, rcnwf = " + rcnwf );
-        }
-
-        if ( rcnwf != null && rcnwf.getRemoteCacheAttributes().getRemoteType() == RemoteType.LOCAL )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Found facade, calling failover" );
-            }
-            // may need to remove the noWait index here. It will be 0 if it is
-            // local since there is only 1 possible listener.
-            rcnwf.failover( 0 );
-        }
-
-        if ( ex instanceof IOException )
-        {
-            throw (IOException) ex;
-        }
-        throw new IOException( ex );
-    }
-
-    /**
-     * Debugging info.
-     * <p>
-     * @return basic info about the RemoteCache
-     */
-    @Override
-    public String toString()
-    {
-        return "RemoteCache: " + cacheName + " attributes = " + getRemoteCacheAttributes();
-    }
-
-    /**
-     * Gets the extra info for the event log.
-     * <p>
-     * @return disk location
-     */
-    @Override
-    public String getEventLoggingExtraInfo()
-    {
-        return getIPAddressForService();
-    }
-
-    /**
-     * IP address for the service, if one is stored.
-     * <p>
-     * Protected for testing.
-     * <p>
-     * @return String
-     */
-    protected String getIPAddressForService()
-    {
-        String ipAddress = "(null)";
-        if (this.getRemoteCacheAttributes().getRemoteLocation() != null)
-        {
-            ipAddress = this.getRemoteCacheAttributes().getRemoteLocation().toString();
-        }
-        return ipAddress;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheAttributes.java
deleted file mode 100644
index 67c23c2..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheAttributes.java
+++ /dev/null
@@ -1,261 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
-
-/**
- * These objects are used to configure the remote cache client.
- */
-public class RemoteCacheAttributes
-    extends CommonRemoteCacheAttributes
-    implements IRemoteCacheAttributes
-{
-    /** Don't change */
-    private static final long serialVersionUID = -1555143736942374000L;
-
-    /**
-     * Failover servers will be used by local caches one at a time. Listeners will be registered
-     * with all cluster servers. If we add a get from cluster attribute we will have the ability to
-     * chain clusters and have them get from each other.
-     */
-    private String failoverServers = "";
-
-    /** callback */
-    private int localPort = 0;
-
-    /** what failover server we are connected to. */
-    private int failoverIndex = 0;
-
-    /** Array of failover server addresses */
-    private RemoteLocation[] failovers;
-
-    /** default name is remote_cache_client */
-    private String threadPoolName = "remote_cache_client";
-
-    /** must be greater than 0 for a pool to be used. */
-    private int getTimeoutMillis = -1;
-
-    /**
-     * Can we receive from the server. You might have a 0 local store and keep everything on the
-     * remote. If so, you don't want to be notified of updates.
-     */
-    private boolean receive = DEFAULT_RECEIVE;
-
-    /** If the primary fails, we will queue items before reconnect.  This limits the number of items that can be queued. */
-    private int zombieQueueMaxSize = DEFAULT_ZOMBIE_QUEUE_MAX_SIZE;
-
-    /** Default constructor for the RemoteCacheAttributes object */
-    public RemoteCacheAttributes()
-    {
-        super();
-    }
-
-    /**
-     * Gets the failoverIndex attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The failoverIndex value
-     */
-    @Override
-    public int getFailoverIndex()
-    {
-        return failoverIndex;
-    }
-
-    /**
-     * Sets the failoverIndex attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param p The new failoverIndex value
-     */
-    @Override
-    public void setFailoverIndex( int p )
-    {
-        this.failoverIndex = p;
-    }
-
-    /**
-     * Gets the failovers attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The failovers value
-     */
-    @Override
-    public RemoteLocation[] getFailovers()
-    {
-        return this.failovers;
-    }
-
-    /**
-     * Sets the failovers attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param f The new failovers value
-     */
-    @Override
-    public void setFailovers( RemoteLocation[] f )
-    {
-        this.failovers = f;
-    }
-
-    /**
-     * Gets the failoverServers attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The failoverServers value
-     */
-    @Override
-    public String getFailoverServers()
-    {
-        return this.failoverServers;
-    }
-
-    /**
-     * Sets the failoverServers attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param s The new failoverServers value
-     */
-    @Override
-    public void setFailoverServers( String s )
-    {
-        this.failoverServers = s;
-    }
-
-    /**
-     * Gets the localPort attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The localPort value
-     */
-    @Override
-    public int getLocalPort()
-    {
-        return this.localPort;
-    }
-
-    /**
-     * Sets the localPort attribute of the RemoteCacheAttributes object
-     * @param p The new localPort value
-     */
-    @Override
-    public void setLocalPort( int p )
-    {
-        this.localPort = p;
-    }
-
-    /**
-     * @return the name of the pool
-     */
-    @Override
-    public String getThreadPoolName()
-    {
-        return threadPoolName;
-    }
-
-    /**
-     * @param name
-     */
-    @Override
-    public void setThreadPoolName( String name )
-    {
-        threadPoolName = name;
-    }
-
-    /**
-     * @return getTimeoutMillis
-     */
-    @Override
-    public int getGetTimeoutMillis()
-    {
-        return getTimeoutMillis;
-    }
-
-    /**
-     * @param millis
-     */
-    @Override
-    public void setGetTimeoutMillis( int millis )
-    {
-        getTimeoutMillis = millis;
-    }
-
-    /**
-     * By default this option is true. If you set it to false, you will not receive updates or
-     * removes from the remote server.
-     * <p>
-     * @param receive
-     */
-    @Override
-    public void setReceive( boolean receive )
-    {
-        this.receive = receive;
-    }
-
-    /**
-     * If RECEIVE is false then the remote cache will not register a listener with the remote
-     * server. This allows you to configure a remote server as a repository from which you can get
-     * and to which you put, but from which you do not receive any notifications. That is, you will
-     * not receive updates or removes.
-     * <p>
-     * If you set this option to false, you should set your local memory size to 0.
-     * <p>
-     * The remote cache manager uses this value to decide whether or not to register a listener.
-     * @return the receive value.
-     */
-    @Override
-    public boolean isReceive()
-    {
-        return this.receive;
-    }
-
-    /**
-     * The number of elements the zombie queue will hold. This queue is used to store events if we
-     * loose our connection with the server.
-     * <p>
-     * @param zombieQueueMaxSize The zombieQueueMaxSize to set.
-     */
-    @Override
-    public void setZombieQueueMaxSize( int zombieQueueMaxSize )
-    {
-        this.zombieQueueMaxSize = zombieQueueMaxSize;
-    }
-
-    /**
-     * The number of elements the zombie queue will hold. This queue is used to store events if we
-     * loose our connection with the server.
-     * <p>
-     * @return Returns the zombieQueueMaxSize.
-     */
-    @Override
-    public int getZombieQueueMaxSize()
-    {
-        return zombieQueueMaxSize;
-    }
-
-    /**
-     * @return String, all the important values that can be configured
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder(super.toString());
-        buf.append( "\n receive = [" + isReceive() + "]" );
-        buf.append( "\n getTimeoutMillis = [" + getGetTimeoutMillis() + "]" );
-        buf.append( "\n threadPoolName = [" + getThreadPoolName() + "]" );
-        buf.append( "\n localClusterConsistency = [" + isLocalClusterConsistency() + "]" );
-        buf.append( "\n zombieQueueMaxSize = [" + getZombieQueueMaxSize() + "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheFactory.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheFactory.java
deleted file mode 100644
index b8f2498..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheFactory.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.rmi.registry.Registry;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheFactory;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.RemoteType;
-import org.apache.commons.jcs.engine.behavior.ICache;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-
-/**
- * The RemoteCacheFactory creates remote caches for the cache hub. It returns a no wait facade which
- * is a wrapper around a no wait. The no wait object is either an active connection to a remote
- * cache or a balking zombie if the remote cache is not accessible. It should be transparent to the
- * clients.
- */
-public class RemoteCacheFactory
-    extends AbstractAuxiliaryCacheFactory
-{
-    /** store reference of facades to initiate failover */
-    private static ConcurrentMap<String, RemoteCacheNoWaitFacade<?, ?>> facades;
-
-    /** Monitor thread */
-    private static RemoteCacheMonitor monitor;
-
-    /** Contains mappings of RemoteLocation instance to RemoteCacheManager instance. */
-    private static ConcurrentMap<RemoteLocation, RemoteCacheManager> managers;
-
-    /** Lock for initialization of manager instances */
-    private static Lock managerLock;
-
-    /**
-     * For LOCAL clients we get a handle to all the failovers, but we do not register a listener
-     * with them. We create the RemoteCacheManager, but we do not get a cache.
-     * <p>
-     * The failover runner will get a cache from the manager. When the primary is restored it will
-     * tell the manager for the failover to deregister the listener.
-     * <p>
-     * @param iaca
-     * @param cacheMgr
-     * @param cacheEventLogger
-     * @param elementSerializer
-     * @return AuxiliaryCache
-     */
-    @Override
-    public <K, V> AuxiliaryCache<K, V> createCache(
-            AuxiliaryCacheAttributes iaca, ICompositeCacheManager cacheMgr,
-           ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
-    {
-        RemoteCacheAttributes rca = (RemoteCacheAttributes) iaca;
-
-        ArrayList<ICache<K, V>> noWaits = new ArrayList<ICache<K, V>>();
-
-        switch (rca.getRemoteType())
-        {
-            case LOCAL:
-                // a list to be turned into an array of failover server information
-                ArrayList<RemoteLocation> failovers = new ArrayList<RemoteLocation>();
-
-                // not necessary if a failover list is defined
-                // REGISTER PRIMARY LISTENER
-                // if it is a primary
-                boolean primaryDefined = false;
-                if ( rca.getRemoteLocation() != null )
-                {
-                    primaryDefined = true;
-
-                    failovers.add( rca.getRemoteLocation() );
-                    RemoteCacheManager rcm = getManager( rca, cacheMgr, cacheEventLogger, elementSerializer );
-                    ICache<K, V> ic = rcm.getCache( rca );
-                    noWaits.add( ic );
-                }
-
-                // GET HANDLE BUT DONT REGISTER A LISTENER FOR FAILOVERS
-                String failoverList = rca.getFailoverServers();
-                if ( failoverList != null )
-                {
-                    StringTokenizer fit = new StringTokenizer( failoverList, "," );
-                    int fCnt = 0;
-                    while ( fit.hasMoreTokens() )
-                    {
-                        fCnt++;
-
-                        String server = fit.nextToken();
-                        RemoteLocation location = RemoteLocation.parseServerAndPort(server);
-
-                        if (location != null)
-                        {
-                            failovers.add( location );
-                            RemoteCacheManager rcm = getManager( rca, cacheMgr, cacheEventLogger, elementSerializer );
-
-                            // add a listener if there are none, need to tell rca what
-                            // number it is at
-                            if ( ( !primaryDefined && fCnt == 1 ) || noWaits.size() <= 0 )
-                            {
-                                ICache<K, V> ic = rcm.getCache( rca );
-                                noWaits.add( ic );
-                            }
-                        }
-                    }
-                    // end while
-                }
-                // end if failoverList != null
-
-                rca.setFailovers( failovers.toArray( new RemoteLocation[0] ) );
-                break;
-
-            case CLUSTER:
-                // REGISTER LISTENERS FOR EACH SYSTEM CLUSTERED CACHEs
-                StringTokenizer it = new StringTokenizer( rca.getClusterServers(), "," );
-                while ( it.hasMoreElements() )
-                {
-                    String server = (String) it.nextElement();
-                    RemoteLocation location = RemoteLocation.parseServerAndPort(server);
-
-                    if (location != null)
-                    {
-                        rca.setRemoteLocation(location);
-                        RemoteCacheManager rcm = getManager( rca, cacheMgr, cacheEventLogger, elementSerializer );
-                        rca.setRemoteType( RemoteType.CLUSTER );
-                        ICache<K, V> ic = rcm.getCache( rca );
-                        noWaits.add( ic );
-                    }
-                }
-                break;
-        }
-
-        @SuppressWarnings("unchecked") // No generic arrays in java
-        RemoteCacheNoWait<K, V>[] rcnwArray = noWaits.toArray( new RemoteCacheNoWait[0] );
-        RemoteCacheNoWaitFacade<K, V> rcnwf =
-            new RemoteCacheNoWaitFacade<K, V>(rcnwArray, rca, cacheMgr, cacheEventLogger, elementSerializer );
-
-        facades.put( rca.getCacheName(), rcnwf );
-
-        return rcnwf;
-    }
-
-    // end createCache
-
-    /**
-     * The facades are what the cache hub talks to.
-     *
-     * @param cacheName the name of the  cache facade
-     * @return Returns the facade for the given name.
-     */
-    @SuppressWarnings("unchecked") // Need to cast because of common map for all facades
-    public static <K, V> RemoteCacheNoWaitFacade<K, V> getFacade( String cacheName )
-    {
-        return (RemoteCacheNoWaitFacade<K, V>) facades.get( cacheName );
-    }
-
-    /**
-     * Returns an instance of RemoteCacheManager for the given connection parameters.
-     * <p>
-     * Host and Port uniquely identify a manager instance.
-     * <p>
-     * If the connection cannot be established, zombie objects will be used for future recovery
-     * purposes.
-     * <p>
-     * @param cattr
-     * @param cacheMgr
-     * @param cacheEventLogger
-     * @param elementSerializer
-     * @return The instance value
-     */
-    public static RemoteCacheManager getManager( IRemoteCacheAttributes cattr, ICompositeCacheManager cacheMgr,
-                                                  ICacheEventLogger cacheEventLogger,
-                                                  IElementSerializer elementSerializer )
-    {
-        if ( cattr.getRemoteLocation() == null )
-        {
-            cattr.setRemoteLocation("", Registry.REGISTRY_PORT);
-        }
-
-        RemoteLocation loc = cattr.getRemoteLocation();
-        RemoteCacheManager ins = managers.get( loc );
-
-        if ( ins == null )
-        {
-            managerLock.lock();
-
-            try
-            {
-                ins = managers.get( loc );
-
-                if (ins == null)
-                {
-                    ins = new RemoteCacheManager( cattr, cacheMgr, monitor, cacheEventLogger, elementSerializer);
-                    managers.put( loc, ins );
-                    monitor.addManager(ins);
-                }
-            }
-            finally
-            {
-                managerLock.unlock();
-            }
-        }
-
-        return ins;
-    }
-
-	/**
-	 * @see org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheFactory#initialize()
-	 */
-	@Override
-	public void initialize()
-	{
-		super.initialize();
-		facades = new ConcurrentHashMap<String, RemoteCacheNoWaitFacade<?, ?>>();
-
-		managers = new ConcurrentHashMap<RemoteLocation, RemoteCacheManager>();
-		managerLock = new ReentrantLock();
-
-        monitor = new RemoteCacheMonitor();
-        monitor.setDaemon(true);
-	}
-
-	/**
-	 * @see org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheFactory#dispose()
-	 */
-	@Override
-	public void dispose()
-	{
-		for (RemoteCacheManager manager : managers.values())
-		{
-			manager.release();
-		}
-
-		managers.clear();
-
-        if (monitor != null)
-        {
-            monitor.notifyShutdown();
-            try
-            {
-                monitor.join(5000);
-            }
-            catch (InterruptedException e)
-            {
-                // swallow
-            }
-            monitor = null;
-        }
-
-		super.dispose();
-	}
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java
deleted file mode 100644
index 65de97d..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java
+++ /dev/null
@@ -1,433 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheMonitor;
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.behavior.ICache;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-
-/**
- * The RemoteCacheFailoverRunner tries to establish a connection with a failover
- * server, if any are defined. Once a failover connection is made, it will
- * attempt to replace the failover with the primary remote server.
- * <p>
- * It works by switching out the RemoteCacheNoWait inside the Facade.
- * <p>
- * Client (i.e.) the CompositeCache has reference to a RemoteCacheNoWaitFacade.
- * This facade is created by the RemoteCacheFactory. The factory maintains a set
- * of managers, one for each remote server. Typically, there will only be one
- * manager.
- * <p>
- * If you use multiple remote servers, you may want to set one or more as
- * failovers. If a local cache cannot connect to the primary server, or looses
- * its connection to the primary server, it will attempt to restore that
- * Connection in the background. If failovers are defined, the Failover runner
- * will try to connect to a failover until the primary is restored.
- *
- */
-public class RemoteCacheFailoverRunner<K, V> extends AbstractAuxiliaryCacheMonitor
-{
-    /** The facade returned to the composite cache. */
-    private final RemoteCacheNoWaitFacade<K, V> facade;
-
-    /** The cache manager */
-    private final ICompositeCacheManager cacheMgr;
-
-    /**
-     * Constructor for the RemoteCacheFailoverRunner object. This allows the
-     * FailoverRunner to modify the facade that the CompositeCache references.
-     *
-     * @param facade
-     *            the facade the CompositeCache talks to.
-     * @param cacheMgr
-     */
-    public RemoteCacheFailoverRunner( RemoteCacheNoWaitFacade<K, V> facade, ICompositeCacheManager cacheMgr )
-    {
-        super("JCS-RemoteCacheFailoverRunner");
-        this.facade = facade;
-        this.cacheMgr = cacheMgr;
-        setIdlePeriod(20000L);
-    }
-
-    /**
-     * Clean up all resources before shutdown
-     */
-    @Override
-    protected void dispose()
-    {
-        // empty
-    }
-
-    /**
-     * do actual work
-     */
-    @Override
-    protected void doWork()
-    {
-        // empty
-    }
-
-
-    /**
-     * Main processing method for the RemoteCacheFailoverRunner object.
-     * <p>
-     * If we do not have a connection with any failover server, this will try to
-     * connect one at a time. If no connection can be made, it goes to sleep for
-     * a while (20 seconds).
-     * <p>
-     * Once a connection with a failover is made, we will try to reconnect to
-     * the primary server.
-     * <p>
-     * The primary server is the first server defines in the FailoverServers
-     * list.
-     */
-    @Override
-    public void run()
-    {
-        // start the main work of connecting to a failover and then restoring
-        // the primary.
-        connectAndRestore();
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Exiting failover runner. Failover index = " + facade.getRemoteCacheAttributes().getFailoverIndex() );
-            if ( facade.getRemoteCacheAttributes().getFailoverIndex() <= 0 )
-            {
-                log.info( "Failover index is <= 0, meaning we are not " + "connected to a failover server." );
-            }
-            else if ( facade.getRemoteCacheAttributes().getFailoverIndex() > 0 )
-            {
-                log.info( "Failover index is > 0, meaning we are " + "connected to a failover server." );
-            }
-            // log if we are allright or not.
-        }
-    }
-
-    /**
-     * This is the main loop. If there are failovers defined, then this will
-     * continue until the primary is re-connected. If no failovers are defined,
-     * this will exit automatically.
-     */
-    @SuppressWarnings("unchecked") // No generic arrays in java
-    private void connectAndRestore()
-    {
-        do
-        {
-            log.info( "Remote cache FAILOVER RUNNING." );
-
-            // there is no active listener
-            if ( !allright.get() )
-            {
-                // Monitor each RemoteCacheManager instance one after the other.
-                // Each RemoteCacheManager corresponds to one remote connection.
-                RemoteLocation[] failovers = facade.getRemoteCacheAttributes().getFailovers();
-                // we should probably check to see if there are any failovers,
-                // even though the caller
-                // should have already.
-
-                if ( failovers == null )
-                {
-                    log.warn( "Remote is misconfigured, failovers was null." );
-                    return;
-                }
-                else if ( failovers.length == 1 )
-                {
-                    // if there is only the primary, return out of this
-                    log.info( "No failovers defined, exiting failover runner." );
-                    return;
-                }
-
-                int fidx = facade.getRemoteCacheAttributes().getFailoverIndex();
-                log.debug( "fidx = " + fidx + " failovers.length = " + failovers.length );
-
-                // shouldn't we see if the primary is backup?
-                // If we don't check the primary, if it gets connected in the
-                // background,
-                // we will disconnect it only to put it right back
-                int i = fidx; // + 1; // +1 skips the primary
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "starting at failover i = " + i );
-                }
-
-                // try them one at a time until successful
-                for ( ; i < failovers.length && !allright.get(); i++ )
-                {
-                    RemoteLocation server = failovers[i];
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Trying server [" + server + "] at failover index i = " + i );
-                    }
-
-                    RemoteCacheAttributes rca = null;
-                    try
-                    {
-                        rca = (RemoteCacheAttributes) facade.getRemoteCacheAttributes().clone();
-                        rca.setRemoteLocation(server);
-                        RemoteCacheManager rcm = RemoteCacheFactory.getManager( rca, cacheMgr,
-                            facade.getCacheEventLogger(), facade.getElementSerializer() );
-
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "RemoteCacheAttributes for failover = " + rca.toString() );
-                        }
-
-                        // add a listener if there are none, need to tell rca
-                        // what number it is at
-                        ICache<K, V> ic = rcm.getCache( rca.getCacheName() );
-                        if ( ic.getStatus() == CacheStatus.ALIVE )
-                        {
-                            // may need to do this more gracefully
-                            log.debug( "resetting no wait" );
-                            facade.noWaits = new RemoteCacheNoWait[1];
-                            facade.noWaits[0] = (RemoteCacheNoWait<K, V>) ic;
-                            facade.getRemoteCacheAttributes().setFailoverIndex( i );
-
-                            if ( log.isDebugEnabled() )
-                            {
-                                log.debug( "setting ALLRIGHT to true" );
-                                if ( i > 0 )
-                                {
-                                    log.debug( "Moving to Primary Recovery Mode, failover index = " + i );
-                                }
-                                else
-                                {
-                                    log.debug( "No need to connect to failover, the primary server is back up." );
-                                }
-                            }
-
-                            allright.set(true);
-
-                            if ( log.isInfoEnabled() )
-                            {
-                                log.info( "CONNECTED to host = [" + rca.getRemoteLocation() + "]" );
-                            }
-                        }
-                    }
-                    catch ( Exception ex )
-                    {
-                        allright.compareAndSet(true, false);
-                        // Problem encountered in fixing the caches managed by a
-                        // RemoteCacheManager instance.
-                        // Soldier on to the next RemoteCacheManager instance.
-                        RemoteLocation location = (rca == null) ? new RemoteLocation("null", 0) : rca.getRemoteLocation();
-                        if ( i == 0 )
-                        {
-                            log.warn( "FAILED to connect, as expected, to primary " + location, ex );
-                        }
-                        else
-                        {
-                            log.error( "FAILED to connect to failover " + location, ex );
-                        }
-                    }
-                }
-            }
-            // end if !allright
-            // get here if while index >0 and allright, meaning that we are
-            // connected to some backup server.
-            else
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "ALLRIGHT is true " );
-                }
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Failover runner is in primary recovery mode. Failover index = "
-                        + facade.getRemoteCacheAttributes().getFailoverIndex() + "\n" + "Will now try to reconnect to primary server." );
-                }
-            }
-
-            boolean primaryRestoredSuccessfully = false;
-            // if we are not connected to the primary, try.
-            if ( facade.getRemoteCacheAttributes().getFailoverIndex() > 0 )
-            {
-                primaryRestoredSuccessfully = restorePrimary();
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Primary recovery success state = " + primaryRestoredSuccessfully );
-                }
-            }
-
-            if ( !primaryRestoredSuccessfully )
-            {
-                // Time driven mode: sleep between each round of recovery
-                // attempt.
-                try
-                {
-                    log.warn( "Failed to reconnect to primary server. Cache failover runner is going to sleep for "
-                        + idlePeriod + " milliseconds." );
-                    Thread.sleep( idlePeriod );
-                }
-                catch ( InterruptedException ex )
-                {
-                    // ignore;
-                }
-            }
-
-            // try to bring the listener back to the primary
-        }
-        while ( facade.getRemoteCacheAttributes().getFailoverIndex() > 0 || !allright.get() );
-        // continue if the primary is not restored or if things are not allright.
-    }
-
-    /**
-     * Try to restore the primary server.
-     * <p>
-     * Once primary is restored the failover listener must be deregistered.
-     * <p>
-     * The primary server is the first server defines in the FailoverServers
-     * list.
-     *
-     * @return boolean value indicating whether the restoration was successful
-     */
-    @SuppressWarnings("unchecked") // No generic arrays in java
-    private boolean restorePrimary()
-    {
-        // try to move back to the primary
-        RemoteLocation[] failovers = facade.getRemoteCacheAttributes().getFailovers();
-        RemoteLocation server = failovers[0];
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Trying to restore connection to primary remote server [" + server + "]" );
-        }
-
-        RemoteCacheAttributes rca = (RemoteCacheAttributes) facade.getRemoteCacheAttributes().clone();
-        rca.setRemoteLocation(server);
-        RemoteCacheManager rcm = RemoteCacheFactory.getManager( rca, cacheMgr,
-            facade.getCacheEventLogger(), facade.getElementSerializer() );
-
-        // add a listener if there are none, need to tell rca what number it
-        // is at
-        ICache<K, V> ic = rcm.getCache( rca.getCacheName() );
-        // by default the listener id should be 0, else it will be the
-        // listener
-        // Originally associated with the remote cache. either way is fine.
-        // We just don't want the listener id from a failover being used.
-        // If the remote server was rebooted this could be a problem if new
-        // locals were also added.
-
-        if ( ic.getStatus() == CacheStatus.ALIVE )
-        {
-            try
-            {
-                // we could have more than one listener registered right
-                // now.
-                // this will not result in a loop, only duplication
-                // stop duplicate listening.
-                if ( facade.noWaits[0] != null && facade.noWaits[0].getStatus() == CacheStatus.ALIVE )
-                {
-                    int fidx = facade.getRemoteCacheAttributes().getFailoverIndex();
-
-                    if ( fidx > 0 )
-                    {
-                        RemoteLocation serverOld = failovers[fidx];
-
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "Failover Index = " + fidx + " the server at that index is ["
-                                + serverOld + "]" );
-                        }
-
-                        if ( serverOld != null )
-                        {
-                            // create attributes that reflect the
-                            // previous failed over configuration.
-                            RemoteCacheAttributes rcaOld = (RemoteCacheAttributes) facade.getRemoteCacheAttributes().clone();
-                            rcaOld.setRemoteLocation(serverOld);
-                            RemoteCacheManager rcmOld = RemoteCacheFactory.getManager( rcaOld, cacheMgr,
-                                facade.getCacheEventLogger(), facade.getElementSerializer() );
-
-                            if ( rcmOld != null )
-                            {
-                                // manager can remove by name if
-                                // necessary
-                                rcmOld.removeRemoteCacheListener( rcaOld );
-                            }
-                            if ( log.isInfoEnabled() )
-                            {
-                                log.info( "Successfully deregistered from FAILOVER remote server = "
-                                    + serverOld );
-                            }
-                        }
-                    }
-                    else if ( fidx == 0 )
-                    {
-                        // this should never happen. If there are no
-                        // failovers this shouldn't get called.
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "No need to restore primary, it is already restored." );
-                            return true;
-                        }
-                    }
-                    else if ( fidx < 0 )
-                    {
-                        // this should never happen
-                        log.warn( "Failover index is less than 0, this shouldn't happen" );
-                    }
-                }
-            }
-            catch ( IOException e )
-            {
-                // TODO, should try again, or somehow stop the listener
-                log.error("Trouble trying to deregister old failover listener prior to restoring the primary = "
-                       + server, e );
-            }
-
-            // Restore primary
-            // may need to do this more gracefully, letting the failover finish in the background
-            RemoteCacheNoWait<K, V> failoverNoWait = facade.noWaits[0];
-
-            // swap in a new one
-            facade.noWaits = new RemoteCacheNoWait[1];
-            facade.noWaits[0] = (RemoteCacheNoWait<K, V>) ic;
-            facade.getRemoteCacheAttributes().setFailoverIndex( 0 );
-
-            if ( log.isInfoEnabled() )
-            {
-                String message = "Successfully reconnected to PRIMARY remote server.  Substituted primary for failoverNoWait ["
-                    + failoverNoWait + "]";
-                log.info( message );
-
-                if ( facade.getCacheEventLogger() != null )
-                {
-                    facade.getCacheEventLogger().logApplicationEvent( "RemoteCacheFailoverRunner", "RestoredPrimary", message );
-                }
-            }
-            return true;
-        }
-
-        // else all right
-        // if the failover index was at 0 here, we would be in a bad
-        // situation, unless there were just
-        // no failovers configured.
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Primary server status in error, not connected." );
-        }
-
-        return false;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheListener.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheListener.java
deleted file mode 100644
index 7c79711..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheListener.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.rmi.RemoteException;
-import java.rmi.server.UnicastRemoteObject;
-
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheConstants;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Registered with RemoteCache server. The server updates the local caches via this listener. Each
- * server assigns a unique listener id for a listener.
- * <p>
- * One listener is used per remote cache server. The same listener is used for all the regions that
- * talk to a particular server.
- */
-public class RemoteCacheListener<K, V>
-    extends AbstractRemoteCacheListener<K, V>
-    implements IRemoteCacheConstants
-{
-    /** Don't change */
-    private static final long serialVersionUID = 25345252345322345L;
-
-    /** The logger */
-    private static final Log log = LogFactory.getLog( RemoteCacheListener.class );
-
-    /** Has this client been shutdown. */
-    private boolean disposed = false;
-
-    /**
-     * Only need one since it does work for all regions, just reference by multiple region names.
-     * <p>
-     * The constructor exports this object, making it available to receive incoming calls. The
-     * callback port is anonymous unless a local port value was specified in the configuration.
-     * <p>
-     * @param irca
-     * @param cacheMgr
-     */
-    public RemoteCacheListener( IRemoteCacheAttributes irca, ICompositeCacheManager cacheMgr )
-    {
-        super( irca, cacheMgr );
-
-        // Export this remote object to make it available to receive incoming
-        // calls.
-        try
-        {
-            UnicastRemoteObject.exportObject( this, irca.getLocalPort() );
-        }
-        catch ( RemoteException ex )
-        {
-            log.error( "Problem exporting object.", ex );
-            throw new IllegalStateException( ex.getMessage() );
-        }
-    }
-
-    /**
-     * Deregister itself.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public synchronized void dispose()
-        throws IOException
-    {
-        if ( !disposed )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Unexporting listener." );
-            }
-            try
-            {
-                UnicastRemoteObject.unexportObject( this, true );
-            }
-            catch ( RemoteException ex )
-            {
-                log.error( "Problem unexporting the listener.", ex );
-                throw new IllegalStateException( ex.getMessage() );
-            }
-            disposed = true;
-        }
-    }
-
-    /**
-     * For easier debugging.
-     * <p>
-     * @return Basic info on this listener.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\n RemoteCacheListener: " );
-        buf.append( super.toString() );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheManager.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheManager.java
deleted file mode 100644
index 005f51e..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheManager.java
+++ /dev/null
@@ -1,474 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.rmi.Naming;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheClient;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheListener;
-import org.apache.commons.jcs.engine.CacheWatchRepairable;
-import org.apache.commons.jcs.engine.ZombieCacheServiceNonLocal;
-import org.apache.commons.jcs.engine.ZombieCacheWatch;
-import org.apache.commons.jcs.engine.behavior.ICacheObserver;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * An instance of RemoteCacheManager corresponds to one remote connection of a specific host and
- * port. All RemoteCacheManager instances are monitored by the singleton RemoteCacheMonitor
- * monitoring daemon for error detection and recovery.
- * <p>
- * Getting an instance of the remote cache has the effect of getting a handle on the remote server.
- * Listeners are not registered with the server until a cache is requested from the manager.
- */
-public class RemoteCacheManager
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( RemoteCacheManager.class );
-
-    /** Contains instances of RemoteCacheNoWait managed by a RemoteCacheManager instance. */
-    final ConcurrentMap<String, RemoteCacheNoWait<?, ?>> caches = new ConcurrentHashMap<String, RemoteCacheNoWait<?, ?>>();
-
-    /** Lock for initialization of caches */
-    private ReentrantLock cacheLock = new ReentrantLock();
-
-    /** The configuration attributes. */
-    private IRemoteCacheAttributes remoteCacheAttributes;
-
-    /** The event logger. */
-    private final ICacheEventLogger cacheEventLogger;
-
-    /** The serializer. */
-    private final IElementSerializer elementSerializer;
-
-    /** Handle to the remote cache service; or a zombie handle if failed to connect. */
-    private ICacheServiceNonLocal<?, ?> remoteService;
-
-    /**
-     * Wrapper of the remote cache watch service; or wrapper of a zombie service if failed to
-     * connect.
-     */
-    private CacheWatchRepairable remoteWatch;
-
-    /** The cache manager listeners will need to use to get a cache. */
-    private final ICompositeCacheManager cacheMgr;
-
-    /** For error notification */
-    private final RemoteCacheMonitor monitor;
-
-    /** The service found through lookup */
-    private final String registry;
-
-    /**
-     * Constructs an instance to with the given remote connection parameters. If the connection
-     * cannot be made, "zombie" services will be temporarily used until a successful re-connection
-     * is made by the monitoring daemon.
-     * <p>
-     * @param cattr cache attributes
-     * @param cacheMgr the cache hub
-     * @param monitor the cache monitor thread for error notifications
-     * @param cacheEventLogger
-     * @param elementSerializer
-     */
-    protected RemoteCacheManager( IRemoteCacheAttributes cattr, ICompositeCacheManager cacheMgr,
-                                RemoteCacheMonitor monitor,
-                                ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer)
-    {
-        this.remoteCacheAttributes = cattr;
-        this.cacheMgr = cacheMgr;
-        this.monitor = monitor;
-        this.cacheEventLogger = cacheEventLogger;
-        this.elementSerializer = elementSerializer;
-
-        this.registry = RemoteUtils.getNamingURL(cattr.getRemoteLocation(), cattr.getRemoteServiceName());
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Looking up server [" + registry + "]" );
-        }
-        try
-        {
-            Object obj = Naming.lookup( registry );
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Server found: " + obj );
-            }
-
-            // Successful connection to the remote server.
-            remoteService = (ICacheServiceNonLocal<?, ?>) obj;
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "remoteService = " + remoteService );
-            }
-
-            ICacheObserver remoteObserver = (ICacheObserver) obj;
-            remoteWatch = new CacheWatchRepairable();
-            remoteWatch.setCacheWatch( remoteObserver );
-        }
-        catch ( Exception ex )
-        {
-            // Failed to connect to the remote server.
-            // Configure this RemoteCacheManager instance to use the "zombie"
-            // services.
-            log.error( "Problem finding server at [" + registry + "]", ex );
-            remoteService = new ZombieCacheServiceNonLocal<String, String>();
-            remoteWatch = new CacheWatchRepairable();
-            remoteWatch.setCacheWatch( new ZombieCacheWatch() );
-
-            // Notify the cache monitor about the error, and kick off the
-            // recovery process.
-            monitor.notifyError();
-        }
-    }
-
-    /**
-     * Adds the remote cache listener to the underlying cache-watch service.
-     * <p>
-     * @param cattr The feature to be added to the RemoteCacheListener attribute
-     * @param listener The feature to be added to the RemoteCacheListener attribute
-     * @throws IOException
-     */
-    public <K, V> void addRemoteCacheListener( IRemoteCacheAttributes cattr, IRemoteCacheListener<K, V> listener )
-        throws IOException
-    {
-        if ( cattr.isReceive() )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "The remote cache is configured to receive events from the remote server.  "
-                    + "We will register a listener. remoteWatch = " + remoteWatch + " | IRemoteCacheListener = "
-                    + listener + " | cacheName " + cattr.getCacheName() );
-            }
-
-            remoteWatch.addCacheListener( cattr.getCacheName(), listener );
-        }
-        else
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "The remote cache is configured to NOT receive events from the remote server.  "
-                    + "We will NOT register a listener." );
-            }
-        }
-    }
-
-    /**
-     * Removes a listener. When the primary recovers the failover must deregister itself for a
-     * region. The failover runner will call this method to de-register. We do not want to deregister
-     * all listeners to a remote server, in case a failover is a primary of another region. Having
-     * one regions failover act as another servers primary is not currently supported.
-     * <p>
-     * @param cacheName the name of the cache
-     * @param listener the listener to de-register
-     * @throws IOException
-     */
-    public <K, V> void removeRemoteCacheListener( String cacheName, IRemoteCacheListener<K, V> listener )
-        throws IOException
-    {
-        remoteWatch.removeCacheListener( cacheName, listener );
-    }
-
-    /**
-     * Removes a listener. When the primary recovers the failover must deregister itself for a
-     * region. The failover runner will call this method to de-register. We do not want to deregister
-     * all listeners to a remote server, in case a failover is a primary of another region. Having
-     * one regions failover act as another servers primary is not currently supported.
-     * <p>
-     * @param cattr
-     * @param listener
-     * @throws IOException
-     */
-    public <K, V> void removeRemoteCacheListener( IRemoteCacheAttributes cattr, IRemoteCacheListener<K, V> listener )
-        throws IOException
-    {
-    	removeRemoteCacheListener(cattr.getCacheName(), listener);
-    }
-
-    /**
-     * Stops a listener. This is used to deregister a failover after primary reconnection.
-     * <p>
-     * @param cattr
-     * @throws IOException
-     */
-    public void removeRemoteCacheListener( IRemoteCacheAttributes cattr )
-        throws IOException
-    {
-        RemoteCacheNoWait<?, ?> cache = caches.get( cattr.getCacheName() );
-        if ( cache != null )
-        {
-        	removeListenerFromCache(cache);
-        }
-        else
-        {
-            if ( cattr.isReceive() )
-            {
-                log.warn( "Trying to deregister Cache Listener that was never registered." );
-            }
-            else if ( log.isDebugEnabled() )
-            {
-                log.debug( "Since the remote cache is configured to not receive, "
-                    + "there is no listener to deregister." );
-            }
-        }
-    }
-
-    /**
-     * Stops a listener. This is used to deregister a failover after primary reconnection.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    public void removeRemoteCacheListener( String cacheName )
-        throws IOException
-    {
-        RemoteCacheNoWait<?, ?> cache = caches.get( cacheName );
-        if ( cache != null )
-        {
-            removeListenerFromCache(cache);
-        }
-    }
-
-    // common helper method
-	private void removeListenerFromCache(RemoteCacheNoWait<?, ?> cache) throws IOException
-	{
-		IRemoteCacheClient<?, ?> rc = cache.getRemoteCache();
-		if ( log.isDebugEnabled() )
-		{
-		    log.debug( "Found cache for [" + cache.getCacheName() + "], deregistering listener." );
-		}
-		// could also store the listener for a server in the manager.
-		IRemoteCacheListener<?, ?> listener = rc.getListener();
-		removeRemoteCacheListener( cache.getCacheName(), listener );
-	}
-
-    /**
-     * Returns a remote cache for the given cache name.
-     * <p>
-     * @param cacheName
-     * @return The cache value
-     */
-    public <K, V> RemoteCacheNoWait<K, V> getCache( String cacheName )
-    {
-        IRemoteCacheAttributes ca = (IRemoteCacheAttributes) remoteCacheAttributes.clone();
-        ca.setCacheName( cacheName );
-        return getCache( ca );
-    }
-
-    /**
-     * Gets a RemoteCacheNoWait from the RemoteCacheManager. The RemoteCacheNoWait objects are
-     * identified by the cache name value of the RemoteCacheAttributes object.
-     * <p>
-     * If the client is configured to register a listener, this call results on a listener being
-     * created if one isn't already registered with the remote cache for this region.
-     * <p>
-     * @param cattr
-     * @return The cache value
-     */
-    @SuppressWarnings("unchecked") // Need to cast because of common map for all caches
-    public <K, V> RemoteCacheNoWait<K, V> getCache( IRemoteCacheAttributes cattr )
-    {
-        RemoteCacheNoWait<K, V> remoteCacheNoWait = (RemoteCacheNoWait<K, V>) caches.get( cattr.getCacheName() );
-
-        if ( remoteCacheNoWait == null )
-        {
-            cacheLock.lock();
-
-            try
-            {
-                remoteCacheNoWait = (RemoteCacheNoWait<K, V>) caches.get( cattr.getCacheName() );
-
-                if (remoteCacheNoWait == null)
-                {
-                    // create a listener first and pass it to the remotecache
-                    // sender.
-                    RemoteCacheListener<K, V> listener = null;
-                    try
-                    {
-                        listener = new RemoteCacheListener<K, V>( cattr, cacheMgr );
-                        addRemoteCacheListener( cattr, listener );
-                    }
-                    catch ( IOException ioe )
-                    {
-                        log.error( "Problem adding listener. Message: " + ioe.getMessage()
-                            + " | RemoteCacheListener = " + listener, ioe );
-                    }
-                    catch ( Exception e )
-                    {
-                        log.error( "Problem adding listener. Message: " + e.getMessage() + " | RemoteCacheListener = "
-                            + listener, e );
-                    }
-
-                    IRemoteCacheClient<K, V> remoteCacheClient =
-                        new RemoteCache<K, V>( cattr, (ICacheServiceNonLocal<K, V>) remoteService, listener, monitor );
-                    remoteCacheClient.setCacheEventLogger( cacheEventLogger );
-                    remoteCacheClient.setElementSerializer( elementSerializer );
-
-                    remoteCacheNoWait = new RemoteCacheNoWait<K, V>( remoteCacheClient );
-                    remoteCacheNoWait.setCacheEventLogger( cacheEventLogger );
-                    remoteCacheNoWait.setElementSerializer( elementSerializer );
-
-                    caches.put( cattr.getCacheName(), remoteCacheNoWait );
-                }
-            }
-            finally
-            {
-                cacheLock.unlock();
-            }
-        }
-
-        // might want to do some listener sanity checking here.
-
-        return remoteCacheNoWait;
-    }
-
-    /**
-     * Releases the cache.
-     * <p>
-     * @param name the name of the cache
-     * @throws IOException
-     */
-    public void freeCache( String name )
-        throws IOException
-    {
-    	RemoteCacheNoWait<?, ?> c = caches.remove( name );
-        freeCache(c);
-    }
-
-    /**
-     * Releases the cache.
-     * <p>
-     * @param cache the cache instance
-     * @throws IOException
-     */
-    public void freeCache( RemoteCacheNoWait<?, ?> cache )
-        throws IOException
-    {
-        if ( cache != null )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "freeCache [" + cache.getCacheName() + "]" );
-            }
-
-            removeListenerFromCache(cache);
-            cache.dispose();
-        }
-    }
-
-    /**
-     * Gets the stats attribute of the RemoteCacheManager object
-     * <p>
-     * @return The stats value
-     */
-    public String getStats()
-    {
-        StringBuilder stats = new StringBuilder();
-        for (RemoteCacheNoWait<?, ?> c : caches.values())
-        {
-            if ( c != null )
-            {
-                stats.append( c.getCacheName() );
-            }
-        }
-        return stats.toString();
-    }
-
-    /** Shutdown all. */
-    public void release()
-    {
-        cacheLock.lock();
-
-        try
-        {
-            for (RemoteCacheNoWait<?, ?> c : caches.values())
-            {
-                try
-                {
-                    freeCache( c );
-                }
-                catch ( IOException ex )
-                {
-                    log.error( "Problem releasing " + c.getCacheName(), ex );
-                }
-            }
-        }
-        finally
-        {
-            cacheLock.unlock();
-        }
-    }
-
-    /**
-     * Fixes up all the caches managed by this cache manager.
-     * <p>
-     * @param remoteService
-     * @param remoteWatch
-     */
-    public void fixCaches( ICacheServiceNonLocal<?, ?> remoteService, ICacheObserver remoteWatch )
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Fixing caches. ICacheServiceNonLocal " + remoteService + " | IRemoteCacheObserver " + remoteWatch );
-        }
-
-        synchronized ( this )
-        {
-            this.remoteService = remoteService;
-            this.remoteWatch.setCacheWatch( remoteWatch );
-            for (RemoteCacheNoWait<?, ?> c : caches.values())
-            {
-                c.fixCache( remoteService );
-            }
-        }
-    }
-
-
-    /**
-     * Get the registry RMI URL
-     * @return the registry URL
-     */
-    public String getRegistryURL()
-    {
-        return registry;
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param source
-     * @param eventName
-     * @param optionalDetails
-     */
-    protected void logApplicationEvent( String source, String eventName, String optionalDetails )
-    {
-        if ( cacheEventLogger != null )
-        {
-            cacheEventLogger.logApplicationEvent( source, eventName, optionalDetails );
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheMonitor.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheMonitor.java
deleted file mode 100644
index 0e09702..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheMonitor.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheMonitor;
-import org.apache.commons.jcs.engine.CacheStatus;
-
-/**
- * Used to monitor and repair any failed connection for the remote cache service. By default the
- * monitor operates in a failure driven mode. That is, it goes into a wait state until there is an
- * error.
- *
- * TODO consider moving this into an active monitoring mode. Upon the notification of a
- * connection error, the monitor changes to operate in a time driven mode. That is, it attempts to
- * recover the connections on a periodic basis. When all failed connections are restored, it changes
- * back to the failure driven mode.
- */
-public class RemoteCacheMonitor extends AbstractAuxiliaryCacheMonitor
-{
-    /**
-     * Map of managers to monitor
-     */
-    private ConcurrentHashMap<String, RemoteCacheManager> managers;
-
-    /** Constructor for the RemoteCacheMonitor object */
-    public RemoteCacheMonitor()
-    {
-        super("JCS-RemoteCacheMonitor");
-        this.managers = new ConcurrentHashMap<String, RemoteCacheManager>();
-        setIdlePeriod(30000L);
-    }
-
-    /**
-     * Add a manager to be monitored
-     *
-     * @param manager the remote cache manager
-     */
-    public void addManager(RemoteCacheManager manager)
-    {
-        this.managers.put(manager.getRegistryURL(), manager);
-
-        // if not yet started, go ahead
-        if (this.getState() == Thread.State.NEW)
-        {
-            this.start();
-        }
-    }
-
-    /**
-     * Clean up all resources before shutdown
-     */
-    @Override
-    public void dispose()
-    {
-        this.managers.clear();
-    }
-
-    // Avoid the use of any synchronization in the process of monitoring for
-    // performance reason.
-    // If exception is thrown owing to synchronization,
-    // just skip the monitoring until the next round.
-    /** Main processing method for the RemoteCacheMonitor object */
-    @Override
-    public void doWork()
-    {
-        // Monitor each RemoteCacheManager instance one after the other.
-        // Each RemoteCacheManager corresponds to one remote connection.
-        for (RemoteCacheManager mgr : managers.values())
-        {
-            // If any cache is in error, it strongly suggests all managers
-            // managed by the
-            // same RmicCacheManager instance are in error. So we fix
-            // them once and for all.
-            for (RemoteCacheNoWait<?, ?> c : mgr.caches.values())
-            {
-                if ( c.getStatus() == CacheStatus.ERROR )
-                {
-                    RemoteCacheRestore repairer = new RemoteCacheRestore( mgr );
-                    // If we can't fix them, just skip and re-try in
-                    // the next round.
-                    if ( repairer.canFix() )
-                    {
-                        repairer.fix();
-                    }
-                    else
-                    {
-                        allright.set(false);
-                    }
-                    break;
-                }
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java
deleted file mode 100644
index 92c518f..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java
+++ /dev/null
@@ -1,532 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.rmi.UnmarshalException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheClient;
-import org.apache.commons.jcs.engine.CacheAdaptor;
-import org.apache.commons.jcs.engine.CacheEventQueueFactory;
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheEventQueue;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * The RemoteCacheNoWait wraps the RemoteCacheClient. The client holds a handle on the
- * RemoteCacheService.
- * <p>
- * Used to queue up update requests to the underlying cache. These requests will be processed in
- * their order of arrival via the cache event queue processor.
- * <p>
- * Typically errors will be handled down stream. We only need to kill the queue if an error makes it
- * to this level from the queue. That can only happen if the queue is damaged, since the events are
- * Processed asynchronously.
- * <p>
- * There is no reason to create a queue on startup if the remote is not healthy.
- * <p>
- * If the remote cache encounters an error it will zombie--create a balking facade for the service.
- * The Zombie will queue up items until the connection is restored. An alternative way to accomplish
- * the same thing would be to stop, not destroy the queue at this level. That way items would be
- * added to the queue and then when the connection is restored, we could start the worker threads
- * again. This is a better long term solution, but it requires some significant changes to the
- * complicated worker queues.
- */
-public class RemoteCacheNoWait<K, V>
-    extends AbstractAuxiliaryCache<K, V>
-{
-    /** log instance */
-    private static final Log log = LogFactory.getLog( RemoteCacheNoWait.class );
-
-    /** The remote cache client */
-    private final IRemoteCacheClient<K, V> remoteCacheClient;
-
-    /** Event queue for queuing up calls like put and remove. */
-    private ICacheEventQueue<K, V> cacheEventQueue;
-
-    /** how many times get has been called. */
-    private int getCount = 0;
-
-    /** how many times getMatching has been called. */
-    private int getMatchingCount = 0;
-
-    /** how many times getMultiple has been called. */
-    private int getMultipleCount = 0;
-
-    /** how many times remove has been called. */
-    private int removeCount = 0;
-
-    /** how many times put has been called. */
-    private int putCount = 0;
-
-    /**
-     * Constructs with the given remote cache, and fires up an event queue for asynchronous
-     * processing.
-     * <p>
-     * @param cache
-     */
-    public RemoteCacheNoWait( IRemoteCacheClient<K, V> cache )
-    {
-        remoteCacheClient = cache;
-
-        CacheEventQueueFactory<K, V> factory = new CacheEventQueueFactory<K, V>();
-        this.cacheEventQueue = factory.createCacheEventQueue(
-            new CacheAdaptor<K, V>( remoteCacheClient ),
-            remoteCacheClient.getListenerId(),
-            remoteCacheClient.getCacheName(),
-            remoteCacheClient.getAuxiliaryCacheAttributes().getEventQueuePoolName(),
-            remoteCacheClient.getAuxiliaryCacheAttributes().getEventQueueType() );
-
-        if ( remoteCacheClient.getStatus() == CacheStatus.ERROR )
-        {
-            cacheEventQueue.destroy();
-        }
-    }
-
-    /**
-     * Adds a put event to the queue.
-     * <p>
-     * @param element
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> element )
-        throws IOException
-    {
-        putCount++;
-        try
-        {
-            cacheEventQueue.addPutEvent( element );
-        }
-        catch ( IOException e )
-        {
-            log.error( "Problem adding putEvent to queue.", e );
-            cacheEventQueue.destroy();
-            throw e;
-        }
-    }
-
-    /**
-     * Synchronously reads from the remote cache.
-     * <p>
-     * @param key
-     * @return element from the remote cache, or null if not present
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> get( K key )
-        throws IOException
-    {
-        getCount++;
-        try
-        {
-            return remoteCacheClient.get( key );
-        }
-        catch ( UnmarshalException ue )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Retrying the get owing to UnmarshalException." );
-            }
-
-            try
-            {
-                return remoteCacheClient.get( key );
-            }
-            catch ( IOException ex )
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Failed in retrying the get for the second time. " + ex.getMessage() );
-                }
-            }
-        }
-        catch ( IOException ex )
-        {
-            // We don't want to destroy the queue on a get failure.
-            // The RemoteCache will Zombie and queue.
-            // Since get does not use the queue, I don't want to kill the queue.
-            throw ex;
-        }
-
-        return null;
-    }
-
-    /**
-     * @param pattern
-     * @return Map
-     * @throws IOException
-     *
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String pattern )
-        throws IOException
-    {
-        getMatchingCount++;
-        try
-        {
-            return remoteCacheClient.getMatching( pattern );
-        }
-        catch ( UnmarshalException ue )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Retrying the getMatching owing to UnmarshalException." );
-            }
-
-            try
-            {
-                return remoteCacheClient.getMatching( pattern );
-            }
-            catch ( IOException ex )
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Failed in retrying the getMatching for the second time. " + ex.getMessage() );
-                }
-            }
-        }
-        catch ( IOException ex )
-        {
-            // We don't want to destroy the queue on a get failure.
-            // The RemoteCache will Zombie and queue.
-            // Since get does not use the queue, I don't want to kill the queue.
-            throw ex;
-        }
-
-        return Collections.emptyMap();
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys. Sends the getMultiple
-     * request on to the server rather than looping through the requested keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( Set<K> keys )
-        throws IOException
-    {
-        getMultipleCount++;
-        try
-        {
-            return remoteCacheClient.getMultiple( keys );
-        }
-        catch ( UnmarshalException ue )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Retrying the getMultiple owing to UnmarshalException..." );
-            }
-
-            try
-            {
-                return remoteCacheClient.getMultiple( keys );
-            }
-            catch ( IOException ex )
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Failed in retrying the getMultiple for the second time. " + ex.getMessage() );
-                }
-            }
-        }
-        catch ( IOException ex )
-        {
-            // We don't want to destroy the queue on a get failure.
-            // The RemoteCache will Zombie and queue.
-            // Since get does not use the queue, I don't want to kill the queue.
-            throw ex;
-        }
-
-        return new HashMap<K, ICacheElement<K, V>>();
-    }
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet() throws IOException
-    {
-        return remoteCacheClient.getKeySet();
-    }
-
-    /**
-     * Adds a remove request to the remote cache.
-     * <p>
-     * @param key
-     * @return if this was successful
-     * @throws IOException
-     */
-    @Override
-    public boolean remove( K key )
-        throws IOException
-    {
-        removeCount++;
-        try
-        {
-            cacheEventQueue.addRemoveEvent( key );
-        }
-        catch ( IOException e )
-        {
-            log.error( "Problem adding RemoveEvent to queue.", e );
-            cacheEventQueue.destroy();
-            throw e;
-        }
-        return false;
-    }
-
-    /**
-     * Adds a removeAll request to the remote cache.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public void removeAll()
-        throws IOException
-    {
-        try
-        {
-            cacheEventQueue.addRemoveAllEvent();
-        }
-        catch ( IOException e )
-        {
-            log.error( "Problem adding RemoveAllEvent to queue.", e );
-            cacheEventQueue.destroy();
-            throw e;
-        }
-    }
-
-    /** Adds a dispose request to the remote cache. */
-    @Override
-    public void dispose()
-    {
-        try
-        {
-            cacheEventQueue.addDisposeEvent();
-        }
-        catch ( IOException e )
-        {
-            log.error( "Problem adding DisposeEvent to queue.", e );
-            cacheEventQueue.destroy();
-        }
-    }
-
-    /**
-     * No remote invocation.
-     * <p>
-     * @return The size value
-     */
-    @Override
-    public int getSize()
-    {
-        return remoteCacheClient.getSize();
-    }
-
-    /**
-     * No remote invocation.
-     * <p>
-     * @return The cacheType value
-     */
-    @Override
-    public CacheType getCacheType()
-    {
-        return CacheType.REMOTE_CACHE;
-    }
-
-    /**
-     * Returns the asyn cache status. An error status indicates either the remote connection is not
-     * available, or the asyn queue has been unexpectedly destroyed. No remote invocation.
-     * <p>
-     * @return The status value
-     */
-    @Override
-    public CacheStatus getStatus()
-    {
-        return cacheEventQueue.isWorking() ? remoteCacheClient.getStatus() : CacheStatus.ERROR;
-    }
-
-    /**
-     * Gets the cacheName attribute of the RemoteCacheNoWait object
-     * <p>
-     * @return The cacheName value
-     */
-    @Override
-    public String getCacheName()
-    {
-        return remoteCacheClient.getCacheName();
-    }
-
-    /**
-     * Replaces the remote cache service handle with the given handle and reset the event queue by
-     * starting up a new instance.
-     * <p>
-     * @param remote
-     */
-    public void fixCache( ICacheServiceNonLocal<?, ?> remote )
-    {
-        remoteCacheClient.fixCache( remote );
-        resetEventQ();
-    }
-
-    /**
-     * Resets the event q by first destroying the existing one and starting up new one.
-     * <p>
-     * There may be no good reason to kill the existing queue. We will sometimes need to set a new
-     * listener id, so we should create a new queue. We should let the old queue drain. If we were
-     * Connected to the failover, it would be best to finish sending items.
-     */
-    public void resetEventQ()
-    {
-        ICacheEventQueue<K, V> previousQueue = cacheEventQueue;
-
-        CacheEventQueueFactory<K, V> fact = new CacheEventQueueFactory<K, V>();
-        this.cacheEventQueue = fact.createCacheEventQueue( new CacheAdaptor<K, V>( remoteCacheClient ), remoteCacheClient
-            .getListenerId(), remoteCacheClient.getCacheName(), remoteCacheClient.getAuxiliaryCacheAttributes()
-            .getEventQueuePoolName(), remoteCacheClient.getAuxiliaryCacheAttributes().getEventQueueType() );
-
-        if ( previousQueue.isWorking() )
-        {
-            // we don't expect anything, it would have all gone to the zombie
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "resetEventQ, previous queue has [" + previousQueue.size() + "] items queued up." );
-            }
-            previousQueue.destroy();
-        }
-    }
-
-    /**
-     * This is temporary. It allows the manager to get the lister.
-     * <p>
-     * @return the instance of the remote cache client used by this object
-     */
-    protected IRemoteCacheClient<K, V> getRemoteCache()
-    {
-        return remoteCacheClient;
-    }
-
-    /**
-     * @return Returns the AuxiliaryCacheAttributes.
-     */
-    @Override
-    public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
-    {
-        return remoteCacheClient.getAuxiliaryCacheAttributes();
-    }
-
-    /**
-     * This is for testing only. It allows you to take a look at the event queue.
-     * <p>
-     * @return ICacheEventQueue
-     */
-    protected ICacheEventQueue<K, V> getCacheEventQueue()
-    {
-        return this.cacheEventQueue;
-    }
-
-    /**
-     * Returns the stats and the cache.toString().
-     * <p>
-     * (non-Javadoc)
-     * @see java.lang.Object#toString()
-     */
-    @Override
-    public String toString()
-    {
-        return getStats() + "\n" + remoteCacheClient.toString();
-    }
-
-    /**
-     * Returns the statistics in String form.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String getStats()
-    {
-        return getStatistics().toString();
-    }
-
-    /**
-     * @return statistics about this communication
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "Remote Cache No Wait" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        elems.add(new StatElement<CacheStatus>( "Status", getStatus() ) );
-
-        // get the stats from the cache queue too
-        IStats cStats = this.remoteCacheClient.getStatistics();
-        if ( cStats != null )
-        {
-            elems.addAll(cStats.getStatElements());
-        }
-
-        // get the stats from the event queue too
-        IStats eqStats = this.cacheEventQueue.getStatistics();
-        elems.addAll(eqStats.getStatElements());
-
-        elems.add(new StatElement<Integer>( "Get Count", Integer.valueOf(this.getCount) ) );
-        elems.add(new StatElement<Integer>( "GetMatching Count", Integer.valueOf(this.getMatchingCount) ) );
-        elems.add(new StatElement<Integer>( "GetMultiple Count", Integer.valueOf(this.getMultipleCount) ) );
-        elems.add(new StatElement<Integer>( "Remove Count", Integer.valueOf(this.removeCount) ) );
-        elems.add(new StatElement<Integer>( "Put Count", Integer.valueOf(this.putCount) ) );
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-
-    /**
-     * this won't be called since we don't do ICache logging here.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String getEventLoggingExtraInfo()
-    {
-        return "Remote Cache No Wait";
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWaitFacade.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWaitFacade.java
deleted file mode 100644
index 9c99862..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWaitFacade.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.RemoteType;
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Used to provide access to multiple services under nowait protection. Factory should construct
- * NoWaitFacade to give to the composite cache out of caches it constructs from the varies manager
- * to lateral services.
- * <p>
- * Typically, we only connect to one remote server per facade. We use a list of one
- * RemoteCacheNoWait.
- */
-public class RemoteCacheNoWaitFacade<K, V>
-    extends AbstractRemoteCacheNoWaitFacade<K, V>
-{
-    /** log instance */
-    private static final Log log = LogFactory.getLog( RemoteCacheNoWaitFacade.class );
-
-    /**
-     * Constructs with the given remote cache, and fires events to any listeners.
-     * <p>
-     * @param noWaits
-     * @param rca
-     * @param cacheMgr
-     * @param cacheEventLogger
-     * @param elementSerializer
-     */
-    public RemoteCacheNoWaitFacade( RemoteCacheNoWait<K, V>[] noWaits,
-                                    RemoteCacheAttributes rca,
-                                    ICompositeCacheManager cacheMgr,
-                                    ICacheEventLogger cacheEventLogger,
-                                    IElementSerializer elementSerializer )
-    {
-        super( noWaits, rca, cacheMgr, cacheEventLogger, elementSerializer );
-    }
-
-    /**
-     * Begin the failover process if this is a local cache. Clustered remote caches do not failover.
-     * <p>
-     * @param i The no wait in error.
-     */
-    @Override
-    protected void failover( int i )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "in failover for " + i );
-        }
-
-        if ( getRemoteCacheAttributes().getRemoteType() == RemoteType.LOCAL )
-        {
-            if ( noWaits[i].getStatus() == CacheStatus.ERROR )
-            {
-                // start failover, primary recovery process
-                RemoteCacheFailoverRunner<K, V> runner =
-                    new RemoteCacheFailoverRunner<K, V>( this, getCompositeCacheManager() );
-                runner.setDaemon( true );
-                runner.start();
-                runner.notifyError();
-
-                if ( getCacheEventLogger() != null )
-                {
-                    getCacheEventLogger().logApplicationEvent( "RemoteCacheNoWaitFacade", "InitiatedFailover",
-                                                               noWaits[i] + " was in error." );
-                }
-            }
-            else
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "The noWait is not in error" );
-                }
-            }
-        }
-    }
-
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheRestore.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheRestore.java
deleted file mode 100644
index 5c14600..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteCacheRestore.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.rmi.Naming;
-import java.rmi.NotBoundException;
-
-import org.apache.commons.jcs.engine.behavior.ICacheObserver;
-import org.apache.commons.jcs.engine.behavior.ICacheRestore;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Used to repair the remote caches managed by the associated instance of RemoteCacheManager.
- * <p>
- * When there is an error the monitor kicks off. The Failover runner starts looks for a manager with
- * a connection to a remote cache that is not in error. If a manager's connection to a remote cache
- * is found to be in error, the restorer kicks off and tries to reconnect. When it is successful, the
- * status of the manager changes.
- * <p>
- * When the failover runner finds that the primary is in good shape, it will switch back. Switching
- * back involves setting the first no wait on the no wait facade.
- */
-public class RemoteCacheRestore
-    implements ICacheRestore
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( RemoteCacheRestore.class );
-
-    /** The manager */
-    private final RemoteCacheManager remoteCacheManager;
-
-    /** can it be restored */
-    private boolean canFix = true;
-
-    /** The remote handle */
-    private Object remoteObj;
-
-    /**
-     * Constructs with the given instance of RemoteCacheManager.
-     * <p>
-     * @param rcm
-     */
-    public RemoteCacheRestore( RemoteCacheManager rcm )
-    {
-        this.remoteCacheManager = rcm;
-    }
-
-    /**
-     * Returns true if the connection to the remote host for the corresponding cache manager can be
-     * successfully re-established.
-     * <p>
-     * @return true if we found a failover server
-     */
-    @Override
-    public boolean canFix()
-    {
-        if ( !canFix )
-        {
-            return canFix;
-        }
-
-        String registry = remoteCacheManager.getRegistryURL();
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "looking up server [" + registry + "]" );
-        }
-        try
-        {
-            remoteObj = Naming.lookup( registry );
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Found server " + remoteObj );
-            }
-        }
-        catch (IOException e)
-        {
-            log.error( "Registry=" + registry, e );
-            canFix = false;
-        }
-        catch (NotBoundException e)
-        {
-            log.error( "Registry=" + registry, e );
-            canFix = false;
-        }
-
-        return canFix;
-    }
-
-    /**
-     * Fixes up all the caches managed by the associated cache manager.
-     */
-    @Override
-    public void fix()
-    {
-        if ( !canFix )
-        {
-            return;
-        }
-        remoteCacheManager.fixCaches( (ICacheServiceNonLocal<?, ?>) remoteObj, (ICacheObserver) remoteObj );
-
-        if ( log.isInfoEnabled() )
-        {
-            String msg = "Remote connection to " + remoteCacheManager.getRegistryURL() + " resumed.";
-            remoteCacheManager.logApplicationEvent( "RemoteCacheRestore", "fix", msg );
-            log.info( msg );
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteLocation.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteLocation.java
deleted file mode 100644
index 813aecf..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteLocation.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Location of the RMI registry.
- */
-public final class RemoteLocation
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( RemoteLocation.class );
-
-    /** Pattern for parsing server:port */
-    private static final Pattern SERVER_COLON_PORT = Pattern.compile("(\\S+)\\s*:\\s*(\\d+)");
-
-    /** Host name */
-    private final String host;
-
-    /** Port */
-    private final int port;
-
-    /**
-     * Constructor for the Location object
-     * <p>
-     * @param host
-     * @param port
-     */
-    public RemoteLocation( String host, int port )
-    {
-        this.host = host;
-        this.port = port;
-    }
-
-    /**
-     * @return the host
-     */
-    public String getHost()
-    {
-        return host;
-    }
-
-    /**
-     * @return the port
-     */
-    public int getPort()
-    {
-        return port;
-    }
-
-    /**
-     * @param obj
-     * @return true if the host and port are equal
-     */
-    @Override
-    public boolean equals( Object obj )
-    {
-        if ( obj == this )
-        {
-            return true;
-        }
-        if ( obj == null || !( obj instanceof RemoteLocation ) )
-        {
-            return false;
-        }
-        RemoteLocation l = (RemoteLocation) obj;
-        if ( this.host == null )
-        {
-            return l.host == null && port == l.port;
-        }
-        return host.equals( l.host ) && port == l.port;
-    }
-
-    /**
-     * @return int
-     */
-    @Override
-    public int hashCode()
-    {
-        return host == null ? port : host.hashCode() ^ port;
-    }
-
-    /**
-     * @see java.lang.Object#toString()
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder sb = new StringBuilder();
-        if (this.host != null)
-        {
-            sb.append(this.host);
-        }
-        sb.append(':').append(this.port);
-
-        return sb.toString();
-    }
-
-    /**
-     * Parse remote server and port from the string representation server:port and store them in
-     * a RemoteLocation object
-     *
-     * @param server the input string
-     * @return the remote location object
-     */
-    public static RemoteLocation parseServerAndPort(final String server)
-    {
-        Matcher match = SERVER_COLON_PORT.matcher(server);
-
-        if (match.find() && match.groupCount() == 2)
-        {
-            RemoteLocation location = new RemoteLocation( match.group(1), Integer.parseInt( match.group(2) ) );
-            return location;
-        }
-        else
-        {
-            log.error("Invalid server descriptor: " + server);
-        }
-
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/RemoteUtils.java b/src/org/apache/commons/jcs/auxiliary/remote/RemoteUtils.java
deleted file mode 100644
index 7ef4b10..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/RemoteUtils.java
+++ /dev/null
@@ -1,236 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.InetSocketAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.rmi.RemoteException;
-import java.rmi.registry.LocateRegistry;
-import java.rmi.registry.Registry;
-import java.rmi.server.RMISocketFactory;
-import java.util.Enumeration;
-import java.util.Properties;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This class provides some basic utilities for doing things such as starting the registry properly.
- */
-public class RemoteUtils
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( RemoteUtils.class );
-
-    /** No instances please. */
-    private RemoteUtils()
-    {
-        super();
-    }
-
-    /**
-     * Creates and exports a registry on the specified port of the local host.
-     * <p>
-     * @param port
-     * @return the registry
-     */
-    public static Registry createRegistry( int port )
-    {
-    	Registry registry = null;
-
-//        if ( log.isInfoEnabled() )
-//        {
-//            log.info( "createRegistry> Setting security manager" );
-//        }
-//
-//        System.setSecurityManager( new RMISecurityManager() );
-
-        if ( port < 1024 )
-        {
-            if ( log.isWarnEnabled() )
-            {
-                log.warn( "createRegistry> Port chosen was less than 1024, will use default [" + Registry.REGISTRY_PORT + "] instead." );
-            }
-            port = Registry.REGISTRY_PORT;
-        }
-
-        try
-        {
-            registry = LocateRegistry.createRegistry( port );
-            log.info("createRegistry> Created the registry on port " + port);
-        }
-        catch ( RemoteException e )
-        {
-            log.warn( "createRegistry> Problem creating registry. It may already be started. " + e.getMessage() );
-        }
-        catch ( Throwable t )
-        {
-            log.error( "createRegistry> Problem creating registry.", t );
-        }
-
-        if (registry == null)
-        {
-        	try
-        	{
-            	registry = LocateRegistry.getRegistry( port );
-			}
-        	catch (RemoteException e)
-        	{
-                log.error( "createRegistry> Problem getting a registry reference.", e );
-			}
-        }
-
-        return registry;
-    }
-
-    /**
-     * Loads properties for the named props file.
-     * <p>
-     * @param propFile
-     * @return The properties object for the file
-     * @throws IOException
-     */
-    public static Properties loadProps( String propFile )
-        throws IOException
-    {
-        InputStream is = RemoteUtils.class.getResourceAsStream( propFile );
-        Properties props = new Properties();
-        try
-        {
-            props.load( is );
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "props.size=" + props.size() );
-            }
-
-            if ( log.isDebugEnabled() )
-            {
-                Enumeration<Object> en = props.keys();
-                StringBuilder buf = new StringBuilder();
-                while ( en.hasMoreElements() )
-                {
-                    String key = (String) en.nextElement();
-                    buf.append( "\n" + key + " = " + props.getProperty( key ) );
-                }
-                log.debug( buf.toString() );
-            }
-
-        }
-        catch ( Exception ex )
-        {
-            log.error( "Error loading remote properties, for file name [" + propFile + "]", ex );
-        }
-        finally
-        {
-            if ( is != null )
-            {
-                is.close();
-            }
-        }
-        return props;
-    }
-
-    /**
-     * Configure a custom socket factory to set the timeout value. This sets the global socket
-     * factory. It's used only if a custom factory is not configured for the specific object.
-     * <p>
-     * @param timeoutMillis
-     */
-    public static void configureGlobalCustomSocketFactory( final int timeoutMillis )
-    {
-        try
-        {
-            // Don't set a socket factory if the setting is -1
-            if ( timeoutMillis > 0 )
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "RmiSocketFactoryTimeoutMillis [" + timeoutMillis + "]. "
-                        + " Configuring a custom socket factory." );
-                }
-
-                // use this socket factory to add a timeout.
-                RMISocketFactory.setSocketFactory( new RMISocketFactory()
-                {
-                    @Override
-                    public Socket createSocket( String host, int port )
-                        throws IOException
-                    {
-                        Socket socket = new Socket();
-                        socket.setSoTimeout( timeoutMillis );
-                        socket.setSoLinger( false, 0 );
-                        socket.connect( new InetSocketAddress( host, port ), timeoutMillis );
-                        return socket;
-                    }
-
-                    @Override
-                    public ServerSocket createServerSocket( int port )
-                        throws IOException
-                    {
-                        return new ServerSocket( port );
-                    }
-                } );
-            }
-        }
-        catch ( IOException e )
-        {
-            // Only try to do it once. Otherwise we
-            // Generate errors for each region on construction.
-            RMISocketFactory factoryInUse = RMISocketFactory.getSocketFactory();
-            if ( factoryInUse != null && !factoryInUse.getClass().getName().startsWith( "org.apache.commons.jcs" ) )
-            {
-                log.info( "Could not create new custom socket factory. " + e.getMessage() + " Factory in use = "
-                    + RMISocketFactory.getSocketFactory() );
-            }
-        }
-    }
-
-    /**
-     * Get the naming url used for RMI registration
-     *
-     * @param location the remote location
-     * @param serviceName the remote service name
-     * @return the URL for RMI lookup
-     */
-    public static String getNamingURL(final RemoteLocation location, final String serviceName)
-    {
-        return getNamingURL(location.getHost(), location.getPort(), serviceName);
-    }
-
-    /**
-     * Get the naming url used for RMI registration
-     *
-     * @param registryHost the remote host
-     * @param registryPort the remote port
-     * @param serviceName the remote service name
-     * @return the URL for RMI lookup
-     */
-    public static String getNamingURL(final String registryHost, final int registryPort, final String serviceName)
-    {
-        if (registryHost.contains(":")) { // TODO improve this check? See also JCS-133
-            return "//[" + registryHost.replaceFirst("%", "%25") + "]:" + registryPort + "/" + serviceName;
-        }
-        final String registryURL = "//" + registryHost + ":" + registryPort + "/" + serviceName;
-        return registryURL;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/behavior/ICommonRemoteCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/remote/behavior/ICommonRemoteCacheAttributes.java
deleted file mode 100644
index 2b1e20e..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/behavior/ICommonRemoteCacheAttributes.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.RemoteLocation;
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.RemoteType;
-
-/**
- * This specifies what a remote cache configuration object should look like.
- */
-public interface ICommonRemoteCacheAttributes
-    extends AuxiliaryCacheAttributes
-{
-    /** The default timeout for the custom RMI socket factory */
-    int DEFAULT_RMI_SOCKET_FACTORY_TIMEOUT_MILLIS = 10000;
-
-    /**
-     * Gets the remoteTypeName attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @return The remoteTypeName value
-     */
-    String getRemoteTypeName();
-
-    /**
-     * Sets the remoteTypeName attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @param s The new remoteTypeName value
-     */
-    void setRemoteTypeName( String s );
-
-    /**
-     * Gets the remoteType attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @return The remoteType value
-     */
-    RemoteType getRemoteType();
-
-    /**
-     * Sets the remoteType attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @param p The new remoteType value
-     */
-    void setRemoteType( RemoteType p );
-
-    /**
-     * Gets the remoteServiceName attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @return The remoteServiceName value
-     */
-    String getRemoteServiceName();
-
-    /**
-     * Sets the remoteServiceName attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @param s The new remoteServiceName value
-     */
-    void setRemoteServiceName( String s );
-
-    /**
-     * Sets the location attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param location The new location value
-     */
-    void setRemoteLocation( RemoteLocation location );
-
-    /**
-     * Sets the location attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @param host The new remoteHost value
-     * @param port The new remotePort value
-     */
-    void setRemoteLocation( String host, int port );
-
-    /**
-     * Gets the location attribute of the RemoteCacheAttributes object.
-     * <p>
-     * @return The remote location value
-     */
-    public RemoteLocation getRemoteLocation();
-
-    /**
-     * Gets the clusterServers attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @return The clusterServers value
-     */
-    String getClusterServers();
-
-    /**
-     * Sets the clusterServers attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @param s The new clusterServers value
-     */
-    void setClusterServers( String s );
-
-    /**
-     * Gets the removeUponRemotePut attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @return The removeUponRemotePut value
-     */
-    boolean getRemoveUponRemotePut();
-
-    /**
-     * Sets the removeUponRemotePut attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @param r The new removeUponRemotePut value
-     */
-    void setRemoveUponRemotePut( boolean r );
-
-    /**
-     * Gets the getOnly attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @return The getOnly value
-     */
-    boolean getGetOnly();
-
-    /**
-     * Sets the getOnly attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @param r The new getOnly value
-     */
-    void setGetOnly( boolean r );
-
-    /**
-     * Should cluster updates be propagated to the locals
-     * <p>
-     * @return The localClusterConsistency value
-     */
-    boolean isLocalClusterConsistency();
-
-    /**
-     * Should cluster updates be propagated to the locals
-     * <p>
-     * @param r The new localClusterConsistency value
-     */
-    void setLocalClusterConsistency( boolean r );
-
-    /**
-     * This sets a general timeout on the rmi socket factory. By default the socket factory will
-     * block forever.
-     * <p>
-     * We have a default setting. The default rmi behavior should never be used.
-     * <p>
-     * @return int milliseconds
-     */
-    int getRmiSocketFactoryTimeoutMillis();
-
-    /**
-     * This sets a general timeout on the RMI socket factory. By default the socket factory will
-     * block forever.
-     * <p>
-     * @param rmiSocketFactoryTimeoutMillis
-     */
-    void setRmiSocketFactoryTimeoutMillis( int rmiSocketFactoryTimeoutMillis );
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheAttributes.java
deleted file mode 100644
index e67751d..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheAttributes.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.behavior;
-
-import org.apache.commons.jcs.auxiliary.remote.RemoteLocation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This specifies what a remote cache configuration object should look like.
- */
-public interface IRemoteCacheAttributes
-    extends ICommonRemoteCacheAttributes
-{
-    /**
-     * If RECEIVE is false then the remote cache will not register a listener with the remote
-     * server. This allows you to configure a remote server as a repository from which you can get
-     * and to which you put, but from which you do not receive any notifications. That is, you will
-     * not receive updates or removes.
-     * <p>
-     * If you set this option to false, you should set your local memory size to 0.
-     */
-    boolean DEFAULT_RECEIVE = true;
-
-    /**
-     * The number of elements the zombie queue will hold. This queue is used to store events if we
-     * loose our connection with the server.
-     */
-    int DEFAULT_ZOMBIE_QUEUE_MAX_SIZE = 1000;
-
-    /**
-     * Gets the failoverIndex attribute of the IRemoteCacheAttributes object.
-     * <p>
-     * This specifies which server in the list we are listening to if the number is greater than 0
-     * we will try to move to 0 position the primary is added as position 1 if it is present
-     * <p>
-     * @return The failoverIndex value
-     */
-    int getFailoverIndex();
-
-    /**
-     * Sets the failoverIndex attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @param p The new failoverIndex value
-     */
-    void setFailoverIndex( int p );
-
-    /**
-     * Gets the failovers attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @return The failovers value
-     */
-    RemoteLocation[] getFailovers();
-
-    /**
-     * Sets the failovers attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @param f The new failovers value
-     */
-    void setFailovers( RemoteLocation[] f );
-
-    /**
-     * Gets the localPort attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @return The localPort value
-     */
-    int getLocalPort();
-
-    /**
-     * Sets the localPort attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @param p The new localPort value
-     */
-    void setLocalPort( int p );
-
-    /**
-     * Gets the failoverServers attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @return The failoverServers value
-     */
-    String getFailoverServers();
-
-    /**
-     * Sets the failoverServers attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @param s The new failoverServers value
-     */
-    void setFailoverServers( String s );
-
-    /**
-     * The thread pool the remote cache should use. At first this will only be for gets.
-     * <p>
-     * The default name is "remote_cache_client"
-     * <p>
-     * @return the name of the pool
-     */
-    String getThreadPoolName();
-
-    /**
-     * Set the name of the pool to use. Pools should be defined in the cache.ccf.
-     * <p>
-     * @param name
-     */
-    void setThreadPoolName( String name );
-
-    /**
-     * -1 and 0 mean no timeout, this is the default if the timeout is -1 or 0, no threadpool will
-     * be used.
-     * <p>
-     * @return the time in millis
-     */
-    int getGetTimeoutMillis();
-
-    /**
-     * -1 means no timeout, this is the default if the timeout is -1 or 0, no threadpool will be
-     * used. If the timeout is greater than 0 a threadpool will be used for get requests.
-     * <p>
-     * @param millis
-     */
-    void setGetTimeoutMillis( int millis );
-
-    /**
-     * By default this option is true. If you set it to false, you will not receive updates or
-     * removes from the remote server.
-     * <p>
-     * @param receive
-     */
-    void setReceive( boolean receive );
-
-    /**
-     * If RECEIVE is false then the remote cache will not register a listener with the remote
-     * server. This allows you to configure a remote server as a repository from which you can get
-     * and to which you put, but from which you do not receive any notifications. That is, you will
-     * not receive updates or removes.
-     * <p>
-     * If you set this option to false, you should set your local memory size to 0.
-     * <p>
-     * The remote cache manager uses this value to decide whether or not to register a listener.
-     * <p>
-     * It makes no sense to configure a cluster remote cache to no receive.
-     * <p>
-     * Since a non-receiving remote cache client will not register a listener, it will not have a
-     * listener id assigned from the server. As such the remote server cannot determine if it is a
-     * cluster or a normal client. It will assume that it is a normal client.
-     * <p>
-     * @return the receive value.
-     */
-    boolean isReceive();
-
-    /**
-     * The number of elements the zombie queue will hold. This queue is used to store events if we
-     * loose our connection with the server.
-     * <p>
-     * @param zombieQueueMaxSize The zombieQueueMaxSize to set.
-     */
-    void setZombieQueueMaxSize( int zombieQueueMaxSize );
-
-    /**
-     * The number of elements the zombie queue will hold. This queue is used to store events if we
-     * loose our connection with the server.
-     * <p>
-     * @return Returns the zombieQueueMaxSize.
-     */
-    int getZombieQueueMaxSize();
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheClient.java b/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheClient.java
deleted file mode 100644
index acb68f6..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheClient.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-
-/**
- * This defines the behavior expected of a remote cache client. This extends Auxiliary cache which
- * in turn extends ICache.
- * <p>
- * I'd like generalize this a bit.
- * <p>
- * @author Aaron Smuts
- */
-public interface IRemoteCacheClient<K, V>
-    extends AuxiliaryCache<K, V>
-{
-    /**
-     * Replaces the current remote cache service handle with the given handle. If the current remote
-     * is a Zombie, the propagate the events that may be queued to the restored service.
-     * <p>
-     * @param remote ICacheServiceNonLocal -- the remote server or proxy to the remote server
-     */
-    void fixCache( ICacheServiceNonLocal<?, ?> remote );
-
-    /**
-     * Gets the listenerId attribute of the RemoteCacheListener object.
-     * <p>
-     * All requests to the remote cache must include a listener id. This allows the server to avoid
-     * sending updates the the listener associated with this client.
-     * <p>
-     * @return The listenerId value
-     */
-    long getListenerId();
-
-    /**
-     * This returns the listener associated with this remote cache. TODO we should try to get this
-     * out of the interface.
-     * <p>
-     * @return IRemoteCacheListener
-     */
-    IRemoteCacheListener<K, V> getListener();
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheConstants.java b/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheConstants.java
deleted file mode 100644
index 0dd06a9..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheConstants.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-
-
-/**
- * This holds constants that are used by the remote cache.
- */
-public interface IRemoteCacheConstants
-{
-    /** Mapping to props file value */
-    String REMOTE_CACHE_SERVICE_VAL = ICacheServiceNonLocal.class.getName();
-
-    /** The prefix for cache server config. */
-    String CACHE_SERVER_PREFIX = "jcs.remotecache";
-
-    /**
-     * I'm trying to migrate everything to use this prefix. All those below will be replaced. Any of
-     * the RemoteCacheServerAttributes can be configured this way.
-     */
-    String CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX = CACHE_SERVER_PREFIX + ".serverattributes";
-
-    /**
-     * This is the name of the class that will be used for an object specific socket factory.
-     */
-    String CUSTOM_RMI_SOCKET_FACTORY_PROPERTY_PREFIX = CACHE_SERVER_PREFIX + ".customrmisocketfactory";
-
-    /** Property prefix, should be jcs.remote but this would break existing config. */
-    String PROPERTY_PREFIX = "remote";
-
-    /** Mapping to props file value */
-    String SOCKET_TIMEOUT_MILLIS = PROPERTY_PREFIX + ".cache.rmiSocketFactoryTimeoutMillis";
-
-    /** Mapping to props file value */
-    String REMOTE_CACHE_SERVICE_NAME = PROPERTY_PREFIX + ".cache.service.name";
-
-    /** Mapping to props file value */
-    String TOMCAT_XML = PROPERTY_PREFIX + ".tomcat.xml";
-
-    /** Mapping to props file value */
-    String TOMCAT_ON = PROPERTY_PREFIX + ".tomcat.on";
-
-    /** Mapping to props file value */
-    String REMOTE_CACHE_SERVICE_PORT = PROPERTY_PREFIX + ".cache.service.port";
-
-    /** Mapping to props file value */
-    String REMOTE_LOCAL_CLUSTER_CONSISTENCY = PROPERTY_PREFIX + ".cluster.LocalClusterConsistency";
-
-    /** Mapping to props file value */
-    String REMOTE_ALLOW_CLUSTER_GET = PROPERTY_PREFIX + ".cluster.AllowClusterGet";
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheDispatcher.java b/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheDispatcher.java
deleted file mode 100644
index c5d0b0d..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheDispatcher.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteCacheRequest;
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteCacheResponse;
-
-import java.io.IOException;
-
-/**
- * In the future, this can be used as a generic dispatcher abstraction.
- * <p>
- * At the time of creation, only the http remote cache uses it. The RMI remote could be converted to
- * use it as well.
- */
-public interface IRemoteCacheDispatcher
-{
-    /**
-     * All requests will go through this method. The dispatcher implementation will send the request
-     * remotely.
-     * <p>
-     * @param remoteCacheRequest
-     * @return RemoteCacheResponse
-     * @throws IOException
-     */
-    <K, V, T>
-        RemoteCacheResponse<T> dispatchRequest( RemoteCacheRequest<K, V> remoteCacheRequest )
-            throws IOException;
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheListener.java b/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheListener.java
deleted file mode 100644
index b673383..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/behavior/IRemoteCacheListener.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.RemoteType;
-import org.apache.commons.jcs.engine.behavior.ICacheListener;
-
-import java.io.IOException;
-import java.rmi.Remote;
-
-/**
- * Listens for remote cache event notification ( rmi callback ).
- */
-public interface IRemoteCacheListener<K, V>
-    extends ICacheListener<K, V>, Remote
-{
-    /**
-     * Get the id to be used by this manager.
-     * <p>
-     * @return long
-     * @throws IOException
-     */
-    @Override
-    long getListenerId()
-        throws IOException;
-
-    /**
-     * Set the id to be used by this manager. The remote cache server identifies clients by this id.
-     * The value will be set by the server through the remote cache listener.
-     * <p>
-     * @param id
-     * @throws IOException
-     */
-    @Override
-    void setListenerId( long id )
-        throws IOException;
-
-    /**
-     * Gets the remoteType attribute of the IRemoteCacheListener object
-     * <p>
-     * @return The remoteType value
-     * @throws IOException
-     */
-    RemoteType getRemoteType()
-        throws IOException;
-
-    /**
-     * This is for debugging. It allows the remote cache server to log the address of any listeners
-     * that register.
-     * <p>
-     * @return the local host address.
-     * @throws IOException
-     */
-    String getLocalHostAddress()
-        throws IOException;
-
-    /**
-     * Deregisters itself.
-     * <p>
-     * @throws IOException
-     */
-    void dispose()
-        throws IOException;
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/behavior/IRemoteHttpCacheConstants.java b/src/org/apache/commons/jcs/auxiliary/remote/http/behavior/IRemoteHttpCacheConstants.java
deleted file mode 100644
index 49515f3..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/behavior/IRemoteHttpCacheConstants.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/** Constants used throughout the HTTP remote cache. */
-public interface IRemoteHttpCacheConstants
-{
-    /** The prefix for cache server config. */
-    String HTTP_CACHE_SERVER_PREFIX = "jcs.remotehttpcache";
-
-    /** All of the RemoteHttpCacheServiceAttributes can be configured this way. */
-    String HTTP_CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX = HTTP_CACHE_SERVER_PREFIX
-        + ".serverattributes";
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/client/AbstractHttpClient.java b/src/org/apache/commons/jcs/auxiliary/remote/http/client/AbstractHttpClient.java
deleted file mode 100644
index a68f31a..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/client/AbstractHttpClient.java
+++ /dev/null
@@ -1,193 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.client;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpState;
-import org.apache.commons.httpclient.HttpVersion;
-import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
-import org.apache.commons.httpclient.cookie.CookiePolicy;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-
-/**
- * This class simply configures the http multithreaded connection manager.
- * <p>
- * This is abstract because it can't do anything. Child classes can overwrite whatever they want.
- */
-public abstract class AbstractHttpClient
-{
-    /** The connection manager. */
-    private MultiThreadedHttpConnectionManager connectionManager;
-
-    /** The client */
-    private HttpClient httpClient;
-
-    /** Configuration settings. */
-    private RemoteHttpCacheAttributes remoteHttpCacheAttributes;
-
-    /** The Logger. */
-    private static final Log log = LogFactory.getLog( AbstractHttpClient.class );
-
-    /**
-     * Sets the default Properties File and Heading, and creates the HttpClient and connection
-     * manager.
-     * <p>
-     * @param remoteHttpCacheAttributes
-     */
-    public AbstractHttpClient( RemoteHttpCacheAttributes remoteHttpCacheAttributes )
-    {
-        setRemoteHttpCacheAttributes( remoteHttpCacheAttributes );
-        setConnectionManager( new MultiThreadedHttpConnectionManager() );
-
-        // THIS IS NOT THREAD SAFE:
-        // setHttpClient( new HttpClient() );
-        // THIS IS:
-        setHttpClient( new HttpClient( getConnectionManager() ) );
-
-        configureClient();
-    }
-
-    /**
-     * Configures the http client.
-     */
-    public void configureClient()
-    {
-        if ( getRemoteHttpCacheAttributes().getMaxConnectionsPerHost() > 0 )
-        {
-            getConnectionManager().getParams().setMaxTotalConnections(
-                                                                       getRemoteHttpCacheAttributes()
-                                                                           .getMaxConnectionsPerHost() );
-        }
-
-        getConnectionManager().getParams().setSoTimeout( getRemoteHttpCacheAttributes().getSocketTimeoutMillis() );
-
-        String httpVersion = getRemoteHttpCacheAttributes().getHttpVersion();
-        if ( httpVersion != null )
-        {
-            if ( "1.1".equals( httpVersion ) )
-            {
-                getHttpClient().getParams().setParameter( "http.protocol.version", HttpVersion.HTTP_1_1 );
-            }
-            else if ( "1.0".equals( httpVersion ) )
-            {
-                getHttpClient().getParams().setParameter( "http.protocol.version", HttpVersion.HTTP_1_0 );
-            }
-            else
-            {
-                log.warn( "Unrecognized value for 'httpVersion': [" + httpVersion + "]" );
-            }
-        }
-
-        getConnectionManager().getParams().setConnectionTimeout(
-                                                                 getRemoteHttpCacheAttributes()
-                                                                     .getConnectionTimeoutMillis() );
-
-        // By default we instruct HttpClient to ignore cookies.
-        String cookiePolicy = CookiePolicy.IGNORE_COOKIES;
-        getHttpClient().getParams().setCookiePolicy( cookiePolicy );
-    }
-
-    /**
-     * Extracted method that can be overwritten to do additional things to the post before the call
-     * is made.
-     * <p>
-     * @param post the post that is about to get executed.
-     * @throws IOException on i/o error
-     */
-    protected final void doWebserviceCall( HttpMethod post )
-        throws IOException
-    {
-        HttpState httpState = preProcessWebserviceCall( post );
-        getHttpClient().executeMethod( null, post, httpState );
-        postProcessWebserviceCall( post, httpState );
-    }
-
-    /**
-     * Called before the executeMethod on the client.
-     * <p>
-     * @param post http method
-     * @return HttpState
-     * @throws IOException
-     */
-    public abstract HttpState preProcessWebserviceCall( HttpMethod post )
-        throws IOException;
-
-    /**
-     * Called after the executeMethod on the client.
-     * <p>
-     * @param post http method
-     * @param httpState state
-     * @throws IOException
-     */
-    public abstract void postProcessWebserviceCall( HttpMethod post, HttpState httpState )
-        throws IOException;
-
-    /**
-     * @return Returns the httpClient.
-     */
-    private HttpClient getHttpClient()
-    {
-        return httpClient;
-    }
-
-    /**
-     * @param httpClient The httpClient to set.
-     */
-    private void setHttpClient( HttpClient httpClient )
-    {
-        this.httpClient = httpClient;
-    }
-
-    /**
-     * @return Returns the connectionManager.
-     */
-    public MultiThreadedHttpConnectionManager getConnectionManager()
-    {
-        return connectionManager;
-    }
-
-    /**
-     * @param connectionManager The connectionManager to set.
-     */
-    public void setConnectionManager( MultiThreadedHttpConnectionManager connectionManager )
-    {
-        this.connectionManager = connectionManager;
-    }
-
-    /**
-     * @param remoteHttpCacheAttributes the remoteHttpCacheAttributes to set
-     */
-    public void setRemoteHttpCacheAttributes( RemoteHttpCacheAttributes remoteHttpCacheAttributes )
-    {
-        this.remoteHttpCacheAttributes = remoteHttpCacheAttributes;
-    }
-
-    /**
-     * @return the remoteHttpCacheAttributes
-     */
-    public RemoteHttpCacheAttributes getRemoteHttpCacheAttributes()
-    {
-        return remoteHttpCacheAttributes;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCache.java b/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCache.java
deleted file mode 100644
index f156fab..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCache.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.client;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.AbstractRemoteAuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheListener;
-import org.apache.commons.jcs.engine.ZombieCacheServiceNonLocal;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-
-/**
- * This uses an http client as the service.
- */
-public class RemoteHttpCache<K, V>
-    extends AbstractRemoteAuxiliaryCache<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( RemoteHttpCache.class );
-
-    /** Keep the child copy here for the restore process. */
-    private RemoteHttpCacheAttributes remoteHttpCacheAttributes;
-
-    /**
-     * Constructor for the RemoteCache object. This object communicates with a remote cache server.
-     * One of these exists for each region. This also holds a reference to a listener. The same
-     * listener is used for all regions for one remote server. Holding a reference to the listener
-     * allows this object to know the listener id assigned by the remote cache.
-     * <p>
-     * @param remoteHttpCacheAttributes
-     * @param remote
-     * @param listener
-     */
-    public RemoteHttpCache( RemoteHttpCacheAttributes remoteHttpCacheAttributes, ICacheServiceNonLocal<K, V> remote,
-                            IRemoteCacheListener<K, V> listener )
-    {
-        super( remoteHttpCacheAttributes, remote, listener );
-
-        setRemoteHttpCacheAttributes( remoteHttpCacheAttributes );
-    }
-
-    /**
-     * Nothing right now. This should setup a zombie and initiate recovery.
-     * <p>
-     * @param ex
-     * @param msg
-     * @param eventName
-     * @throws IOException
-     */
-    @Override
-    protected void handleException( Exception ex, String msg, String eventName )
-        throws IOException
-    {
-        // we should not switch if the existing is a zombie.
-        if ( !( getRemoteCacheService() instanceof ZombieCacheServiceNonLocal ) )
-        {
-            String message = "Disabling remote cache due to error: " + msg;
-            logError( cacheName, "", message );
-            log.error( message, ex );
-
-            setRemoteCacheService( new ZombieCacheServiceNonLocal<K, V>( getRemoteCacheAttributes().getZombieQueueMaxSize() ) );
-
-            RemoteHttpCacheMonitor.getInstance().notifyError( this );
-        }
-
-        if ( ex instanceof IOException )
-        {
-            throw (IOException) ex;
-        }
-        throw new IOException( ex.getMessage() );
-    }
-
-    /**
-     * @return url of service
-     */
-    @Override
-    public String getEventLoggingExtraInfo()
-    {
-        return null;
-    }
-
-    /**
-     * @param remoteHttpCacheAttributes the remoteHttpCacheAttributes to set
-     */
-    public void setRemoteHttpCacheAttributes( RemoteHttpCacheAttributes remoteHttpCacheAttributes )
-    {
-        this.remoteHttpCacheAttributes = remoteHttpCacheAttributes;
-    }
-
-    /**
-     * @return the remoteHttpCacheAttributes
-     */
-    public RemoteHttpCacheAttributes getRemoteHttpCacheAttributes()
-    {
-        return remoteHttpCacheAttributes;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheAttributes.java b/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheAttributes.java
deleted file mode 100644
index c68670d..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheAttributes.java
+++ /dev/null
@@ -1,228 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.client;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.RemoteCacheAttributes;
-
-/** Http client specific settings. */
-public class RemoteHttpCacheAttributes
-    extends RemoteCacheAttributes
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -5944327125140505212L;
-
-    /** http verison to use. */
-    private static final String DEFAULT_HTTP_VERSION = "1.1";
-
-    /** The max connections allowed per host */
-    private int maxConnectionsPerHost = 100;
-
-    /** The socket timeout. */
-    private int socketTimeoutMillis = 3000;
-
-    /** The socket connections timeout */
-    private int connectionTimeoutMillis = 5000;
-
-    /** http verison to use. */
-    private String httpVersion = DEFAULT_HTTP_VERSION;
-
-    /** The cache name will be included on the parameters */
-    private boolean includeCacheNameAsParameter = true;
-
-    /** keys and patterns will be included in the parameters */
-    private boolean includeKeysAndPatternsAsParameter = true;
-
-    /** keys and patterns will be included in the parameters */
-    private boolean includeRequestTypeasAsParameter = true;
-
-    /** The complete URL to the service. */
-    private String url;
-
-    /** The default classname for the client.  */
-    public static final String DEFAULT_REMOTE_HTTP_CLIENT_CLASS_NAME = RemoteHttpCacheClient.class.getName();
-
-    /** This allows users to inject their own client implementation. */
-    private String remoteHttpClientClassName = DEFAULT_REMOTE_HTTP_CLIENT_CLASS_NAME;
-
-    /**
-     * @param maxConnectionsPerHost the maxConnectionsPerHost to set
-     */
-    public void setMaxConnectionsPerHost( int maxConnectionsPerHost )
-    {
-        this.maxConnectionsPerHost = maxConnectionsPerHost;
-    }
-
-    /**
-     * @return the maxConnectionsPerHost
-     */
-    public int getMaxConnectionsPerHost()
-    {
-        return maxConnectionsPerHost;
-    }
-
-    /**
-     * @param socketTimeoutMillis the socketTimeoutMillis to set
-     */
-    public void setSocketTimeoutMillis( int socketTimeoutMillis )
-    {
-        this.socketTimeoutMillis = socketTimeoutMillis;
-    }
-
-    /**
-     * @return the socketTimeoutMillis
-     */
-    public int getSocketTimeoutMillis()
-    {
-        return socketTimeoutMillis;
-    }
-
-    /**
-     * @param httpVersion the httpVersion to set
-     */
-    public void setHttpVersion( String httpVersion )
-    {
-        this.httpVersion = httpVersion;
-    }
-
-    /**
-     * @return the httpVersion
-     */
-    public String getHttpVersion()
-    {
-        return httpVersion;
-    }
-
-    /**
-     * @param connectionTimeoutMillis the connectionTimeoutMillis to set
-     */
-    public void setConnectionTimeoutMillis( int connectionTimeoutMillis )
-    {
-        this.connectionTimeoutMillis = connectionTimeoutMillis;
-    }
-
-    /**
-     * @return the connectionTimeoutMillis
-     */
-    public int getConnectionTimeoutMillis()
-    {
-        return connectionTimeoutMillis;
-    }
-
-    /**
-     * @param includeCacheNameInURL the includeCacheNameInURL to set
-     */
-    public void setIncludeCacheNameAsParameter( boolean includeCacheNameInURL )
-    {
-        this.includeCacheNameAsParameter = includeCacheNameInURL;
-    }
-
-    /**
-     * @return the includeCacheNameInURL
-     */
-    public boolean isIncludeCacheNameAsParameter()
-    {
-        return includeCacheNameAsParameter;
-    }
-
-    /**
-     * @param includeKeysAndPatternsInURL the includeKeysAndPatternsInURL to set
-     */
-    public void setIncludeKeysAndPatternsAsParameter( boolean includeKeysAndPatternsInURL )
-    {
-        this.includeKeysAndPatternsAsParameter = includeKeysAndPatternsInURL;
-    }
-
-    /**
-     * @return the includeKeysAndPatternsInURL
-     */
-    public boolean isIncludeKeysAndPatternsAsParameter()
-    {
-        return includeKeysAndPatternsAsParameter;
-    }
-
-    /**
-     * @param includeRequestTypeasAsParameter the includeRequestTypeasAsParameter to set
-     */
-    public void setIncludeRequestTypeasAsParameter( boolean includeRequestTypeasAsParameter )
-    {
-        this.includeRequestTypeasAsParameter = includeRequestTypeasAsParameter;
-    }
-
-    /**
-     * @return the includeRequestTypeasAsParameter
-     */
-    public boolean isIncludeRequestTypeasAsParameter()
-    {
-        return includeRequestTypeasAsParameter;
-    }
-
-    /**
-     * @param url the url to set
-     */
-    public void setUrl( String url )
-    {
-        this.url = url;
-    }
-
-    /**
-     * @return the url
-     */
-    public String getUrl()
-    {
-        return url;
-    }
-
-    /**
-     * @param remoteHttpClientClassName the remoteHttpClientClassName to set
-     */
-    public void setRemoteHttpClientClassName( String remoteHttpClientClassName )
-    {
-        this.remoteHttpClientClassName = remoteHttpClientClassName;
-    }
-
-    /**
-     * @return the remoteHttpClientClassName
-     */
-    public String getRemoteHttpClientClassName()
-    {
-        return remoteHttpClientClassName;
-    }
-
-    /**
-     * @return String details
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\n RemoteHttpCacheAttributes" );
-        buf.append( "\n maxConnectionsPerHost = [" + getMaxConnectionsPerHost() + "]" );
-        buf.append( "\n socketTimeoutMillis = [" + getSocketTimeoutMillis() + "]" );
-        buf.append( "\n httpVersion = [" + getHttpVersion() + "]" );
-        buf.append( "\n connectionTimeoutMillis = [" + getConnectionTimeoutMillis() + "]" );
-        buf.append( "\n includeCacheNameAsParameter = [" + isIncludeCacheNameAsParameter() + "]" );
-        buf.append( "\n includeKeysAndPatternsAsParameter = [" + isIncludeKeysAndPatternsAsParameter() + "]" );
-        buf.append( "\n includeRequestTypeasAsParameter = [" + isIncludeRequestTypeasAsParameter() + "]" );
-        buf.append( "\n url = [" + getUrl() + "]" );
-        buf.append( "\n remoteHttpClientClassName = [" + getRemoteHttpClientClassName() + "]" );
-        buf.append( super.toString() );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheClient.java b/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheClient.java
deleted file mode 100644
index ba84d5d..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheClient.java
+++ /dev/null
@@ -1,496 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.client;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheDispatcher;
-import org.apache.commons.jcs.auxiliary.remote.http.client.behavior.IRemoteHttpCacheClient;
-import org.apache.commons.jcs.auxiliary.remote.util.RemoteCacheRequestFactory;
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteCacheRequest;
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteCacheResponse;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
-
-/** This is the service used by the remote http auxiliary cache. */
-public class RemoteHttpCacheClient<K, V>
-    implements IRemoteHttpCacheClient<K, V>
-{
-    /** The Logger. */
-    private static final Log log = LogFactory.getLog( RemoteHttpCacheClient.class );
-
-    /** The internal client. */
-    private IRemoteCacheDispatcher remoteDispatcher;
-
-    /** The remote attributes */
-    private RemoteHttpCacheAttributes remoteHttpCacheAttributes;
-
-    /** Set to true when initialize is called */
-    private boolean initialized = false;
-
-    /** For factory construction. */
-    public RemoteHttpCacheClient()
-    {
-        // does nothing
-    }
-
-    /**
-     * Constructs a client.
-     * <p>
-     * @param attributes
-     */
-    public RemoteHttpCacheClient( RemoteHttpCacheAttributes attributes )
-    {
-        setRemoteHttpCacheAttributes( attributes );
-        initialize( attributes );
-    }
-
-    /**
-     * The provides an extension point. If you want to extend this and use a special dispatcher,
-     * here is the place to do it.
-     * <p>
-     * @param attributes
-     */
-    @Override
-    public void initialize( RemoteHttpCacheAttributes attributes )
-    {
-        setRemoteDispatcher( new RemoteHttpCacheDispatcher( attributes ) );
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Created remote Dispatcher." + getRemoteDispatcher() );
-        }
-        setInitialized( true );
-    }
-
-    /**
-     * Create a request, process, extract the payload.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @return ICacheElement
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
-        throws IOException
-    {
-        return get( cacheName, key, 0 );
-    }
-
-    /**
-     * Create a request, process, extract the payload.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @return ICacheElement
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        if ( !isInitialized() )
-        {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
-            log.warn( message );
-            throw new IOException( message );
-        }
-        RemoteCacheRequest<K, Serializable> remoteHttpCacheRequest =
-            RemoteCacheRequestFactory.createGetRequest( cacheName, key, requesterId );
-
-        RemoteCacheResponse<ICacheElement<K, V>> remoteHttpCacheResponse =
-            getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Get [" + key + "] = " + remoteHttpCacheResponse );
-        }
-
-        if ( remoteHttpCacheResponse != null)
-        {
-            return remoteHttpCacheResponse.getPayload();
-        }
-
-        return null;
-    }
-
-    /**
-     * Gets multiple items from the cache matching the pattern.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache matching the pattern.
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
-        throws IOException
-    {
-        return getMatching( cacheName, pattern, 0 );
-    }
-
-    /**
-     * Gets multiple items from the cache matching the pattern.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @param requesterId
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache matching the pattern.
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
-        throws IOException
-    {
-        if ( !isInitialized() )
-        {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
-            log.warn( message );
-            throw new IOException( message );
-        }
-
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
-            RemoteCacheRequestFactory.createGetMatchingRequest( cacheName, pattern, requesterId );
-
-        RemoteCacheResponse<Map<K, ICacheElement<K, V>>> remoteHttpCacheResponse =
-            getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "GetMatching [" + pattern + "] = " + remoteHttpCacheResponse );
-        }
-
-        return remoteHttpCacheResponse.getPayload();
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
-        throws IOException
-    {
-        return getMultiple( cacheName, keys, 0 );
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @param requesterId
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
-        throws IOException
-    {
-        if ( !isInitialized() )
-        {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
-            log.warn( message );
-            throw new IOException( message );
-        }
-
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
-            RemoteCacheRequestFactory.createGetMultipleRequest( cacheName, keys, requesterId );
-
-        RemoteCacheResponse<Map<K, ICacheElement<K, V>>> remoteHttpCacheResponse =
-            getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "GetMultiple [" + keys + "] = " + remoteHttpCacheResponse );
-        }
-
-        return remoteHttpCacheResponse.getPayload();
-    }
-
-    /**
-     * Removes the given key from the specified cache.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @throws IOException
-     */
-    @Override
-    public void remove( String cacheName, K key )
-        throws IOException
-    {
-        remove( cacheName, key, 0 );
-    }
-
-    /**
-     * Removes the given key from the specified cache.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void remove( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        if ( !isInitialized() )
-        {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
-            log.warn( message );
-            throw new IOException( message );
-        }
-
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
-            RemoteCacheRequestFactory.createRemoveRequest( cacheName, key, requesterId );
-
-        getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
-    }
-
-    /**
-     * Remove all keys from the specified cache.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void removeAll( String cacheName )
-        throws IOException
-    {
-        removeAll( cacheName, 0 );
-    }
-
-    /**
-     * Remove all keys from the sepcified cache.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void removeAll( String cacheName, long requesterId )
-        throws IOException
-    {
-        if ( !isInitialized() )
-        {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
-            log.warn( message );
-            throw new IOException( message );
-        }
-
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
-            RemoteCacheRequestFactory.createRemoveAllRequest( cacheName, requesterId );
-
-        getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
-    }
-
-    /**
-     * Puts a cache item to the cache.
-     * <p>
-     * @param item
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> item )
-        throws IOException
-    {
-        update( item, 0 );
-    }
-
-    /**
-     * Puts a cache item to the cache.
-     * <p>
-     * @param cacheElement
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> cacheElement, long requesterId )
-        throws IOException
-    {
-        if ( !isInitialized() )
-        {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
-            log.warn( message );
-            throw new IOException( message );
-        }
-
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
-            RemoteCacheRequestFactory.createUpdateRequest( cacheElement, requesterId );
-
-        getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
-    }
-
-    /**
-     * Frees the specified cache.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void dispose( String cacheName )
-        throws IOException
-    {
-        if ( !isInitialized() )
-        {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
-            log.warn( message );
-            throw new IOException( message );
-        }
-
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest =
-            RemoteCacheRequestFactory.createDisposeRequest( cacheName, 0 );
-
-        getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
-    }
-
-    /**
-     * Frees the specified cache.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public void release()
-        throws IOException
-    {
-        // noop
-    }
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     * @param cacheName the name of the cache
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet( String cacheName ) throws IOException
-    {
-        if ( !isInitialized() )
-        {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
-            log.warn( message );
-            throw new IOException( message );
-        }
-
-        RemoteCacheRequest<String, String> remoteHttpCacheRequest =
-            RemoteCacheRequestFactory.createGetKeySetRequest(cacheName, 0 );
-
-        RemoteCacheResponse<Set<K>> remoteHttpCacheResponse = getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
-
-        if ( remoteHttpCacheResponse != null && remoteHttpCacheResponse.getPayload() != null )
-        {
-            return remoteHttpCacheResponse.getPayload();
-        }
-
-        return Collections.emptySet();
-    }
-
-    /**
-     * Make and alive request.
-     * <p>
-     * @return true if we make a successful alive request.
-     * @throws IOException
-     */
-    @Override
-    public boolean isAlive()
-        throws IOException
-    {
-        if ( !isInitialized() )
-        {
-            String message = "The Remote Http Client is not initialized.  Cannot process request.";
-            log.warn( message );
-            throw new IOException( message );
-        }
-
-        RemoteCacheRequest<K, V> remoteHttpCacheRequest = RemoteCacheRequestFactory.createAliveCheckRequest( 0 );
-        RemoteCacheResponse<String> remoteHttpCacheResponse =
-            getRemoteDispatcher().dispatchRequest( remoteHttpCacheRequest );
-
-        if ( remoteHttpCacheResponse != null )
-        {
-            return remoteHttpCacheResponse.isSuccess();
-        }
-
-        return false;
-    }
-
-    /**
-     * @param remoteDispatcher the remoteDispatcher to set
-     */
-    public void setRemoteDispatcher( IRemoteCacheDispatcher remoteDispatcher )
-    {
-        this.remoteDispatcher = remoteDispatcher;
-    }
-
-    /**
-     * @return the remoteDispatcher
-     */
-    public IRemoteCacheDispatcher getRemoteDispatcher()
-    {
-        return remoteDispatcher;
-    }
-
-    /**
-     * @param remoteHttpCacheAttributes the remoteHttpCacheAttributes to set
-     */
-    public void setRemoteHttpCacheAttributes( RemoteHttpCacheAttributes remoteHttpCacheAttributes )
-    {
-        this.remoteHttpCacheAttributes = remoteHttpCacheAttributes;
-    }
-
-    /**
-     * @return the remoteHttpCacheAttributes
-     */
-    public RemoteHttpCacheAttributes getRemoteHttpCacheAttributes()
-    {
-        return remoteHttpCacheAttributes;
-    }
-
-    /**
-     * @param initialized the initialized to set
-     */
-    protected void setInitialized( boolean initialized )
-    {
-        this.initialized = initialized;
-    }
-
-    /**
-     * @return the initialized
-     */
-    protected boolean isInitialized()
-    {
-        return initialized;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheDispatcher.java b/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheDispatcher.java
deleted file mode 100644
index a31510a..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheDispatcher.java
+++ /dev/null
@@ -1,227 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.client;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-
-import org.apache.commons.httpclient.HttpException;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpState;
-import org.apache.commons.httpclient.methods.ByteArrayRequestEntity;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.RequestEntity;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheDispatcher;
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteCacheRequest;
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteCacheResponse;
-import org.apache.commons.jcs.utils.serialization.StandardSerializer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/** Calls the service. */
-public class RemoteHttpCacheDispatcher
-    extends AbstractHttpClient
-    implements IRemoteCacheDispatcher
-{
-    /** Named of the parameter */
-    private static final String PARAMETER_REQUEST_TYPE = "RequestType";
-
-    /** Named of the parameter */
-    private static final String PARAMETER_KEY = "Key";
-
-    /** Named of the parameter */
-    private static final String PARAMETER_CACHE_NAME = "CacheName";
-
-    /** The Logger. */
-    private static final Log log = LogFactory.getLog( RemoteHttpCacheDispatcher.class );
-
-    /** This needs to be standard, since the other side is standard */
-    private StandardSerializer serializer = new StandardSerializer();
-
-    /**
-     * @param remoteHttpCacheAttributes
-     */
-    public RemoteHttpCacheDispatcher( RemoteHttpCacheAttributes remoteHttpCacheAttributes )
-    {
-        super( remoteHttpCacheAttributes );
-    }
-
-    /**
-     * All requests will go through this method.
-     * <p>
-     * TODO consider taking in a URL instead of using the one in the configuration.
-     * <p>
-     * @param remoteCacheRequest
-     * @return RemoteCacheResponse
-     * @throws IOException
-     */
-    @Override
-    public <K, V, T>
-        RemoteCacheResponse<T> dispatchRequest( RemoteCacheRequest<K, V> remoteCacheRequest )
-        throws IOException
-    {
-        try
-        {
-            byte[] requestAsByteArray = serializer.serialize( remoteCacheRequest );
-
-            String url = addParameters( remoteCacheRequest, getRemoteHttpCacheAttributes().getUrl() );
-
-            byte[] responseAsByteArray = processRequest( requestAsByteArray, url );
-
-            RemoteCacheResponse<T> remoteCacheResponse = null;
-            try
-            {
-                remoteCacheResponse = serializer.deSerialize( responseAsByteArray, null );
-            }
-            catch ( ClassNotFoundException e )
-            {
-                log.error( "Couldn't deserialize the response.", e );
-            }
-            return remoteCacheResponse;
-        }
-        catch ( Exception e )
-        {
-            log.error( "Problem dispatching request.", e );
-            throw new IOException( e.getMessage() );
-        }
-    }
-
-    /**
-     * @param requestAsByteArray
-     * @param url
-     * @return byte[] - the response
-     * @throws IOException
-     * @throws HttpException
-     */
-    protected byte[] processRequest( byte[] requestAsByteArray, String url )
-        throws IOException, HttpException
-    {
-        PostMethod post = new PostMethod( url );
-        RequestEntity requestEntity = new ByteArrayRequestEntity( requestAsByteArray );
-        post.setRequestEntity( requestEntity );
-        doWebserviceCall( post );
-        byte[] response = post.getResponseBody();
-        return response;
-    }
-
-    /**
-     * @param remoteCacheRequest
-     * @param baseUrl
-     * @return String
-     */
-    protected <K, V> String addParameters( RemoteCacheRequest<K, V> remoteCacheRequest, String baseUrl )
-    {
-        StringBuilder url = new StringBuilder( baseUrl == null ? "" : baseUrl );
-
-        try
-        {
-            if ( baseUrl != null && baseUrl.indexOf( "?" ) == -1 )
-            {
-                url.append( "?" );
-            }
-            else
-            {
-                url.append( "&" );
-            }
-
-            if ( getRemoteHttpCacheAttributes().isIncludeCacheNameAsParameter() )
-            {
-                if ( remoteCacheRequest.getCacheName() != null )
-                {
-                    url.append( PARAMETER_CACHE_NAME + "="
-                        + URLEncoder.encode( remoteCacheRequest.getCacheName(), "UTF-8" ) );
-                }
-            }
-            if ( getRemoteHttpCacheAttributes().isIncludeKeysAndPatternsAsParameter() )
-            {
-                String keyValue = "";
-                switch ( remoteCacheRequest.getRequestType() )
-                {
-                    case GET:
-                    case REMOVE:
-                    case GET_KEYSET:
-                        keyValue = remoteCacheRequest.getKey() + "";
-                        break;
-                    case GET_MATCHING:
-                        keyValue = remoteCacheRequest.getPattern();
-                        break;
-                    case GET_MULTIPLE:
-                        keyValue = remoteCacheRequest.getKeySet() + "";
-                        break;
-                    case UPDATE:
-                        keyValue = remoteCacheRequest.getCacheElement().getKey() + "";
-                        break;
-                    default:
-                        break;
-                }
-                String encodedKeyValue = URLEncoder.encode( keyValue, "UTF-8" );
-                url.append( "&" + PARAMETER_KEY + "=" + encodedKeyValue );
-            }
-            if ( getRemoteHttpCacheAttributes().isIncludeRequestTypeasAsParameter() )
-            {
-                url.append( "&"
-                    + PARAMETER_REQUEST_TYPE
-                    + "="
-                    + URLEncoder.encode( remoteCacheRequest.getRequestType().toString(), "UTF-8" ) );
-            }
-        }
-        catch ( UnsupportedEncodingException e )
-        {
-            log.error( "Couldn't encode URL.", e );
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Url: " + url.toString() );
-        }
-
-        return url.toString();
-    }
-
-    /**
-     * Called before the executeMethod on the client.
-     * <p>
-     * @param post http method
-     * @return HttpState
-     * @throws IOException
-     */
-    @Override
-    public HttpState preProcessWebserviceCall( HttpMethod post )
-        throws IOException
-    {
-        // do nothing. Child can override.
-        return null;
-    }
-
-    /**
-     * Called after the executeMethod on the client.
-     * <p>
-     * @param post http method
-     * @param httpState state
-     * @throws IOException
-     */
-    @Override
-    public void postProcessWebserviceCall( HttpMethod post, HttpState httpState )
-        throws IOException
-    {
-        // do nothing. Child can override.
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheFactory.java b/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheFactory.java
deleted file mode 100644
index ecb87ae..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheFactory.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.client;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheFactory;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.RemoteCacheNoWait;
-import org.apache.commons.jcs.auxiliary.remote.RemoteCacheNoWaitFacade;
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.RemoteType;
-import org.apache.commons.jcs.engine.behavior.ICache;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-/**
- * The RemoteCacheFactory creates remote caches for the cache hub. It returns a no wait facade which
- * is a wrapper around a no wait. The no wait object is either an active connection to a remote
- * cache or a balking zombie if the remote cache is not accessible. It should be transparent to the
- * clients.
- */
-public class RemoteHttpCacheFactory
-    extends AbstractAuxiliaryCacheFactory
-{
-    /** store reference of facades to initiate failover */
-    private static final HashMap<String, RemoteCacheNoWaitFacade<?, ?>> facades =
-        new HashMap<String, RemoteCacheNoWaitFacade<?, ?>>();
-
-    /**
-     * For LOCAL clients we get a handle to all the failovers, but we do not register a listener
-     * with them. We create the RemoteCacheManager, but we do not get a cache.
-     * <p>
-     * The failover runner will get a cache from the manager. When the primary is restored it will
-     * tell the manager for the failover to deregister the listener.
-     * <p>
-     * @param iaca
-     * @param cacheMgr
-     * @param cacheEventLogger
-     * @param elementSerializer
-     * @return AuxiliaryCache
-     */
-    @Override
-    public <K, V> AuxiliaryCache<K, V> createCache( AuxiliaryCacheAttributes iaca, ICompositeCacheManager cacheMgr,
-                                       ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer )
-    {
-        RemoteHttpCacheAttributes rca = (RemoteHttpCacheAttributes) iaca;
-
-        ArrayList<ICache<K, V>> noWaits = new ArrayList<ICache<K, V>>();
-
-        RemoteHttpCacheManager rcm = RemoteHttpCacheManager.getInstance( cacheMgr, cacheEventLogger, elementSerializer );
-        // TODO, use the configured value.
-        rca.setRemoteType( RemoteType.LOCAL );
-        ICache<K, V> ic = rcm.getCache( rca );
-        noWaits.add( ic );
-
-        @SuppressWarnings("unchecked") // No generic arrays in java
-        RemoteCacheNoWait<K, V>[] rcnwArray = noWaits.toArray( new RemoteCacheNoWait[0] );
-        RemoteCacheNoWaitFacade<K, V> rcnwf =
-            new RemoteCacheNoWaitFacade<K, V>(rcnwArray, rca, cacheMgr, cacheEventLogger, elementSerializer );
-
-        getFacades().put( rca.getCacheName(), rcnwf );
-
-        return rcnwf;
-    }
-
-    /**
-     * The facades are what the cache hub talks to.
-     * @return Returns the facades.
-     */
-    public static HashMap<String, RemoteCacheNoWaitFacade<?, ?>> getFacades()
-    {
-        return facades;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheManager.java b/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheManager.java
deleted file mode 100644
index 49b8920..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheManager.java
+++ /dev/null
@@ -1,266 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.client;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.RemoteCacheNoWait;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheClient;
-import org.apache.commons.jcs.auxiliary.remote.http.client.behavior.IRemoteHttpCacheClient;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.behavior.IShutdownObserver;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.utils.config.OptionConverter;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * This is a very crude copy of the RMI remote manager. It needs a lot of work!
- */
-public class RemoteHttpCacheManager
-    implements IShutdownObserver
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( RemoteHttpCacheManager.class );
-
-    /** Contains mappings of Location instance to RemoteCacheManager instance. */
-    private static RemoteHttpCacheManager instance;
-
-    /** Contains instances of RemoteCacheNoWait managed by a RemoteCacheManager instance. */
-    static final Map<String, RemoteCacheNoWait<?, ?>> caches =
-        new HashMap<String, RemoteCacheNoWait<?, ?>>();
-
-    /** The configuration attributes. */
-    private IRemoteCacheAttributes remoteCacheAttributes;
-
-    /** The event logger. */
-    private final ICacheEventLogger cacheEventLogger;
-
-    /** The serializer. */
-    private final IElementSerializer elementSerializer;
-
-    /** The cache manager listeners will need to use to get a cache. */
-    private final ICompositeCacheManager cacheMgr;
-
-    /** Remote cache monitor. */
-    private static RemoteHttpCacheMonitor monitor;
-
-    /**
-     * Constructs an instance to with the given remote connection parameters. If the connection
-     * cannot be made, "zombie" services will be temporarily used until a successful re-connection
-     * is made by the monitoring daemon.
-     * <p>
-     * @param cacheMgr
-     * @param cacheEventLogger
-     * @param elementSerializer
-     */
-    private RemoteHttpCacheManager( ICompositeCacheManager cacheMgr, ICacheEventLogger cacheEventLogger,
-                                    IElementSerializer elementSerializer )
-    {
-        this.cacheMgr = cacheMgr;
-        this.cacheEventLogger = cacheEventLogger;
-        this.elementSerializer = elementSerializer;
-
-        // register shutdown observer
-        this.cacheMgr.registerShutdownObserver( this );
-    }
-
-    /**
-     * Gets the defaultCattr attribute of the RemoteCacheManager object.
-     * <p>
-     * @return The defaultCattr value
-     */
-    public IRemoteCacheAttributes getDefaultCattr()
-    {
-        return this.remoteCacheAttributes;
-    }
-
-    /** @return Returns an instance if it exists. else null. */
-    public synchronized static RemoteHttpCacheManager getInstance()
-    {
-        return instance;
-    }
-
-    /**
-     * Get the singleton instance.
-     * <p>
-     * @param cacheMgr
-     * @param cacheEventLogger
-     * @param elementSerializer
-     * @return The instance value
-     */
-    public synchronized static RemoteHttpCacheManager getInstance( ICompositeCacheManager cacheMgr,
-                                                                   ICacheEventLogger cacheEventLogger,
-                                                                   IElementSerializer elementSerializer )
-    {
-        if ( instance == null )
-        {
-            instance = new RemoteHttpCacheManager( cacheMgr, cacheEventLogger, elementSerializer );
-        }
-
-        // Fires up the monitoring daemon.
-        if ( monitor == null )
-        {
-            monitor = RemoteHttpCacheMonitor.getInstance();
-            // If the returned monitor is null, it means it's already started
-            // elsewhere.
-            if ( monitor != null )
-            {
-                Thread t = new Thread( monitor );
-                t.setDaemon( true );
-                t.start();
-            }
-        }
-
-        return instance;
-    }
-
-    /**
-     * Returns a remote cache for the given cache name.
-     * <p>
-     * @param cacheName
-     * @return The cache value
-     */
-    // @Override
-    public <K, V> RemoteCacheNoWait<K, V> getCache( String cacheName )
-    {
-        // TODO get some defaults!
-        // Perhaps we will need a manager per URL????
-        RemoteHttpCacheAttributes ca = new RemoteHttpCacheAttributes();
-        ca.setCacheName( cacheName );
-        return getCache( ca );
-    }
-
-    /**
-     * Gets a RemoteCacheNoWait from the RemoteCacheManager. The RemoteCacheNoWait objects are
-     * identified by the cache name value of the RemoteCacheAttributes object.
-     * <p>
-     * If the client is configured to register a listener, this call results on a listener being
-     * created if one isn't already registered with the remote cache for this region.
-     * <p>
-     * @param cattr
-     * @return The cache value
-     */
-    public <K, V> RemoteCacheNoWait<K, V> getCache( RemoteHttpCacheAttributes cattr )
-    {
-        RemoteCacheNoWait<K, V> remoteCacheNoWait = null;
-
-        synchronized ( caches )
-        {
-            @SuppressWarnings("unchecked") // Need to cast because of common map for all caches
-            RemoteCacheNoWait<K, V> remoteCacheNoWait2 = (RemoteCacheNoWait<K, V>) caches.get( cattr.getCacheName() + cattr.getUrl() );
-            remoteCacheNoWait = remoteCacheNoWait2;
-            if ( remoteCacheNoWait == null )
-            {
-                RemoteHttpClientListener<K, V> listener = new RemoteHttpClientListener<K, V>( cattr, cacheMgr );
-
-                IRemoteHttpCacheClient<K, V> remoteService = createRemoteHttpCacheClientForAttributes( cattr );
-
-                IRemoteCacheClient<K, V> remoteCacheClient = new RemoteHttpCache<K, V>( cattr, remoteService, listener );
-                remoteCacheClient.setCacheEventLogger( cacheEventLogger );
-                remoteCacheClient.setElementSerializer( elementSerializer );
-
-                remoteCacheNoWait = new RemoteCacheNoWait<K, V>( remoteCacheClient );
-                remoteCacheNoWait.setCacheEventLogger( cacheEventLogger );
-                remoteCacheNoWait.setElementSerializer( elementSerializer );
-
-                caches.put( cattr.getCacheName() + cattr.getUrl(), remoteCacheNoWait );
-            }
-            // might want to do some listener sanity checking here.
-        }
-
-        return remoteCacheNoWait;
-    }
-
-    /**
-     * This is an extension point. The manager and other classes will only create
-     * RemoteHttpCacheClient through this method.
-     * <p>
-     * @param cattr
-     * @return IRemoteHttpCacheClient
-     */
-    protected <K, V> IRemoteHttpCacheClient<K, V> createRemoteHttpCacheClientForAttributes( RemoteHttpCacheAttributes cattr )
-    {
-        IRemoteHttpCacheClient<K, V> client = OptionConverter.instantiateByClassName( cattr
-            .getRemoteHttpClientClassName(), null );
-
-        if ( client == null )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Creating the default client." );
-            }
-            client = new RemoteHttpCacheClient<K, V>( );
-        }
-        client.initialize( cattr );
-        return client;
-    }
-
-    /**
-     * Gets the stats attribute of the RemoteCacheManager object
-     * <p>
-     * @return The stats value
-     */
-    public String getStats()
-    {
-        StringBuilder stats = new StringBuilder();
-        for (RemoteCacheNoWait<?, ?> c : caches.values())
-        {
-            if ( c != null )
-            {
-                stats.append( c.getCacheName() );
-            }
-        }
-        return stats.toString();
-    }
-
-    /**
-     * Shutdown callback from composite cache manager.
-     * <p>
-     * @see org.apache.commons.jcs.engine.behavior.IShutdownObserver#shutdown()
-     */
-    @Override
-    public void shutdown()
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Observed shutdown request." );
-        }
-        //release();
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param source
-     * @param eventName
-     * @param optionalDetails
-     */
-    protected void logApplicationEvent( String source, String eventName, String optionalDetails )
-    {
-        if ( cacheEventLogger != null )
-        {
-            cacheEventLogger.logApplicationEvent( source, eventName, optionalDetails );
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheMonitor.java b/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheMonitor.java
deleted file mode 100644
index 77c1fe1..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpCacheMonitor.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.client;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheMonitor;
-import org.apache.commons.jcs.auxiliary.remote.http.client.behavior.IRemoteHttpCacheClient;
-import org.apache.commons.jcs.engine.CacheStatus;
-
-/**
- * Upon the notification of a connection error, the monitor changes to operate in a time driven
- * mode. That is, it attempts to recover the connections on a periodic basis. When all failed
- * connections are restored, it changes back to the failure driven mode.
- */
-public class RemoteHttpCacheMonitor extends AbstractAuxiliaryCacheMonitor
-{
-    /** The remote cache that we are monitoring */
-    private static RemoteHttpCacheMonitor instance;
-
-    /** Set of remote caches to monitor. This are added on error, if not before. */
-    private final ConcurrentHashMap<RemoteHttpCache<?, ?>, RemoteHttpCache<?, ?>> remoteHttpCaches =
-        new ConcurrentHashMap<RemoteHttpCache<?, ?>, RemoteHttpCache<?, ?>>();
-
-    /** Constructor for the RemoteCacheMonitor object */
-    private RemoteHttpCacheMonitor()
-    {
-        super("JCS-RemoteHttpCacheMonitor");
-        setIdlePeriod(3000L);
-    }
-
-    /**
-     * Returns the singleton instance.
-     * <p>
-     * @return The instance value
-     */
-    public static RemoteHttpCacheMonitor getInstance()
-    {
-        synchronized ( RemoteHttpCacheMonitor.class )
-        {
-            if ( instance == null )
-            {
-                return instance = new RemoteHttpCacheMonitor();
-            }
-        }
-        return instance;
-    }
-
-    /**
-     * Notifies the cache monitor that an error occurred, and kicks off the error recovery process.
-     * <p>
-     * @param remoteCache
-     */
-    public void notifyError( RemoteHttpCache<?, ?> remoteCache )
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Notified of an error. " + remoteCache );
-        }
-
-        remoteHttpCaches.put( remoteCache, remoteCache );
-        notifyError();
-    }
-
-    /**
-     * Clean up all resources before shutdown
-     */
-    @Override
-    protected void dispose()
-    {
-        this.remoteHttpCaches.clear();
-    }
-
-    // Avoid the use of any synchronization in the process of monitoring for
-    // performance reasons.
-    // If exception is thrown owing to synchronization,
-    // just skip the monitoring until the next round.
-    /** Main processing method for the RemoteCacheMonitor object */
-    @Override
-    public void doWork()
-    {
-        // If any cache is in error, it strongly suggests all caches
-        // managed by the
-        // same RmicCacheManager instance are in error. So we fix
-        // them once and for all.
-        for (RemoteHttpCache<?, ?> remoteCache : this.remoteHttpCaches.values())
-        {
-            try
-            {
-                if ( remoteCache.getStatus() == CacheStatus.ERROR )
-                {
-                    RemoteHttpCacheAttributes attributes = remoteCache.getRemoteHttpCacheAttributes();
-
-                    IRemoteHttpCacheClient<Serializable, Serializable> remoteService = RemoteHttpCacheManager.getInstance()
-                        .createRemoteHttpCacheClientForAttributes( attributes );
-
-                    if ( log.isInfoEnabled() )
-                    {
-                        log.info( "Performing Alive check on service " + remoteService );
-                    }
-                    // If we can't fix them, just skip and re-try in
-                    // the next round.
-                    if ( remoteService.isAlive() )
-                    {
-                        remoteCache.fixCache( remoteService );
-                    }
-                    else
-                    {
-                        allright.set(false);
-                    }
-                    break;
-                }
-            }
-            catch ( IOException ex )
-            {
-                allright.set(false);
-                // Problem encountered in fixing the caches managed by a
-                // RemoteCacheManager instance.
-                // Soldier on to the next RemoteHttpCache.
-                log.error( ex );
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpClientListener.java b/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpClientListener.java
deleted file mode 100644
index 28ecd2e..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/client/RemoteHttpClientListener.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.client;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.AbstractRemoteCacheListener;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-
-/** Does nothing */
-public class RemoteHttpClientListener<K, V>
-    extends AbstractRemoteCacheListener<K, V>
-{
-    /** Serial version */
-    private static final long serialVersionUID = -9078366610772128010L;
-
-    /**
-     * Only need one since it does work for all regions, just reference by multiple region names.
-     * <p>
-     * The constructor exports this object, making it available to receive incoming calls. The
-     * callback port is anonymous unless a local port value was specified in the configuration.
-     * <p>
-     * @param irca
-     * @param cacheMgr
-     */
-    public RemoteHttpClientListener( IRemoteCacheAttributes irca, ICompositeCacheManager cacheMgr )
-    {
-        super( irca, cacheMgr );
-    }
-
-    /** Nothing */
-    @Override
-    public void dispose()
-    {
-        // noop
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/client/behavior/IRemoteHttpCacheClient.java b/src/org/apache/commons/jcs/auxiliary/remote/http/client/behavior/IRemoteHttpCacheClient.java
deleted file mode 100644
index 9949b7e..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/client/behavior/IRemoteHttpCacheClient.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.client.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.http.client.RemoteHttpCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-
-import java.io.IOException;
-
-
-/**
- * It's not entirely clear that this interface is needed. I simply wanted the initialization method.
- * This could be added to the ICacheSerice method.
- */
-public interface IRemoteHttpCacheClient<K, V>
-    extends ICacheServiceNonLocal<K, V>
-{
-    /**
-     * The provides an extension point. If you want to extend this and use a special dispatcher,
-     * here is the place to do it.
-     * <p>
-     * @param attributes
-     */
-    void initialize( RemoteHttpCacheAttributes attributes );
-
-    /**
-     * Make and alive request.
-     * <p>
-     * @return true if we make a successful alive request.
-     * @throws IOException
-     */
-    boolean isAlive()
-        throws IOException;
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/server/AbstractRemoteCacheService.java b/src/org/apache/commons/jcs/auxiliary/remote/http/server/AbstractRemoteCacheService.java
deleted file mode 100644
index 866ce4e..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/server/AbstractRemoteCacheService.java
+++ /dev/null
@@ -1,603 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.logging.CacheEvent;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEvent;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * This class contains common methods for remote cache services. Eventually I hope to extract out
- * much of the RMI server to use this as well. I'm starting with the Http service.
- */
-public abstract class AbstractRemoteCacheService<K extends Serializable, V extends Serializable>
-    implements ICacheServiceNonLocal<K, V>
-{
-    /** An optional event logger */
-    private transient ICacheEventLogger cacheEventLogger;
-
-    /** The central hub */
-    private ICompositeCacheManager cacheManager;
-
-    /** Name of the event log source. */
-    private String eventLogSourceName = "AbstractRemoteCacheService";
-
-    /** Number of puts into the cache. */
-    private int puts = 0;
-
-    /** The interval at which we will log updates. */
-    private final int logInterval = 100;
-
-    /** log instance */
-    private static final Log log = LogFactory.getLog( AbstractRemoteCacheService.class );
-
-    /**
-     * Creates the super with the needed items.
-     * <p>
-     * @param cacheManager
-     * @param cacheEventLogger
-     */
-    public AbstractRemoteCacheService( ICompositeCacheManager cacheManager, ICacheEventLogger cacheEventLogger )
-    {
-        this.cacheManager = cacheManager;
-        this.cacheEventLogger = cacheEventLogger;
-    }
-
-    /**
-     * @param item
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> item )
-        throws IOException
-    {
-        update( item, 0 );
-    }
-
-    /**
-     * The internal processing is wrapped in event logging calls.
-     * <p>
-     * @param item
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> item, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<ICacheElement<K, V>> cacheEvent = createICacheEvent( item, requesterId, ICacheEventLogger.UPDATE_EVENT );
-        try
-        {
-            logUpdateInfo( item );
-
-            processUpdate( item, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * The internal processing is wrapped in event logging calls.
-     * <p>
-     * @param item
-     * @param requesterId
-     * @throws IOException
-     */
-    abstract void processUpdate( ICacheElement<K, V> item, long requesterId )
-        throws IOException;
-
-    /**
-     * Log some details.
-     * <p>
-     * @param item
-     */
-    private void logUpdateInfo( ICacheElement<K, V> item )
-    {
-        if ( log.isInfoEnabled() )
-        {
-            // not thread safe, but it doesn't have to be accurate
-            puts++;
-            if ( puts % logInterval == 0 )
-            {
-                log.info( "puts = " + puts );
-            }
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "In update, put [" + item.getKey() + "] in [" + item.getCacheName() + "]" );
-        }
-    }
-
-    /**
-     * Returns a cache value from the specified remote cache; or null if the cache or key does not
-     * exist.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @return ICacheElement
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
-        throws IOException
-    {
-        return this.get( cacheName, key, 0 );
-    }
-
-    /**
-     * Returns a cache bean from the specified cache; or null if the key does not exist.
-     * <p>
-     * Adding the requestor id, allows the cache to determine the source of the get.
-     * <p>
-     * The internal processing is wrapped in event logging calls.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @return ICacheElement
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        ICacheElement<K, V> element = null;
-        ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.GET_EVENT );
-        try
-        {
-            element = processGet( cacheName, key, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-        return element;
-    }
-
-    /**
-     * Returns a cache bean from the specified cache; or null if the key does not exist.
-     * <p>
-     * Adding the requestor id, allows the cache to determine the source of the get.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @return ICacheElement
-     * @throws IOException
-     */
-    abstract ICacheElement<K, V> processGet( String cacheName, K key, long requesterId )
-        throws IOException;
-
-    /**
-     * Gets all matching items.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @return Map of keys and wrapped objects
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
-        throws IOException
-    {
-        return getMatching( cacheName, pattern, 0 );
-    }
-
-    /**
-     * Retrieves all matching keys.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @param requesterId
-     * @return Map of keys and wrapped objects
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, pattern, requesterId,
-                                                    ICacheEventLogger.GETMATCHING_EVENT );
-        try
-        {
-            return processGetMatching( cacheName, pattern, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Retrieves all matching keys.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @param requesterId
-     * @return Map of keys and wrapped objects
-     * @throws IOException
-     */
-    abstract Map<K, ICacheElement<K, V>> processGetMatching( String cacheName, String pattern, long requesterId )
-        throws IOException;
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
-        throws IOException
-    {
-        return this.getMultiple( cacheName, keys, 0 );
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * The internal processing is wrapped in event logging calls.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @param requesterId
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<Serializable> cacheEvent = createICacheEvent( cacheName, (Serializable) keys, requesterId,
-                                                    ICacheEventLogger.GETMULTIPLE_EVENT );
-        try
-        {
-            return processGetMultiple( cacheName, keys, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @param requesterId
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    abstract Map<K, ICacheElement<K, V>> processGetMultiple( String cacheName, Set<K> keys, long requesterId )
-        throws IOException;
-
-    /**
-     * Return the keys in this cache.
-     * <p>
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet( String cacheName )
-    {
-        return processGetKeySet( cacheName );
-    }
-
-    /**
-     * Gets the set of keys of objects currently in the cache.
-     * <p>
-     * @param cacheName
-     * @return Set
-     */
-    public Set<K> processGetKeySet( String cacheName )
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
-
-        return cache.getKeySet();
-    }
-
-    /**
-     * Removes the given key from the specified remote cache. Defaults the listener id to 0.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @throws IOException
-     */
-    @Override
-    public void remove( String cacheName, K key )
-        throws IOException
-    {
-        remove( cacheName, key, 0 );
-    }
-
-    /**
-     * Remove the key from the cache region and don't tell the source listener about it.
-     * <p>
-     * The internal processing is wrapped in event logging calls.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void remove( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.REMOVE_EVENT );
-        try
-        {
-            processRemove( cacheName, key, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Remove the key from the cache region and don't tell the source listener about it.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @throws IOException
-     */
-    abstract void processRemove( String cacheName, K key, long requesterId )
-        throws IOException;
-
-    /**
-     * Remove all keys from the specified remote cache.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void removeAll( String cacheName )
-        throws IOException
-    {
-        removeAll( cacheName, 0 );
-    }
-
-    /**
-     * Remove all keys from the specified remote cache.
-     * <p>
-     * The internal processing is wrapped in event logging calls.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void removeAll( String cacheName, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "all", requesterId, ICacheEventLogger.REMOVEALL_EVENT );
-        try
-        {
-            processRemoveAll( cacheName, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Remove all keys from the specified remote cache.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    abstract void processRemoveAll( String cacheName, long requesterId )
-        throws IOException;
-
-    /**
-     * Frees the specified remote cache.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void dispose( String cacheName )
-        throws IOException
-    {
-        dispose( cacheName, 0 );
-    }
-
-    /**
-     * Frees the specified remote cache.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    public void dispose( String cacheName, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "none", requesterId, ICacheEventLogger.DISPOSE_EVENT );
-        try
-        {
-            processDispose( cacheName, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    abstract void processDispose( String cacheName, long requesterId )
-        throws IOException;
-
-    /**
-     * Gets the stats attribute of the RemoteCacheServer object.
-     * <p>
-     * @return The stats value
-     * @throws IOException
-     */
-    public String getStats()
-        throws IOException
-    {
-        return cacheManager.getStats();
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param item
-     * @param requesterId
-     * @param eventName
-     * @return ICacheEvent
-     */
-    protected ICacheEvent<ICacheElement<K, V>> createICacheEvent( ICacheElement<K, V> item, long requesterId, String eventName )
-    {
-        if ( cacheEventLogger == null )
-        {
-            return new CacheEvent<ICacheElement<K, V>>();
-        }
-        String ipAddress = getExtraInfoForRequesterId( requesterId );
-        return cacheEventLogger.createICacheEvent( getEventLogSourceName(), item.getCacheName(), eventName, ipAddress,
-                                                   item );
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @param eventName
-     * @return ICacheEvent
-     */
-    protected <T extends Serializable> ICacheEvent<T> createICacheEvent( String cacheName, T key, long requesterId, String eventName )
-    {
-        if ( cacheEventLogger == null )
-        {
-            return new CacheEvent<T>();
-        }
-        String ipAddress = getExtraInfoForRequesterId( requesterId );
-        return cacheEventLogger.createICacheEvent( getEventLogSourceName(), cacheName, eventName, ipAddress, key );
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param source
-     * @param eventName
-     * @param optionalDetails
-     */
-    protected void logApplicationEvent( String source, String eventName, String optionalDetails )
-    {
-        if ( cacheEventLogger != null )
-        {
-            cacheEventLogger.logApplicationEvent( source, eventName, optionalDetails );
-        }
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param cacheEvent
-     */
-    protected <T extends Serializable> void logICacheEvent( ICacheEvent<T> cacheEvent )
-    {
-        if ( cacheEventLogger != null )
-        {
-            cacheEventLogger.logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Ip address for the client, if one is stored.
-     * <p>
-     * Protected for testing.
-     * <p>
-     * @param requesterId
-     * @return String
-     */
-    protected abstract String getExtraInfoForRequesterId( long requesterId );
-
-    /**
-     * Allows it to be injected.
-     * <p>
-     * @param cacheEventLogger
-     */
-    public void setCacheEventLogger( ICacheEventLogger cacheEventLogger )
-    {
-        this.cacheEventLogger = cacheEventLogger;
-    }
-
-    /**
-     * @param cacheManager the cacheManager to set
-     */
-    protected void setCacheManager( ICompositeCacheManager cacheManager )
-    {
-        this.cacheManager = cacheManager;
-    }
-
-    /**
-     * @return the cacheManager
-     */
-    protected ICompositeCacheManager getCacheManager()
-    {
-        return cacheManager;
-    }
-
-    /**
-     * @param eventLogSourceName the eventLogSourceName to set
-     */
-    protected void setEventLogSourceName( String eventLogSourceName )
-    {
-        this.eventLogSourceName = eventLogSourceName;
-    }
-
-    /**
-     * @return the eventLogSourceName
-     */
-    protected String getEventLogSourceName()
-    {
-        return eventLogSourceName;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteCacheServiceAdaptor.java b/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteCacheServiceAdaptor.java
deleted file mode 100644
index 31e60b9..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteCacheServiceAdaptor.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteCacheRequest;
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteCacheResponse;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * The Servlet deserializes the request object. The request object is passed to the processor. The
- * processor then calls the service which does the work of talking to the cache.
- * <p>
- * This is essentially an adaptor on top of the service.
- */
-public class RemoteCacheServiceAdaptor<K extends Serializable, V extends Serializable>
-{
-    /** The Logger. */
-    private static final Log log = LogFactory.getLog( RemoteCacheServiceAdaptor.class );
-
-    /** The service that does the work. */
-    private ICacheServiceNonLocal<K, V> remoteCacheService;
-
-    /** This is for testing without the factory. */
-    protected RemoteCacheServiceAdaptor()
-    {
-        // for testing.
-    }
-
-    /**
-     * Create a process with a cache manager.
-     * <p>
-     * @param cacheManager
-     */
-    public RemoteCacheServiceAdaptor( ICompositeCacheManager cacheManager )
-    {
-        ICacheServiceNonLocal<K, V> rcs = RemoteHttpCacheSeviceFactory.createRemoteHttpCacheService( cacheManager );
-        setRemoteCacheService( rcs );
-    }
-
-    /**
-     * Processes the request. It will call the appropriate method on the service
-     * <p>
-     * @param request
-     * @return RemoteHttpCacheResponse, never null
-     */
-    @SuppressWarnings( "unchecked" ) // need to cast to correct return type
-    public <T> RemoteCacheResponse<T> processRequest( RemoteCacheRequest<K, V> request )
-    {
-        RemoteCacheResponse<Object> response = new RemoteCacheResponse<Object>();
-
-        if ( request == null )
-        {
-            String message = "The request is null. Cannot process";
-            log.warn( message );
-            response.setSuccess( false );
-            response.setErrorMessage( message );
-        }
-        else
-        {
-            try
-            {
-                switch ( request.getRequestType() )
-                {
-                    case GET:
-                        ICacheElement<K, V> element = getRemoteCacheService().get( request.getCacheName(), request.getKey(),
-                                                                             request.getRequesterId() );
-                        response.setPayload(element);
-                        break;
-                    case GET_MULTIPLE:
-                        Map<K, ICacheElement<K, V>> elementMap = getRemoteCacheService().getMultiple( request.getCacheName(),
-                                                                              request.getKeySet(),
-                                                                              request.getRequesterId() );
-                        if ( elementMap != null )
-                        {
-                            Map<K, ICacheElement<K, V>> map = new HashMap<K, ICacheElement<K,V>>();
-                            map.putAll(elementMap);
-                            response.setPayload(map);
-                        }
-                        break;
-                    case GET_MATCHING:
-                        Map<K, ICacheElement<K, V>> elementMapMatching = getRemoteCacheService().getMatching( request.getCacheName(),
-                                                                                      request.getPattern(),
-                                                                                      request.getRequesterId() );
-                        if ( elementMapMatching != null )
-                        {
-                            Map<K, ICacheElement<K, V>> map = new HashMap<K, ICacheElement<K,V>>();
-                            map.putAll(elementMapMatching);
-                            response.setPayload(map);
-                        }
-                        break;
-                    case REMOVE:
-                        getRemoteCacheService().remove( request.getCacheName(), request.getKey(),
-                                                        request.getRequesterId() );
-                        break;
-                    case REMOVE_ALL:
-                        getRemoteCacheService().removeAll( request.getCacheName(), request.getRequesterId() );
-                        break;
-                    case UPDATE:
-                        getRemoteCacheService().update( request.getCacheElement(), request.getRequesterId() );
-                        break;
-                    case ALIVE_CHECK:
-                    case DISPOSE:
-                        response.setSuccess( true );
-                        // DO NOTHING
-                        break;
-                    case GET_KEYSET:
-                        Set<K> keys = getRemoteCacheService().getKeySet( request.getCacheName() );
-                        response.setPayload( keys );
-                        break;
-                    default:
-                        String message = "Unknown event type.  Cannot process " + request;
-                        log.warn( message );
-                        response.setSuccess( false );
-                        response.setErrorMessage( message );
-                        break;
-                }
-            }
-            catch ( IOException e )
-            {
-                String message = "Problem processing request. " + request + " Error: " + e.getMessage();
-                log.error( message, e );
-                response.setSuccess( false );
-                response.setErrorMessage( message );
-            }
-        }
-
-        return (RemoteCacheResponse<T>)response;
-    }
-
-    /**
-     * @param remoteHttpCacheService the remoteHttpCacheService to set
-     */
-    public void setRemoteCacheService( ICacheServiceNonLocal<K, V> remoteHttpCacheService )
-    {
-        this.remoteCacheService = remoteHttpCacheService;
-    }
-
-    /**
-     * @return the remoteHttpCacheService
-     */
-    public ICacheServiceNonLocal<K, V> getRemoteCacheService()
-    {
-        return remoteCacheService;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheServerAttributes.java b/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheServerAttributes.java
deleted file mode 100644
index bbe0257..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheServerAttributes.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheAttributes;
-
-/**
- * Configuration for the RemoteHttpCacheServer. Most of these properties are used only by the
- * service.
- */
-public class RemoteHttpCacheServerAttributes
-    extends AbstractAuxiliaryCacheAttributes
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -3987239306108780496L;
-
-    /** Can a cluster remote put to other remotes */
-    private boolean localClusterConsistency = true;
-
-    /** Can a cluster remote get from other remotes */
-    private boolean allowClusterGet = true;
-
-    /**
-     * Should cluster updates be propagated to the locals
-     * <p>
-     * @return The localClusterConsistency value
-     */
-    public boolean isLocalClusterConsistency()
-    {
-        return localClusterConsistency;
-    }
-
-    /**
-     * Should cluster updates be propagated to the locals
-     * <p>
-     * @param r The new localClusterConsistency value
-     */
-    public void setLocalClusterConsistency( boolean r )
-    {
-        this.localClusterConsistency = r;
-    }
-
-    /**
-     * Should gets from non-cluster clients be allowed to get from other remote auxiliaries.
-     * <p>
-     * @return The localClusterConsistency value
-     */
-    public boolean isAllowClusterGet()
-    {
-        return allowClusterGet;
-    }
-
-    /**
-     * Should we try to get from other cluster servers if we don't find the items locally.
-     * <p>
-     * @param r The new localClusterConsistency value
-     */
-    public void setAllowClusterGet( boolean r )
-    {
-        allowClusterGet = r;
-    }
-
-    /**
-     * @return String details
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\nRemoteHttpCacheServiceAttributes" );
-        buf.append( "\n cacheName = [" + this.getCacheName() + "]" );
-        buf.append( "\n allowClusterGet = [" + this.isAllowClusterGet() + "]" );
-        buf.append( "\n localClusterConsistency = [" + this.isLocalClusterConsistency() + "]" );
-        buf.append( "\n eventQueueType = [" + this.getEventQueueType() + "]" );
-        buf.append( "\n eventQueuePoolName = [" + this.getEventQueuePoolName() + "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheService.java b/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheService.java
deleted file mode 100644
index 5c89014..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheService.java
+++ /dev/null
@@ -1,270 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * This does the work. It's called by the processor. The base class wraps the processing calls in
- * event logs, if an event logger is present.
- * <p>
- * For now we assume that all clients are non-cluster clients. And listener notification is not
- * supported.
- */
-public class RemoteHttpCacheService<K extends Serializable, V extends Serializable>
-    extends AbstractRemoteCacheService<K, V>
-{
-    /** The name used in the event logs. */
-    private static final String EVENT_LOG_SOURCE_NAME = "RemoteHttpCacheServer";
-
-    /** The configuration */
-    private final RemoteHttpCacheServerAttributes remoteHttpCacheServerAttributes;
-
-    /**
-     * Create a process with a cache manager.
-     * <p>
-     * @param cacheManager
-     * @param remoteHttpCacheServerAttributes
-     * @param cacheEventLogger
-     */
-    public RemoteHttpCacheService( ICompositeCacheManager cacheManager,
-                                   RemoteHttpCacheServerAttributes remoteHttpCacheServerAttributes,
-                                   ICacheEventLogger cacheEventLogger )
-    {
-        super( cacheManager, cacheEventLogger );
-        setEventLogSourceName( EVENT_LOG_SOURCE_NAME );
-        this.remoteHttpCacheServerAttributes = remoteHttpCacheServerAttributes;
-    }
-
-    /**
-     * Processes a get request.
-     * <p>
-     * If isAllowClusterGet is enabled we will treat this as a normal request or non-remote origins.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @return ICacheElement
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> processGet( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
-
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isAllowClusterGet();
-        if ( keepLocal )
-        {
-            return cache.localGet( key );
-        }
-        else
-        {
-            return cache.get( key );
-        }
-    }
-
-    /**
-     * Processes a get request.
-     * <p>
-     * If isAllowClusterGet is enabled we will treat this as a normal request of non-remote
-     * origination.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @param requesterId
-     * @return Map
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> processGetMultiple( String cacheName, Set<K> keys, long requesterId )
-        throws IOException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
-
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isAllowClusterGet();
-        if ( keepLocal )
-        {
-            return cache.localGetMultiple( keys );
-        }
-        else
-        {
-            return cache.getMultiple( keys );
-        }
-    }
-
-    /**
-     * Processes a get request.
-     * <p>
-     * If isAllowClusterGet is enabled we will treat this as a normal request of non-remote
-     * origination.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @param requesterId
-     * @return Map
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> processGetMatching( String cacheName, String pattern, long requesterId )
-        throws IOException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
-
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isAllowClusterGet();
-        if ( keepLocal )
-        {
-            return cache.localGetMatching( pattern );
-        }
-        else
-        {
-            return cache.getMatching( pattern );
-        }
-    }
-
-    /**
-     * Processes an update request.
-     * <p>
-     * If isLocalClusterConsistency is enabled we will treat this as a normal request of non-remote
-     * origination.
-     * <p>
-     * @param item
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void processUpdate( ICacheElement<K, V> item, long requesterId )
-        throws IOException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( item.getCacheName() );
-
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isLocalClusterConsistency();
-        if ( keepLocal )
-        {
-            cache.localUpdate( item );
-        }
-        else
-        {
-            cache.update( item );
-        }
-    }
-
-    /**
-     * Processes a remove request.
-     * <p>
-     * If isLocalClusterConsistency is enabled we will treat this as a normal request of non-remote
-     * origination.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void processRemove( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
-
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isLocalClusterConsistency();
-        if ( keepLocal )
-        {
-            cache.localRemove( key );
-        }
-        else
-        {
-            cache.remove( key );
-        }
-    }
-
-    /**
-     * Processes a removeAll request.
-     * <p>
-     * If isLocalClusterConsistency is enabled we will treat this as a normal request of non-remote
-     * origination.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void processRemoveAll( String cacheName, long requesterId )
-        throws IOException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
-
-        boolean keepLocal = !remoteHttpCacheServerAttributes.isLocalClusterConsistency();
-        if ( keepLocal )
-        {
-            cache.localRemoveAll();
-        }
-        else
-        {
-            cache.removeAll();
-        }
-    }
-
-    /**
-     * Processes a shutdown request.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void processDispose( String cacheName, long requesterId )
-        throws IOException
-    {
-        CompositeCache<K, V> cache = getCacheManager().getCache( cacheName );
-        cache.dispose();
-    }
-
-    /**
-     * This general method should be deprecated.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public void release()
-        throws IOException
-    {
-        //nothing.
-    }
-
-    /**
-     * This is called by the event log.
-     * <p>
-     * @param requesterId
-     * @return requesterId + ""
-     */
-    @Override
-    protected String getExtraInfoForRequesterId( long requesterId )
-    {
-        return requesterId + "";
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheServlet.java b/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheServlet.java
deleted file mode 100644
index ed7946d..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheServlet.java
+++ /dev/null
@@ -1,264 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteCacheRequest;
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteCacheResponse;
-import org.apache.commons.jcs.engine.control.CompositeCacheManager;
-import org.apache.commons.jcs.io.ObjectInputStreamClassLoaderAware;
-import org.apache.commons.jcs.utils.serialization.StandardSerializer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.OutputStream;
-import java.io.Serializable;
-
-/**
- * This servlet simply reads and writes objects. The requests are packaged in a general wrapper. The
- * processor works on the wrapper object and returns a response wrapper.
- */
-public class RemoteHttpCacheServlet
-    extends HttpServlet
-{
-    /** Don't change. */
-    private static final long serialVersionUID = 8752849397531933346L;
-
-    /** The Logger. */
-    private static final Log log = LogFactory.getLog( RemoteHttpCacheServlet.class );
-
-    /** The cache manager */
-    private static CompositeCacheManager cacheMgr;
-
-    /** Processes requests */
-    private RemoteCacheServiceAdaptor<Serializable, Serializable> remoteHttpCacheServiceAdaptor;
-
-    /** This needs to be standard, since the other side is standard */
-    private final StandardSerializer serializer = new StandardSerializer();
-
-    /** Number of service calls. */
-    private int serviceCalls = 0;
-
-    /** The interval at which we will log the count. */
-    private final int logInterval = 100;
-
-    /**
-     * Initializes the cache.
-     * <p>
-     * This provides an easy extension point. Simply extend this servlet and override the init
-     * method to change the way the properties are loaded.
-     * @param config
-     * @throws ServletException
-     */
-    @Override
-    public void init( ServletConfig config )
-        throws ServletException
-    {
-        try
-        {
-            ensureCacheManager();
-        }
-        catch (CacheException e)
-        {
-            throw new ServletException(e);
-        }
-
-        setRemoteHttpCacheServiceAdaptor( new RemoteCacheServiceAdaptor<Serializable, Serializable>( cacheMgr ) );
-
-        super.init( config );
-    }
-
-    /**
-     * Read the request, call the processor, write the response.
-     * <p>
-     * @param request
-     * @param response
-     * @throws ServletException
-     * @throws IOException
-     */
-    @Override
-    public void service( HttpServletRequest request, HttpServletResponse response )
-        throws ServletException, IOException
-    {
-        incrementServiceCallCount();
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Servicing a request. " + request );
-        }
-
-        RemoteCacheRequest<Serializable, Serializable> remoteRequest = readRequest( request );
-        RemoteCacheResponse<Serializable> cacheResponse =
-            getRemoteHttpCacheServiceAdaptor().processRequest( remoteRequest );
-
-        writeResponse( response, cacheResponse );
-    }
-
-    /**
-     * Read the request from the input stream.
-     * <p>
-     * @param request
-     * @return RemoteHttpCacheRequest
-     */
-    protected RemoteCacheRequest<Serializable, Serializable> readRequest( HttpServletRequest request )
-    {
-        RemoteCacheRequest<Serializable, Serializable> remoteRequest = null;
-        try
-        {
-            InputStream inputStream = request.getInputStream();
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "After getting input stream and before reading it" );
-            }
-
-            remoteRequest = readRequestFromStream( inputStream );
-        }
-        catch ( Exception e )
-        {
-            log.error( "Could not get a RemoteHttpCacheRequest object from the input stream.", e );
-        }
-        return remoteRequest;
-    }
-
-    /**
-     * Reads the response from the stream and then closes it.
-     * <p>
-     * @param inputStream
-     * @return RemoteHttpCacheRequest
-     * @throws IOException
-     * @throws ClassNotFoundException
-     */
-    protected RemoteCacheRequest<Serializable, Serializable> readRequestFromStream( InputStream inputStream )
-        throws IOException, ClassNotFoundException
-    {
-        ObjectInputStream ois = new ObjectInputStreamClassLoaderAware( inputStream, null );
-
-        @SuppressWarnings("unchecked") // Need to cast from Object
-        RemoteCacheRequest<Serializable, Serializable> remoteRequest
-            = (RemoteCacheRequest<Serializable, Serializable>) ois.readObject();
-        ois.close();
-        return remoteRequest;
-    }
-
-    /**
-     * Write the response to the output stream.
-     * <p>
-     * @param response
-     * @param cacheResponse
-     */
-    protected void writeResponse( HttpServletResponse response, RemoteCacheResponse<Serializable> cacheResponse )
-    {
-        try
-        {
-            response.setContentType( "application/octet-stream" );
-
-            byte[] responseAsByteAray = serializer.serialize( cacheResponse );
-            response.setContentLength( responseAsByteAray.length );
-
-            OutputStream outputStream = response.getOutputStream();
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Opened output stream.  Response size: " + responseAsByteAray.length );
-            }
-            // WRITE
-            outputStream.write( responseAsByteAray );
-            outputStream.flush();
-            outputStream.close();
-        }
-        catch ( Exception e )
-        {
-            log.error( "Problem writing response. " + cacheResponse, e );
-        }
-    }
-
-    /**
-     * Log some details.
-     */
-    private void incrementServiceCallCount()
-    {
-        // not thread safe, but it doesn't have to be accurate
-        serviceCalls++;
-        if ( log.isInfoEnabled() )
-        {
-            if ( serviceCalls % logInterval == 0 )
-            {
-                log.info( "serviceCalls = " + serviceCalls );
-            }
-        }
-    }
-
-    /**
-     * Make sure we have a cache manager. This should have happened in the init method.
-     *
-     * @throws CacheException if the configuration cannot be loaded
-     */
-    protected synchronized void ensureCacheManager() throws CacheException
-    {
-        if ( cacheMgr == null || !cacheMgr.isInitialized() )
-        {
-            cacheMgr = CompositeCacheManager.getInstance();
-        }
-    }
-
-    /** Release the cache manager. */
-    @Override
-    public void destroy()
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Servlet Destroyed, shutting down JCS." );
-        }
-        cacheMgr.shutDown();
-    }
-
-    /**
-     * Get servlet information
-     * <p>
-     * @return basic info
-     */
-    @Override
-    public String getServletInfo()
-    {
-        return "RemoteHttpCacheServlet";
-    }
-
-    /**
-     * @param remoteHttpCacheProcessor the remoteHttpCacheProcessor to set
-     */
-    public void setRemoteHttpCacheServiceAdaptor( RemoteCacheServiceAdaptor<Serializable, Serializable> remoteHttpCacheProcessor )
-    {
-        this.remoteHttpCacheServiceAdaptor = remoteHttpCacheProcessor;
-    }
-
-    /**
-     * @return the remoteHttpCacheProcessor
-     */
-    public RemoteCacheServiceAdaptor<Serializable, Serializable> getRemoteHttpCacheServiceAdaptor()
-    {
-        return remoteHttpCacheServiceAdaptor;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheSeviceFactory.java b/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheSeviceFactory.java
deleted file mode 100644
index af18ed8..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/http/server/RemoteHttpCacheSeviceFactory.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.http.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheConfigurator;
-import org.apache.commons.jcs.auxiliary.remote.http.behavior.IRemoteHttpCacheConstants;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.utils.config.PropertySetter;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.Serializable;
-import java.util.Properties;
-
-/** Creates the server. */
-public class RemoteHttpCacheSeviceFactory
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( RemoteHttpCacheSeviceFactory.class );
-
-    /**
-     * Configures the attributes and the event logger and constructs a service.
-     * <p>
-     * @param cacheManager
-     * @return RemoteHttpCacheService
-     */
-    public static <K extends Serializable, V extends Serializable> RemoteHttpCacheService<K, V> createRemoteHttpCacheService( ICompositeCacheManager cacheManager )
-    {
-        Properties props = cacheManager.getConfigurationProperties();
-        ICacheEventLogger cacheEventLogger = configureCacheEventLogger( props );
-        RemoteHttpCacheServerAttributes attributes = configureRemoteHttpCacheServerAttributes( props );
-
-        RemoteHttpCacheService<K, V> service = new RemoteHttpCacheService<K, V>( cacheManager, attributes, cacheEventLogger );
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Created new RemoteHttpCacheService " + service );
-        }
-        return service;
-    }
-
-    /**
-     * Tries to get the event logger.
-     * <p>
-     * @param props
-     * @return ICacheEventLogger
-     */
-    protected static ICacheEventLogger configureCacheEventLogger( Properties props )
-    {
-        ICacheEventLogger cacheEventLogger = AuxiliaryCacheConfigurator
-            .parseCacheEventLogger( props, IRemoteHttpCacheConstants.HTTP_CACHE_SERVER_PREFIX );
-
-        return cacheEventLogger;
-    }
-
-    /**
-     * Configure.
-     * <p>
-     * jcs.remotehttpcache.serverattributes.ATTRIBUTENAME=ATTRIBUTEVALUE
-     * <p>
-     * @param prop
-     * @return RemoteCacheServerAttributesconfigureRemoteCacheServerAttributes
-     */
-    protected static RemoteHttpCacheServerAttributes configureRemoteHttpCacheServerAttributes( Properties prop )
-    {
-        RemoteHttpCacheServerAttributes rcsa = new RemoteHttpCacheServerAttributes();
-
-        // configure automatically
-        PropertySetter.setProperties( rcsa, prop,
-                                      IRemoteHttpCacheConstants.HTTP_CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX + "." );
-
-        return rcsa;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/package.html b/src/org/apache/commons/jcs/auxiliary/remote/package.html
deleted file mode 100644
index e002b4e..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/package.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-    Root package for the remote auxiliary cache.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/server/RegistryKeepAliveRunner.java b/src/org/apache/commons/jcs/auxiliary/remote/server/RegistryKeepAliveRunner.java
deleted file mode 100644
index fe82a3b..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/server/RegistryKeepAliveRunner.java
+++ /dev/null
@@ -1,188 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.rmi.Naming;
-import java.rmi.RemoteException;
-import java.rmi.registry.Registry;
-
-import org.apache.commons.jcs.auxiliary.remote.RemoteUtils;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This class tries to keep the registry alive. If if is able to create a registry, it will also
- * rebind the remote cache server.
- */
-public class RegistryKeepAliveRunner
-    implements Runnable
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( RegistryKeepAliveRunner.class );
-
-    /** The URL of the service to look for. */
-    private String namingURL;
-
-    /** the port on which to start the registry */
-    private int registryPort;
-
-    /** An optional event logger */
-    private ICacheEventLogger cacheEventLogger;
-
-    /**
-     * @param registryHost - Hostname of the registry
-     * @param registryPort - the port on which to start the registry
-     * @param serviceName
-     */
-    public RegistryKeepAliveRunner( String registryHost, int registryPort, String serviceName )
-    {
-        this.namingURL = RemoteUtils.getNamingURL(registryHost, registryPort, serviceName);
-        this.registryPort = registryPort;
-    }
-
-    /**
-     * Tries to lookup the server. If unsuccessful it will rebind the server using the factory
-     * rebind method.
-     * <p>
-     */
-    @Override
-    public void run()
-    {
-        checkAndRestoreIfNeeded();
-    }
-
-    /**
-     * Tries to lookup the server. If unsuccessful it will rebind the server using the factory
-     * rebind method.
-     */
-    protected void checkAndRestoreIfNeeded()
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "looking up server " + namingURL );
-        }
-        try
-        {
-            Object obj = Naming.lookup( namingURL );
-
-            // Successful connection to the remote server.
-            String message = "RMI registry looks fine.  Found [" + obj + "] in registry [" + namingURL + "]";
-            if ( cacheEventLogger != null )
-            {
-                cacheEventLogger.logApplicationEvent( "RegistryKeepAliveRunner", "Naming.lookup", message );
-            }
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( message );
-            }
-        }
-        catch ( Exception ex )
-        {
-            // Failed to connect to the remote server.
-            String message = "Problem finding server at [" + namingURL
-                + "].  Will attempt to start registry and rebind.";
-            log.error( message, ex );
-            if ( cacheEventLogger != null )
-            {
-                cacheEventLogger.logError( "RegistryKeepAliveRunner", "Naming.lookup", message + ":" + ex.getMessage() );
-            }
-            createAndRegister( namingURL );
-        }
-    }
-
-    /**
-     * Creates the registry and registers the server.
-     * <p>
-     * @param registry
-     */
-    protected void createAndRegister( String registry )
-    {
-        createReqistry( registry );
-        registerServer( registry );
-    }
-
-    /**
-     * Try to create the registry. Log errors
-     * <p>
-     * @param registry
-     */
-    protected void createReqistry( String registry )
-    {
-        Registry reg = RemoteUtils.createRegistry(registryPort);
-
-        if ( cacheEventLogger != null )
-        {
-            if (reg != null)
-            {
-                cacheEventLogger.logApplicationEvent( "RegistryKeepAliveRunner", "createRegistry",
-                        "Successfully created registry [" + registry + "]." );
-            }
-            else
-            {
-                cacheEventLogger.logError( "RegistryKeepAliveRunner", "createRegistry",
-                        "Could not start registry [" + registry + "]." );
-            }
-        }
-    }
-
-    /**
-     * Try to rebind the server.
-     * <p>
-     * @param registry
-     */
-    protected void registerServer( String registry )
-    {
-        try
-        {
-            // try to rebind anyway
-            RemoteCacheServerFactory.registerServer( registry, RemoteCacheServerFactory.getRemoteCacheServer() );
-            String message = "Successfully rebound server to registry [" + registry + "].";
-            if ( cacheEventLogger != null )
-            {
-                cacheEventLogger.logApplicationEvent( "RegistryKeepAliveRunner", "registerServer", message );
-            }
-            if ( log.isInfoEnabled() )
-            {
-                log.info( message );
-            }
-        }
-        catch ( RemoteException e )
-        {
-            String message = "Could not rebind server to registry [" + registry + "].";
-            log.error( message, e );
-            if ( cacheEventLogger != null )
-            {
-                cacheEventLogger.logError( "RegistryKeepAliveRunner", "registerServer", message + ":"
-                    + e.getMessage() );
-            }
-        }
-    }
-
-    /**
-     * Allows it to be injected.
-     * <p>
-     * @param cacheEventLogger
-     */
-    public void setCacheEventLogger( ICacheEventLogger cacheEventLogger )
-    {
-        this.cacheEventLogger = cacheEventLogger;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServer.java b/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServer.java
deleted file mode 100644
index 743edc7..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServer.java
+++ /dev/null
@@ -1,1730 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.rmi.RemoteException;
-import java.rmi.registry.Registry;
-import java.rmi.server.RMISocketFactory;
-import java.rmi.server.UnicastRemoteObject;
-import java.rmi.server.Unreferenced;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheListener;
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.IRemoteCacheServer;
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.IRemoteCacheServerAttributes;
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.RemoteType;
-import org.apache.commons.jcs.engine.CacheEventQueueFactory;
-import org.apache.commons.jcs.engine.CacheListeners;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheEventQueue;
-import org.apache.commons.jcs.engine.behavior.ICacheListener;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.control.CompositeCacheManager;
-import org.apache.commons.jcs.engine.logging.CacheEvent;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEvent;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This class provides remote cache services. The remote cache server propagates events from local
- * caches to other local caches. It can also store cached data, making it available to new clients.
- * <p>
- * Remote cache servers can be clustered. If the cache used by this remote cache is configured to
- * use a remote cache of type cluster, the two remote caches will communicate with each other.
- * Remote and put requests can be sent from one remote to another. If they are configured to
- * broadcast such event to their client, then remove an puts can be sent to all locals in the
- * cluster.
- * <p>
- * Get requests are made between clustered servers if AllowClusterGet is true. You can setup several
- * clients to use one remote server and several to use another. The get local will be distributed
- * between the two servers. Since caches are usually high get and low put, this should allow you to
- * scale.
- */
-public class RemoteCacheServer<K, V>
-    extends UnicastRemoteObject
-    implements IRemoteCacheServer<K, V>, Unreferenced
-{
-    /** For serialization. Don't change. */
-    private static final long serialVersionUID = -8072345435941473116L;
-
-    /** log instance */
-    private static final Log log = LogFactory.getLog( RemoteCacheServer.class );
-
-    /** timing -- if we should record operation times. */
-    private static final boolean timing = true;
-
-    /** Number of puts into the cache. */
-    private int puts = 0;
-
-    /** Maps cache name to CacheListeners object. association of listeners (regions). */
-    private final transient ConcurrentMap<String, CacheListeners<K, V>> cacheListenersMap =
-        new ConcurrentHashMap<String, CacheListeners<K, V>>();
-
-    /** maps cluster listeners to regions. */
-    private final transient ConcurrentMap<String, CacheListeners<K, V>> clusterListenersMap =
-        new ConcurrentHashMap<String, CacheListeners<K, V>>();
-
-    /** The central hub */
-    private transient CompositeCacheManager cacheManager;
-
-    /** relates listener id with a type */
-    private final ConcurrentMap<Long, RemoteType> idTypeMap = new ConcurrentHashMap<Long, RemoteType>();
-
-    /** relates listener id with an ip address */
-    private final ConcurrentMap<Long, String> idIPMap = new ConcurrentHashMap<Long, String>();
-
-    /** Used to get the next listener id. */
-    private final int[] listenerId = new int[1];
-
-    /** Configuration settings. */
-    // package protected for access by unit test code
-    final IRemoteCacheServerAttributes remoteCacheServerAttributes;
-
-    /** The interval at which we will log updates. */
-    private final int logInterval = 100;
-
-    /** An optional event logger */
-    private transient ICacheEventLogger cacheEventLogger;
-
-    /** Lock for Cache listener initialization */
-    private ReentrantLock cacheListenersLock = new ReentrantLock();
-
-    /** Lock for Cluster listener initialization */
-    private ReentrantLock clusterListenersLock = new ReentrantLock();
-
-    /**
-     * Constructor for the RemoteCacheServer object. This initializes the server with the values
-     * from the config file.
-     * <p>
-     * @param rcsa
-     * @throws RemoteException
-     */
-    protected RemoteCacheServer( IRemoteCacheServerAttributes rcsa )
-        throws RemoteException
-    {
-        super( rcsa.getServicePort() );
-        this.remoteCacheServerAttributes = rcsa;
-        init( rcsa.getConfigFileName() );
-    }
-
-    /**
-     * Constructor for the RemoteCacheServer object. This initializes the server with the values
-     * from the config file.
-     * <p>
-     * @param rcsa
-     * @param customRMISocketFactory
-     * @throws RemoteException
-     */
-    protected RemoteCacheServer( IRemoteCacheServerAttributes rcsa, RMISocketFactory customRMISocketFactory )
-        throws RemoteException
-    {
-        super( rcsa.getServicePort(), customRMISocketFactory, customRMISocketFactory );
-        this.remoteCacheServerAttributes = rcsa;
-        init( rcsa.getConfigFileName() );
-    }
-
-    /**
-     * Initialize the RMI Cache Server from a properties file.
-     * <p>
-     * @param prop
-     * @throws RemoteException if the configuration of the cache manager instance fails
-     */
-    private void init( String prop ) throws RemoteException
-    {
-        try
-        {
-            cacheManager = createCacheManager( prop );
-        }
-        catch (CacheException e)
-        {
-            throw new RemoteException(e.getMessage(), e);
-        }
-
-        // cacheManager would have created a number of ICache objects.
-        // Use these objects to set up the cacheListenersMap.
-        String[] list = cacheManager.getCacheNames();
-        for ( int i = 0; i < list.length; i++ )
-        {
-            String name = list[i];
-            CompositeCache<K, V> cache = cacheManager.getCache( name );
-            cacheListenersMap.put( name, new CacheListeners<K, V>( cache ) );
-        }
-    }
-
-    /**
-     * Subclass can override this method to create the specific cache manager.
-     * <p>
-     * @param prop The name of the configuration file.
-     * @return The cache hub configured with this configuration file.
-     *
-     * @throws CacheException if the configuration cannot be loaded
-     */
-    private CompositeCacheManager createCacheManager( String prop ) throws CacheException
-    {
-        CompositeCacheManager hub = CompositeCacheManager.getUnconfiguredInstance();
-
-        if ( prop == null )
-        {
-            hub.configure( "/remote.cache.ccf" );
-        }
-        else
-        {
-            hub.configure( prop );
-        }
-        return hub;
-    }
-
-    /**
-     * Puts a cache bean to the remote cache and notifies all listeners which <br>
-     * <ol>
-     * <li>have a different listener id than the originating host; <li>are currently subscribed to
-     * the related cache.
-     * </ol>
-     * <p>
-     * @param item
-     * @throws IOException
-     */
-    public void put( ICacheElement<K, V> item )
-        throws IOException
-    {
-        update( item );
-    }
-
-    /**
-     * @param item
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> item )
-        throws IOException
-    {
-        update( item, 0 );
-    }
-
-    /**
-     * The internal processing is wrapped in event logging calls.
-     * <p>
-     * @param item
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> item, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<ICacheElement<K, V>> cacheEvent = createICacheEvent( item, requesterId, ICacheEventLogger.UPDATE_EVENT );
-        try
-        {
-            processUpdate( item, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * An update can come from either a local cache's remote auxiliary, or it can come from a remote
-     * server. A remote server is considered a a source of type cluster.
-     * <p>
-     * If the update came from a cluster, then we should tell the cache manager that this was a
-     * remote put. This way, any lateral and remote auxiliaries configured for the region will not
-     * be updated. This is basically how a remote listener works when plugged into a local cache.
-     * <p>
-     * If the cluster is configured to keep local cluster consistency, then all listeners will be
-     * updated. This allows cluster server A to update cluster server B and then B to update its
-     * clients if it is told to keep local cluster consistency. Otherwise, server A will update
-     * server B and B will not tell its clients. If you cluster using lateral caches for instance,
-     * this is how it will work. Updates to a cluster node, will never get to the leaves. The remote
-     * cluster, with local cluster consistency, allows you to update leaves. This basically allows
-     * you to have a failover remote server.
-     * <p>
-     * Since currently a cluster will not try to get from other cluster servers, you can scale a bit
-     * with a cluster configuration. Puts and removes will be broadcasted to all clients, but the
-     * get load on a remote server can be reduced.
-     * <p>
-     * @param item
-     * @param requesterId
-     */
-    private void processUpdate( ICacheElement<K, V> item, long requesterId )
-    {
-        long start = 0;
-        if ( timing )
-        {
-            start = System.currentTimeMillis();
-        }
-
-        logUpdateInfo( item );
-
-        try
-        {
-            CacheListeners<K, V> cacheDesc = getCacheListeners( item.getCacheName() );
-            /* Object val = */item.getVal();
-
-            boolean fromCluster = isRequestFromCluster( requesterId );
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "In update, requesterId = [" + requesterId + "] fromCluster = " + fromCluster );
-            }
-
-            // ordered cache item update and notification.
-            synchronized ( cacheDesc )
-            {
-                try
-                {
-                    CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
-
-                    // If the source of this request was not from a cluster,
-                    // then consider it a local update. The cache manager will
-                    // try to
-                    // update all auxiliaries.
-                    //
-                    // This requires that two local caches not be connected to
-                    // two clustered remote caches. The failover runner will
-                    // have to make sure of this. ALos, the local cache needs
-                    // avoid updating this source. Will need to pass the source
-                    // id somehow. The remote cache should update all local
-                    // caches
-                    // but not update the cluster source. Cluster remote caches
-                    // should only be updated by the server and not the
-                    // RemoteCache.
-                    if ( fromCluster )
-                    {
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "Put FROM cluster, NOT updating other auxiliaries for region. "
-                                + " requesterId [" + requesterId + "]" );
-                        }
-                        c.localUpdate( item );
-                    }
-                    else
-                    {
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "Put NOT from cluster, updating other auxiliaries for region. "
-                                + " requesterId [" + requesterId + "]" );
-                        }
-                        c.update( item );
-                    }
-                }
-                catch ( Exception ce )
-                {
-                    // swallow
-                    if ( log.isInfoEnabled() )
-                    {
-                        log.info( "Exception caught updating item. requesterId [" + requesterId + "] "
-                            + ce.getMessage() );
-                    }
-                }
-
-                // UPDATE LOCALS IF A REQUEST COMES FROM A CLUSTER
-                // IF LOCAL CLUSTER CONSISTENCY IS CONFIGURED
-                if ( !fromCluster || ( fromCluster && remoteCacheServerAttributes.isLocalClusterConsistency() ) )
-                {
-                    ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "qlist.length = " + qlist.length );
-                    }
-                    for ( int i = 0; i < qlist.length; i++ )
-                    {
-                        qlist[i].addPutEvent( item );
-                    }
-                }
-            }
-        }
-        catch ( IOException e )
-        {
-            if ( cacheEventLogger != null )
-            {
-                cacheEventLogger.logError( "RemoteCacheServer", ICacheEventLogger.UPDATE_EVENT, e.getMessage()
-                    + " REGION: " + item.getCacheName() + " ITEM: " + item );
-            }
-
-            log.error( "Trouble in Update. requesterId [" + requesterId + "]", e );
-        }
-
-        // TODO use JAMON for timing
-        if ( timing )
-        {
-            long end = System.currentTimeMillis();
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "put took " + String.valueOf( end - start ) + " ms." );
-            }
-        }
-    }
-
-    /**
-     * Log some details.
-     * <p>
-     * @param item
-     */
-    private void logUpdateInfo( ICacheElement<K, V> item )
-    {
-        // not thread safe, but it doesn't have to be 100% accurate
-        puts++;
-
-        if ( log.isInfoEnabled() )
-        {
-            if ( puts % logInterval == 0 )
-            {
-                log.info( "puts = " + puts );
-            }
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "In update, put [" + item.getKey() + "] in [" + item.getCacheName() + "]" );
-        }
-    }
-
-    /**
-     * Returns a cache value from the specified remote cache; or null if the cache or key does not
-     * exist.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @return ICacheElement
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
-        throws IOException
-    {
-        return this.get( cacheName, key, 0 );
-    }
-
-    /**
-     * Returns a cache bean from the specified cache; or null if the key does not exist.
-     * <p>
-     * Adding the requestor id, allows the cache to determine the source of the get.
-     * <p>
-     * The internal processing is wrapped in event logging calls.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @return ICacheElement
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        ICacheElement<K, V> element = null;
-        ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.GET_EVENT );
-        try
-        {
-            element = processGet( cacheName, key, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-        return element;
-    }
-
-    /**
-     * Returns a cache bean from the specified cache; or null if the key does not exist.
-     * <p>
-     * Adding the requester id, allows the cache to determine the source of the get.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @return ICacheElement
-     */
-    private ICacheElement<K, V> processGet( String cacheName, K key, long requesterId )
-    {
-        boolean fromCluster = isRequestFromCluster( requesterId );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "get [" + key + "] from cache [" + cacheName + "] requesterId = [" + requesterId
-                + "] fromCluster = " + fromCluster );
-        }
-
-        CacheListeners<K, V> cacheDesc = null;
-        try
-        {
-            cacheDesc = getCacheListeners( cacheName );
-        }
-        catch ( Exception e )
-        {
-            log.error( "Problem getting listeners.", e );
-
-            if ( cacheEventLogger != null )
-            {
-                cacheEventLogger.logError( "RemoteCacheServer", ICacheEventLogger.GET_EVENT, e.getMessage() + cacheName
-                    + " KEY: " + key );
-            }
-        }
-
-        ICacheElement<K, V> element = getFromCacheListeners( key, fromCluster, cacheDesc, null );
-        return element;
-    }
-
-    /**
-     * Gets the item from the associated cache listeners.
-     * <p>
-     * @param key
-     * @param fromCluster
-     * @param cacheDesc
-     * @param element
-     * @return ICacheElement
-     */
-    private ICacheElement<K, V> getFromCacheListeners( K key, boolean fromCluster, CacheListeners<K, V> cacheDesc,
-                                                 ICacheElement<K, V> element )
-    {
-        ICacheElement<K, V> returnElement = element;
-
-        if ( cacheDesc != null )
-        {
-            CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
-
-            // If we have a get come in from a client and we don't have the item
-            // locally, we will allow the cache to look in other non local sources,
-            // such as a remote cache or a lateral.
-            //
-            // Since remote servers never get from clients and clients never go
-            // remote from a remote call, this
-            // will not result in any loops.
-            //
-            // This is the only instance I can think of where we allow a remote get
-            // from a remote call. The purpose is to allow remote cache servers to
-            // talk to each other. If one goes down, you want it to be able to get
-            // data from those that were up when the failed server comes back o
-            // line.
-
-            if ( !fromCluster && this.remoteCacheServerAttributes.isAllowClusterGet() )
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "NonLocalGet. fromCluster [" + fromCluster + "] AllowClusterGet ["
-                        + this.remoteCacheServerAttributes.isAllowClusterGet() + "]" );
-                }
-                returnElement = c.get( key );
-            }
-            else
-            {
-                // Gets from cluster type remote will end up here.
-                // Gets from all clients will end up here if allow cluster get is
-                // false.
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "LocalGet.  fromCluster [" + fromCluster + "] AllowClusterGet ["
-                        + this.remoteCacheServerAttributes.isAllowClusterGet() + "]" );
-                }
-                returnElement = c.localGet( key );
-            }
-        }
-
-        return returnElement;
-    }
-
-    /**
-     * Gets all matching items.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @return Map of keys and wrapped objects
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
-        throws IOException
-    {
-        return getMatching( cacheName, pattern, 0 );
-    }
-
-    /**
-     * Retrieves all matching keys.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @param requesterId
-     * @return Map of keys and wrapped objects
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, pattern, requesterId,
-                                                    ICacheEventLogger.GETMATCHING_EVENT );
-        try
-        {
-            return processGetMatching( cacheName, pattern, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Retrieves all matching keys.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @param requesterId
-     * @return Map of keys and wrapped objects
-     */
-    protected Map<K, ICacheElement<K, V>> processGetMatching( String cacheName, String pattern, long requesterId )
-    {
-        boolean fromCluster = isRequestFromCluster( requesterId );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "getMatching [" + pattern + "] from cache [" + cacheName + "] requesterId = [" + requesterId
-                + "] fromCluster = " + fromCluster );
-        }
-
-        CacheListeners<K, V> cacheDesc = null;
-        try
-        {
-            cacheDesc = getCacheListeners( cacheName );
-        }
-        catch ( Exception e )
-        {
-            log.error( "Problem getting listeners.", e );
-
-            if ( cacheEventLogger != null )
-            {
-                cacheEventLogger.logError( "RemoteCacheServer", ICacheEventLogger.GETMATCHING_EVENT, e.getMessage()
-                    + cacheName + " pattern: " + pattern );
-            }
-        }
-
-        return getMatchingFromCacheListeners( pattern, fromCluster, cacheDesc );
-    }
-
-    /**
-     * Gets the item from the associated cache listeners.
-     * <p>
-     * @param pattern
-     * @param fromCluster
-     * @param cacheDesc
-     * @return Map of keys to results
-     */
-    private Map<K, ICacheElement<K, V>> getMatchingFromCacheListeners( String pattern, boolean fromCluster, CacheListeners<K, V> cacheDesc )
-    {
-        Map<K, ICacheElement<K, V>> elements = null;
-        if ( cacheDesc != null )
-        {
-            CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
-
-            // We always want to go remote and then merge the items.  But this can lead to inconsistencies after
-            // failover recovery.  Removed items may show up.  There is no good way to prevent this.
-            // We should make it configurable.
-
-            if ( !fromCluster && this.remoteCacheServerAttributes.isAllowClusterGet() )
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "NonLocalGetMatching. fromCluster [" + fromCluster + "] AllowClusterGet ["
-                        + this.remoteCacheServerAttributes.isAllowClusterGet() + "]" );
-                }
-                elements = c.getMatching( pattern );
-            }
-            else
-            {
-                // Gets from cluster type remote will end up here.
-                // Gets from all clients will end up here if allow cluster get is
-                // false.
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "LocalGetMatching.  fromCluster [" + fromCluster + "] AllowClusterGet ["
-                        + this.remoteCacheServerAttributes.isAllowClusterGet() + "]" );
-                }
-                elements = c.localGetMatching( pattern );
-            }
-        }
-        return elements;
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
-        throws IOException
-    {
-        return this.getMultiple( cacheName, keys, 0 );
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * The internal processing is wrapped in event logging calls.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @param requesterId
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<Serializable> cacheEvent = createICacheEvent( cacheName, (Serializable) keys, requesterId,
-                                                    ICacheEventLogger.GETMULTIPLE_EVENT );
-        try
-        {
-            return processGetMultiple( cacheName, keys, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @param requesterId
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     */
-    private Map<K, ICacheElement<K, V>> processGetMultiple( String cacheName, Set<K> keys, long requesterId )
-    {
-        boolean fromCluster = isRequestFromCluster( requesterId );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "getMultiple [" + keys + "] from cache [" + cacheName + "] requesterId = [" + requesterId
-                + "] fromCluster = " + fromCluster );
-        }
-
-        CacheListeners<K, V> cacheDesc = getCacheListeners( cacheName );
-        Map<K, ICacheElement<K, V>> elements = getMultipleFromCacheListeners( keys, null, fromCluster, cacheDesc );
-        return elements;
-    }
-
-    /**
-     * Since a non-receiving remote cache client will not register a listener, it will not have a
-     * listener id assigned from the server. As such the remote server cannot determine if it is a
-     * cluster or a normal client. It will assume that it is a normal client.
-     * <p>
-     * @param requesterId
-     * @return true is from a cluster.
-     */
-    private boolean isRequestFromCluster( long requesterId )
-    {
-        RemoteType remoteTypeL = idTypeMap.get( Long.valueOf( requesterId ) );
-        return remoteTypeL == RemoteType.CLUSTER;
-    }
-
-    /**
-     * Gets the items from the associated cache listeners.
-     * <p>
-     * @param keys
-     * @param elements
-     * @param fromCluster
-     * @param cacheDesc
-     * @return Map
-     */
-    private Map<K, ICacheElement<K, V>> getMultipleFromCacheListeners( Set<K> keys, Map<K, ICacheElement<K, V>> elements, boolean fromCluster, CacheListeners<K, V> cacheDesc )
-    {
-        Map<K, ICacheElement<K, V>> returnElements = elements;
-
-        if ( cacheDesc != null )
-        {
-            CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
-
-            // If we have a getMultiple come in from a client and we don't have the item
-            // locally, we will allow the cache to look in other non local sources,
-            // such as a remote cache or a lateral.
-            //
-            // Since remote servers never get from clients and clients never go
-            // remote from a remote call, this
-            // will not result in any loops.
-            //
-            // This is the only instance I can think of where we allow a remote get
-            // from a remote call. The purpose is to allow remote cache servers to
-            // talk to each other. If one goes down, you want it to be able to get
-            // data from those that were up when the failed server comes back on
-            // line.
-
-            if ( !fromCluster && this.remoteCacheServerAttributes.isAllowClusterGet() )
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "NonLocalGetMultiple. fromCluster [" + fromCluster + "] AllowClusterGet ["
-                        + this.remoteCacheServerAttributes.isAllowClusterGet() + "]" );
-                }
-
-                returnElements = c.getMultiple( keys );
-            }
-            else
-            {
-                // Gets from cluster type remote will end up here.
-                // Gets from all clients will end up here if allow cluster get is
-                // false.
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "LocalGetMultiple.  fromCluster [" + fromCluster + "] AllowClusterGet ["
-                        + this.remoteCacheServerAttributes.isAllowClusterGet() + "]" );
-                }
-
-                returnElements = c.localGetMultiple( keys );
-            }
-        }
-
-        return returnElements;
-    }
-
-    /**
-     * Return the keys in the cache.
-     * <p>
-     * @param cacheName the name of the cache region
-     * @see org.apache.commons.jcs.auxiliary.AuxiliaryCache#getKeySet()
-     */
-    @Override
-    public Set<K> getKeySet(String cacheName) throws IOException
-    {
-        return processGetKeySet( cacheName );
-    }
-
-    /**
-     * Gets the set of keys of objects currently in the cache.
-     * <p>
-     * @param cacheName
-     * @return Set
-     */
-    protected Set<K> processGetKeySet( String cacheName )
-    {
-        CacheListeners<K, V> cacheDesc = null;
-        try
-        {
-            cacheDesc = getCacheListeners( cacheName );
-        }
-        catch ( Exception e )
-        {
-            log.error( "Problem getting listeners.", e );
-        }
-
-        if ( cacheDesc == null )
-        {
-            return Collections.emptySet();
-        }
-
-        CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
-        return c.getKeySet();
-    }
-
-    /**
-     * Removes the given key from the specified remote cache. Defaults the listener id to 0.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @throws IOException
-     */
-    @Override
-    public void remove( String cacheName, K key )
-        throws IOException
-    {
-        remove( cacheName, key, 0 );
-    }
-
-    /**
-     * Remove the key from the cache region and don't tell the source listener about it.
-     * <p>
-     * The internal processing is wrapped in event logging calls.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void remove( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<K> cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.REMOVE_EVENT );
-        try
-        {
-            processRemove( cacheName, key, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Remove the key from the cache region and don't tell the source listener about it.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @throws IOException
-     */
-    private void processRemove( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "remove [" + key + "] from cache [" + cacheName + "]" );
-        }
-
-        CacheListeners<K, V> cacheDesc = cacheListenersMap.get( cacheName );
-
-        boolean fromCluster = isRequestFromCluster( requesterId );
-
-        if ( cacheDesc != null )
-        {
-            // best attempt to achieve ordered cache item removal and
-            // notification.
-            synchronized ( cacheDesc )
-            {
-                boolean removeSuccess = false;
-
-                // No need to notify if it was not cached.
-                CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
-
-                if ( fromCluster )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Remove FROM cluster, NOT updating other auxiliaries for region" );
-                    }
-                    removeSuccess = c.localRemove( key );
-                }
-                else
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Remove NOT from cluster, updating other auxiliaries for region" );
-                    }
-                    removeSuccess = c.remove( key );
-                }
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "remove [" + key + "] from cache [" + cacheName + "] success (was it found) = "
-                        + removeSuccess );
-                }
-
-                // UPDATE LOCALS IF A REQUEST COMES FROM A CLUSTER
-                // IF LOCAL CLUSTER CONSISTENCY IS CONFIGURED
-                if ( !fromCluster || ( fromCluster && remoteCacheServerAttributes.isLocalClusterConsistency() ) )
-                {
-                    ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
-
-                    for ( int i = 0; i < qlist.length; i++ )
-                    {
-                        qlist[i].addRemoveEvent( key );
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Remove all keys from the specified remote cache.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void removeAll( String cacheName )
-        throws IOException
-    {
-        removeAll( cacheName, 0 );
-    }
-
-    /**
-     * Remove all keys from the specified remote cache.
-     * <p>
-     * The internal processing is wrapped in event logging calls.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    @Override
-    public void removeAll( String cacheName, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "all", requesterId, ICacheEventLogger.REMOVEALL_EVENT );
-        try
-        {
-            processRemoveAll( cacheName, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Remove all keys from the specified remote cache.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    private void processRemoveAll( String cacheName, long requesterId )
-        throws IOException
-    {
-        CacheListeners<K, V> cacheDesc = cacheListenersMap.get( cacheName );
-
-        boolean fromCluster = isRequestFromCluster( requesterId );
-
-        if ( cacheDesc != null )
-        {
-            // best attempt to achieve ordered cache item removal and
-            // notification.
-            synchronized ( cacheDesc )
-            {
-                // No need to broadcast, or notify if it was not cached.
-                CompositeCache<K, V> c = (CompositeCache<K, V>) cacheDesc.cache;
-
-                if ( fromCluster )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "RemoveALL FROM cluster, NOT updating other auxiliaries for region" );
-                    }
-                    c.localRemoveAll();
-                }
-                else
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "RemoveALL NOT from cluster, updating other auxiliaries for region" );
-                    }
-                    c.removeAll();
-                }
-
-                // update registered listeners
-                if ( !fromCluster || ( fromCluster && remoteCacheServerAttributes.isLocalClusterConsistency() ) )
-                {
-                    ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
-
-                    for ( int i = 0; i < qlist.length; i++ )
-                    {
-                        qlist[i].addRemoveAllEvent();
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * How many put events have we received.
-     * <p>
-     * @return puts
-     */
-    // Currently only intended for use by unit tests
-    int getPutCount()
-    {
-        return puts;
-    }
-
-    /**
-     * Frees the specified remote cache.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void dispose( String cacheName )
-        throws IOException
-    {
-        dispose( cacheName, 0 );
-    }
-
-    /**
-     * Frees the specified remote cache.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    public void dispose( String cacheName, long requesterId )
-        throws IOException
-    {
-        ICacheEvent<String> cacheEvent = createICacheEvent( cacheName, "none", requesterId, ICacheEventLogger.DISPOSE_EVENT );
-        try
-        {
-            processDispose( cacheName, requesterId );
-        }
-        finally
-        {
-            logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    private void processDispose( String cacheName, long requesterId )
-        throws IOException
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Dispose request received from listener [" + requesterId + "]" );
-        }
-
-        CacheListeners<K, V> cacheDesc = cacheListenersMap.get( cacheName );
-
-        // this is dangerous
-        if ( cacheDesc != null )
-        {
-            // best attempt to achieve ordered free-cache-op and notification.
-            synchronized ( cacheDesc )
-            {
-                ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
-
-                for ( int i = 0; i < qlist.length; i++ )
-                {
-                    qlist[i].addDisposeEvent();
-                }
-                cacheManager.freeCache( cacheName );
-            }
-        }
-    }
-
-    /**
-     * Frees all remote caches.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public void release()
-        throws IOException
-    {
-        for (CacheListeners<K, V> cacheDesc : cacheListenersMap.values())
-        {
-            ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, 0 );
-
-            for ( int i = 0; i < qlist.length; i++ )
-            {
-                qlist[i].addDisposeEvent();
-            }
-        }
-        cacheManager.release();
-    }
-
-    /**
-     * Returns the cache listener for the specified cache. Creates the cache and the cache
-     * descriptor if they do not already exist.
-     * <p>
-     * @param cacheName
-     * @return The cacheListeners value
-     */
-    protected CacheListeners<K, V> getCacheListeners( String cacheName )
-    {
-        CacheListeners<K, V> cacheListeners = cacheListenersMap.get( cacheName );
-
-        if ( cacheListeners == null )
-        {
-            cacheListenersLock.lock();
-
-            try
-            {
-                // double check
-                cacheListeners = cacheListenersMap.get( cacheName );
-                if ( cacheListeners == null )
-                {
-                    CompositeCache<K, V> cache = cacheManager.getCache( cacheName );
-                    cacheListeners = new CacheListeners<K, V>( cache );
-                    cacheListenersMap.put( cacheName, cacheListeners );
-                }
-            }
-            finally
-            {
-                cacheListenersLock.unlock();
-            }
-        }
-
-        return cacheListeners;
-    }
-
-    /**
-     * Gets the clusterListeners attribute of the RemoteCacheServer object.
-     * <p>
-     * TODO may be able to remove this
-     * @param cacheName
-     * @return The clusterListeners value
-     */
-    protected CacheListeners<K, V> getClusterListeners( String cacheName )
-    {
-        CacheListeners<K, V> cacheListeners = clusterListenersMap.get( cacheName );
-
-        if ( cacheListeners == null )
-        {
-            clusterListenersLock.lock();
-
-            try
-            {
-                cacheListeners = clusterListenersMap.get( cacheName );
-                if ( cacheListeners == null )
-                {
-                    CompositeCache<K, V> cache = cacheManager.getCache( cacheName );
-                    cacheListeners = new CacheListeners<K, V>( cache );
-                    clusterListenersMap.put( cacheName, cacheListeners );
-                }
-            }
-            finally
-            {
-                clusterListenersLock.unlock();
-            }
-        }
-
-        return cacheListeners;
-    }
-
-    /**
-     * Gets the eventQList attribute of the RemoteCacheServer object. This returns the event queues
-     * stored in the cacheListeners object for a particular region, if the queue is not for this
-     * requester.
-     * <p>
-     * Basically, this makes sure that a request from a particular local cache, identified by its
-     * listener id, does not result in a call to that same listener.
-     * <p>
-     * @param cacheListeners
-     * @param requesterId
-     * @return The eventQList value
-     */
-    @SuppressWarnings("unchecked") // No generic arrays in java
-    private ICacheEventQueue<K, V>[] getEventQList( CacheListeners<K, V> cacheListeners, long requesterId )
-    {
-        ICacheEventQueue<K, V>[] list = cacheListeners.eventQMap.values().toArray( new ICacheEventQueue[0] );
-        int count = 0;
-        // Set those not qualified to null; Count those qualified.
-        for ( int i = 0; i < list.length; i++ )
-        {
-            ICacheEventQueue<K, V> q = list[i];
-            if ( q.isWorking() && q.getListenerId() != requesterId )
-            {
-                count++;
-            }
-            else
-            {
-                list[i] = null;
-            }
-        }
-        if ( count == list.length )
-        {
-            // All qualified.
-            return list;
-        }
-
-        // Returns only the qualified.
-        ICacheEventQueue<K, V>[] qq = new ICacheEventQueue[count];
-        count = 0;
-        for ( int i = 0; i < list.length; i++ )
-        {
-            if ( list[i] != null )
-            {
-                qq[count++] = list[i];
-            }
-        }
-        return qq;
-    }
-
-    /**
-     * Removes dead event queues. Should clean out deregistered listeners.
-     * <p>
-     * @param eventQMap
-     */
-    private static <KK, VV> void cleanupEventQMap( Map<Long, ICacheEventQueue<KK, VV>> eventQMap )
-    {
-        synchronized ( eventQMap )
-        {
-            for (Iterator<Map.Entry<Long, ICacheEventQueue<KK, VV>>> itr = eventQMap.entrySet().iterator(); itr.hasNext(); )
-            {
-                Map.Entry<Long, ICacheEventQueue<KK, VV>> e = itr.next();
-                ICacheEventQueue<KK, VV> q = e.getValue();
-
-                // this does not care if the q is alive (i.e. if
-                // there are active threads; it cares if the queue
-                // is working -- if it has not encountered errors
-                // above the failure threshold
-                if ( !q.isWorking() )
-                {
-                    itr.remove();
-                    log.warn( "Cache event queue " + q + " is not working and removed from cache server." );
-                }
-            }
-        }
-    }
-
-    /**
-     * Subscribes to the specified remote cache.
-     * <p>
-     * If the client id is 0, then the remote cache server will increment it's local count and
-     * assign an id to the client.
-     * <p>
-     * @param cacheName the specified remote cache.
-     * @param listener object to notify for cache changes. must be synchronized since there are
-     *            remote calls involved.
-     * @throws IOException
-     */
-    @Override
-    @SuppressWarnings("unchecked") // Need to cast to specific return type from getClusterListeners()
-    public <KK, VV> void addCacheListener( String cacheName, ICacheListener<KK, VV> listener )
-        throws IOException
-    {
-        if ( cacheName == null || listener == null )
-        {
-            throw new IllegalArgumentException( "cacheName and listener must not be null" );
-        }
-        CacheListeners<KK, VV> cacheListeners;
-
-        IRemoteCacheListener<KK, VV> ircl = (IRemoteCacheListener<KK, VV>) listener;
-
-        String listenerAddress = ircl.getLocalHostAddress();
-
-        RemoteType remoteType = ircl.getRemoteType();
-        if ( remoteType == RemoteType.CLUSTER )
-        {
-            log.debug( "adding cluster listener, listenerAddress [" + listenerAddress + "]" );
-            cacheListeners = (CacheListeners<KK, VV>)getClusterListeners( cacheName );
-        }
-        else
-        {
-            log.debug( "adding normal listener, listenerAddress [" + listenerAddress + "]" );
-            cacheListeners = (CacheListeners<KK, VV>)getCacheListeners( cacheName );
-        }
-        Map<Long, ICacheEventQueue<KK, VV>> eventQMap = cacheListeners.eventQMap;
-        cleanupEventQMap( eventQMap );
-
-        // synchronized ( listenerId )
-        synchronized ( ICacheListener.class )
-        {
-            long id = 0;
-            try
-            {
-                id = listener.getListenerId();
-                // clients probably shouldn't do this.
-                if ( id == 0 )
-                {
-                    // must start at one so the next gets recognized
-                    long listenerIdB = nextListenerId();
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "listener id=" + ( listenerIdB & 0xff ) + " addded for cache [" + cacheName
-                            + "], listenerAddress [" + listenerAddress + "]" );
-                    }
-                    listener.setListenerId( listenerIdB );
-                    id = listenerIdB;
-
-                    // in case it needs synchronization
-                    String message = "Adding vm listener under new id = [" + listenerIdB + "], listenerAddress ["
-                        + listenerAddress + "]";
-                    logApplicationEvent( "RemoteCacheServer", "addCacheListener", message );
-                    if ( log.isInfoEnabled() )
-                    {
-                        log.info( message );
-                    }
-                }
-                else
-                {
-                    String message = "Adding listener under existing id = [" + id + "], listenerAddress ["
-                        + listenerAddress + "]";
-                    logApplicationEvent( "RemoteCacheServer", "addCacheListener", message );
-                    if ( log.isInfoEnabled() )
-                    {
-                        log.info( message );
-                    }
-                    // should confirm the the host is the same as we have on
-                    // record, just in case a client has made a mistake.
-                }
-
-                // relate the type to an id
-                this.idTypeMap.put( Long.valueOf( id ), remoteType);
-                if ( listenerAddress != null )
-                {
-                    this.idIPMap.put( Long.valueOf( id ), listenerAddress );
-                }
-            }
-            catch ( IOException ioe )
-            {
-                String message = "Problem setting listener id, listenerAddress [" + listenerAddress + "]";
-                log.error( message, ioe );
-
-                if ( cacheEventLogger != null )
-                {
-                    cacheEventLogger.logError( "RemoteCacheServer", "addCacheListener", message + " - "
-                        + ioe.getMessage() );
-                }
-            }
-
-            CacheEventQueueFactory<KK, VV> fact = new CacheEventQueueFactory<KK, VV>();
-            ICacheEventQueue<KK, VV> q = fact.createCacheEventQueue( listener, id, cacheName, remoteCacheServerAttributes
-                .getEventQueuePoolName(), remoteCacheServerAttributes.getEventQueueType() );
-
-            eventQMap.put(Long.valueOf(listener.getListenerId()), q);
-
-            if ( log.isInfoEnabled() )
-            {
-                log.info( cacheListeners );
-            }
-        }
-    }
-
-    /**
-     * Subscribes to all remote caches.
-     * <p>
-     * @param listener The feature to be added to the CacheListener attribute
-     * @throws IOException
-     */
-    @Override
-    public <KK, VV> void addCacheListener( ICacheListener<KK, VV> listener )
-        throws IOException
-    {
-        for (String cacheName : cacheListenersMap.keySet())
-        {
-            addCacheListener( cacheName, listener );
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Adding listener for cache [" + cacheName + "]" );
-            }
-        }
-    }
-
-    /**
-     * Unsubscribe this listener from this region. If the listener is registered, it will be removed
-     * from the event queue map list.
-     * <p>
-     * @param cacheName
-     * @param listener
-     * @throws IOException
-     */
-    @Override
-    public <KK, VV> void removeCacheListener( String cacheName, ICacheListener<KK, VV> listener )
-        throws IOException
-    {
-        removeCacheListener( cacheName, listener.getListenerId() );
-    }
-
-    /**
-     * Unsubscribe this listener from this region. If the listener is registered, it will be removed
-     * from the event queue map list.
-     * <p>
-     * @param cacheName
-     * @param listenerId
-     */
-    public void removeCacheListener( String cacheName, long listenerId )
-    {
-        String message = "Removing listener for cache region = [" + cacheName + "] and listenerId [" + listenerId + "]";
-        logApplicationEvent( "RemoteCacheServer", "removeCacheListener", message );
-        if ( log.isInfoEnabled() )
-        {
-            log.info( message );
-        }
-
-        boolean isClusterListener = isRequestFromCluster( listenerId );
-
-        CacheListeners<K, V> cacheDesc = null;
-
-        if ( isClusterListener )
-        {
-            cacheDesc = getClusterListeners( cacheName );
-        }
-        else
-        {
-            cacheDesc = getCacheListeners( cacheName );
-        }
-        Map<Long, ICacheEventQueue<K, V>> eventQMap = cacheDesc.eventQMap;
-        cleanupEventQMap( eventQMap );
-        ICacheEventQueue<K, V> q = eventQMap.remove( Long.valueOf( listenerId ) );
-
-        if ( q != null )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Found queue for cache region = [" + cacheName + "] and listenerId  [" + listenerId + "]" );
-            }
-            q.destroy();
-            cleanupEventQMap( eventQMap );
-        }
-        else
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Did not find queue for cache region = [" + cacheName + "] and listenerId [" + listenerId
-                    + "]" );
-            }
-        }
-
-        // cleanup
-        idTypeMap.remove( Long.valueOf( listenerId ) );
-        idIPMap.remove( Long.valueOf( listenerId ) );
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "After removing listener [" + listenerId + "] cache region " + cacheName + "'s listener size ["
-                + cacheDesc.eventQMap.size() + "]" );
-        }
-    }
-
-    /**
-     * Unsubscribes from all remote caches.
-     * <p>
-     * @param listener
-     * @throws IOException
-     */
-    @Override
-    public <KK, VV> void removeCacheListener( ICacheListener<KK, VV> listener )
-        throws IOException
-    {
-        for (String cacheName : cacheListenersMap.keySet())
-        {
-            removeCacheListener( cacheName, listener );
-
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Removing listener for cache [" + cacheName + "]" );
-            }
-        }
-    }
-
-    /**
-     * Shuts down the remote server.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public void shutdown()
-        throws IOException
-    {
-        shutdown("", Registry.REGISTRY_PORT);
-    }
-
-    /**
-     * Shuts down a server at a particular host and port. Then it calls shutdown on the cache
-     * itself.
-     * <p>
-     * @param host
-     * @param port
-     * @throws IOException
-     */
-    @Override
-    public void shutdown( String host, int port )
-        throws IOException
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Received shutdown request. Shutting down server." );
-        }
-
-        synchronized (listenerId)
-        {
-            for (String cacheName : cacheListenersMap.keySet())
-            {
-                for (int i = 0; i <= listenerId[0]; i++)
-                {
-                    removeCacheListener( cacheName, i );
-                }
-
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Removing listener for cache [" + cacheName + "]" );
-                }
-            }
-
-            cacheListenersMap.clear();
-            clusterListenersMap.clear();
-        }
-        RemoteCacheServerFactory.shutdownImpl( host, port );
-        this.cacheManager.shutDown();
-    }
-
-    /**
-     * Called by the RMI runtime sometime after the runtime determines that the reference list, the
-     * list of clients referencing the remote object, becomes empty.
-     */
-    // TODO: test out the DGC.
-    @Override
-    public void unreferenced()
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "*** Server now unreferenced and subject to GC. ***" );
-        }
-    }
-
-    /**
-     * Returns the next generated listener id [0,255].
-     * <p>
-     * @return the listener id of a client. This should be unique for this server.
-     */
-    private long nextListenerId()
-    {
-        long id = 0;
-        if ( listenerId[0] == Integer.MAX_VALUE )
-        {
-            synchronized ( listenerId )
-            {
-                id = listenerId[0];
-                listenerId[0] = 0;
-                // TODO: record & check if the generated id is currently being
-                // used by a valid listener. Currently if the id wraps after
-                // Long.MAX_VALUE,
-                // we just assume it won't collide with an existing listener who
-                // is live.
-            }
-        }
-        else
-        {
-            synchronized ( listenerId )
-            {
-                id = ++listenerId[0];
-            }
-        }
-        return id;
-    }
-
-    /**
-     * Gets the stats attribute of the RemoteCacheServer object.
-     * <p>
-     * @return The stats value
-     * @throws IOException
-     */
-    @Override
-    public String getStats()
-        throws IOException
-    {
-        return cacheManager.getStats();
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param item
-     * @param requesterId
-     * @param eventName
-     * @return ICacheEvent
-     */
-    private ICacheEvent<ICacheElement<K, V>> createICacheEvent( ICacheElement<K, V> item, long requesterId, String eventName )
-    {
-        if ( cacheEventLogger == null )
-        {
-            return new CacheEvent<ICacheElement<K, V>>();
-        }
-        String ipAddress = getExtraInfoForRequesterId( requesterId );
-        return cacheEventLogger
-            .createICacheEvent( "RemoteCacheServer", item.getCacheName(), eventName, ipAddress, item );
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @param eventName
-     * @return ICacheEvent
-     */
-    private <T> ICacheEvent<T> createICacheEvent( String cacheName, T key, long requesterId, String eventName )
-    {
-        if ( cacheEventLogger == null )
-        {
-            return new CacheEvent<T>();
-        }
-        String ipAddress = getExtraInfoForRequesterId( requesterId );
-        return cacheEventLogger.createICacheEvent( "RemoteCacheServer", cacheName, eventName, ipAddress, key );
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param source
-     * @param eventName
-     * @param optionalDetails
-     */
-    protected void logApplicationEvent( String source, String eventName, String optionalDetails )
-    {
-        if ( cacheEventLogger != null )
-        {
-            cacheEventLogger.logApplicationEvent( source, eventName, optionalDetails );
-        }
-    }
-
-    /**
-     * Logs an event if an event logger is configured.
-     * <p>
-     * @param cacheEvent
-     */
-    protected <T> void logICacheEvent( ICacheEvent<T> cacheEvent )
-    {
-        if ( cacheEventLogger != null )
-        {
-            cacheEventLogger.logICacheEvent( cacheEvent );
-        }
-    }
-
-    /**
-     * Ip address for the client, if one is stored.
-     * <p>
-     * Protected for testing.
-     * <p>
-     * @param requesterId
-     * @return String
-     */
-    protected String getExtraInfoForRequesterId( long requesterId )
-    {
-        String ipAddress = idIPMap.get( Long.valueOf( requesterId ) );
-        return ipAddress;
-    }
-
-    /**
-     * Allows it to be injected.
-     * <p>
-     * @param cacheEventLogger
-     */
-    public void setCacheEventLogger( ICacheEventLogger cacheEventLogger )
-    {
-        this.cacheEventLogger = cacheEventLogger;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServerAttributes.java b/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServerAttributes.java
deleted file mode 100644
index 351f5ac..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServerAttributes.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.CommonRemoteCacheAttributes;
-import org.apache.commons.jcs.auxiliary.remote.server.behavior.IRemoteCacheServerAttributes;
-
-/**
- * These attributes are used to configure the remote cache server.
- */
-public class RemoteCacheServerAttributes
-    extends CommonRemoteCacheAttributes
-    implements IRemoteCacheServerAttributes
-{
-    /** Don't change */
-    private static final long serialVersionUID = -2741662082869155365L;
-
-    /** port the server will listen to */
-    private int servicePort = 0;
-
-    /** Can a cluster remote get from other remotes */
-    private boolean allowClusterGet = true;
-
-    /** The config file, the initialization is multistage. Remote cache then composite cache. */
-    private String configFileName = "";
-
-    /** Should we start the registry */
-    private boolean DEFAULT_START_REGISTRY = true;
-
-    /** Should we start the registry */
-    private boolean startRegistry = DEFAULT_START_REGISTRY;
-
-    /** Should we try to keep the registry alive */
-    private boolean DEFAULT_USE_REGISTRY_KEEP_ALIVE = true;
-
-    /** Should we try to keep the registry alive */
-    private boolean useRegistryKeepAlive = DEFAULT_USE_REGISTRY_KEEP_ALIVE;
-
-    /** The delay between runs */
-    private long registryKeepAliveDelayMillis = 15 * 1000;
-
-    /** Default constructor for the RemoteCacheAttributes object */
-    public RemoteCacheServerAttributes()
-    {
-        super();
-    }
-
-    /**
-     * Gets the localPort attribute of the RemoteCacheAttributes object
-     * <p>
-     * @return The localPort value
-     */
-    @Override
-    public int getServicePort()
-    {
-        return this.servicePort;
-    }
-
-    /**
-     * Sets the localPort attribute of the RemoteCacheAttributes object
-     * <p>
-     * @param p The new localPort value
-     */
-    @Override
-    public void setServicePort( int p )
-    {
-        this.servicePort = p;
-    }
-
-    /**
-     * Should gets from non-cluster clients be allowed to get from other remote auxiliaries.
-     * <p>
-     * @return The localClusterConsistency value
-     */
-    @Override
-    public boolean isAllowClusterGet()
-    {
-        return allowClusterGet;
-    }
-
-    /**
-     * Should we try to get from other cluster servers if we don't find the items locally.
-     * <p>
-     * @param r The new localClusterConsistency value
-     */
-    @Override
-    public void setAllowClusterGet( boolean r )
-    {
-        allowClusterGet = r;
-    }
-
-    /**
-     * Gets the ConfigFileName attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @return The clusterServers value
-     */
-    @Override
-    public String getConfigFileName()
-    {
-        return configFileName;
-    }
-
-    /**
-     * Sets the ConfigFileName attribute of the IRemoteCacheAttributes object
-     * <p>
-     * @param s The new clusterServers value
-     */
-    @Override
-    public void setConfigFileName( String s )
-    {
-        configFileName = s;
-    }
-
-    /**
-     * Should we try to keep the registry alive
-     * <p>
-     * @param useRegistryKeepAlive the useRegistryKeepAlive to set
-     */
-    @Override
-    public void setUseRegistryKeepAlive( boolean useRegistryKeepAlive )
-    {
-        this.useRegistryKeepAlive = useRegistryKeepAlive;
-    }
-
-    /**
-     * Should we start the registry
-     * <p>
-     * @param startRegistry the startRegistry to set
-     */
-    @Override
-    public void setStartRegistry( boolean startRegistry )
-    {
-        this.startRegistry = startRegistry;
-    }
-
-    /**
-     * Should we start the registry
-     * <p>
-     * @return the startRegistry
-     */
-    @Override
-    public boolean isStartRegistry()
-    {
-        return startRegistry;
-    }
-
-    /**
-     * Should we try to keep the registry alive
-     * <p>
-     * @return the useRegistryKeepAlive
-     */
-    @Override
-    public boolean isUseRegistryKeepAlive()
-    {
-        return useRegistryKeepAlive;
-    }
-
-    /**
-     * @param registryKeepAliveDelayMillis the registryKeepAliveDelayMillis to set
-     */
-    @Override
-    public void setRegistryKeepAliveDelayMillis( long registryKeepAliveDelayMillis )
-    {
-        this.registryKeepAliveDelayMillis = registryKeepAliveDelayMillis;
-    }
-
-    /**
-     * @return the registryKeepAliveDelayMillis
-     */
-    @Override
-    public long getRegistryKeepAliveDelayMillis()
-    {
-        return registryKeepAliveDelayMillis;
-    }
-
-    /**
-     * @return String details
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder(super.toString());
-        buf.append( "\n servicePort = [" + this.getServicePort() + "]" );
-        buf.append( "\n allowClusterGet = [" + this.isAllowClusterGet() + "]" );
-        buf.append( "\n configFileName = [" + this.getConfigFileName() + "]" );
-        buf.append( "\n rmiSocketFactoryTimeoutMillis = [" + this.getRmiSocketFactoryTimeoutMillis() + "]" );
-        buf.append( "\n startRegistry = [" + this.isStartRegistry() + "]" );
-        buf.append( "\n useRegistryKeepAlive = [" + this.isUseRegistryKeepAlive() + "]" );
-        buf.append( "\n registryKeepAliveDelayMillis = [" + this.getRegistryKeepAliveDelayMillis() + "]" );
-        buf.append( "\n eventQueueType = [" + this.getEventQueueType() + "]" );
-        buf.append( "\n eventQueuePoolName = [" + this.getEventQueuePoolName() + "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServerFactory.java b/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServerFactory.java
deleted file mode 100644
index bb3fa8f..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServerFactory.java
+++ /dev/null
@@ -1,538 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.net.MalformedURLException;
-import java.rmi.Naming;
-import java.rmi.NotBoundException;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.rmi.registry.Registry;
-import java.rmi.server.RMISocketFactory;
-import java.rmi.server.UnicastRemoteObject;
-import java.util.Properties;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheConfigurator;
-import org.apache.commons.jcs.auxiliary.remote.RemoteUtils;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheConstants;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceAdmin;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.utils.config.OptionConverter;
-import org.apache.commons.jcs.utils.config.PropertySetter;
-import org.apache.commons.jcs.utils.threadpool.DaemonThreadFactory;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Provides remote cache services. This creates remote cache servers and can proxy command line
- * requests to a running server.
- */
-public class RemoteCacheServerFactory
-    implements IRemoteCacheConstants
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( RemoteCacheServerFactory.class );
-
-    /** The single instance of the RemoteCacheServer object. */
-    private static RemoteCacheServer<? extends Serializable, ? extends Serializable> remoteCacheServer;
-
-    /** The name of the service. */
-    private static String serviceName = IRemoteCacheConstants.REMOTE_CACHE_SERVICE_VAL;
-
-    /** Executes the registry keep alive. */
-    private static ScheduledExecutorService keepAliveDaemon;
-
-    /** A reference to the registry. */
-    private static Registry registry = null;
-
-    /** Constructor for the RemoteCacheServerFactory object. */
-    private RemoteCacheServerFactory()
-    {
-        super();
-    }
-
-    /**
-     * This will allow you to get stats from the server, etc. Perhaps we should provide methods on
-     * the factory to do this instead.
-     * <p>
-     * A remote cache is either a local cache or a cluster cache.
-     * </p>
-     * @return Returns the remoteCacheServer.
-     */
-    @SuppressWarnings("unchecked") // Need cast to specific RemoteCacheServer
-    public static <K, V> RemoteCacheServer<K, V> getRemoteCacheServer()
-    {
-        return (RemoteCacheServer<K, V>)remoteCacheServer;
-    }
-
-    // ///////////////////// Startup/shutdown methods. //////////////////
-    /**
-     * Starts up the remote cache server on this JVM, and binds it to the registry on the given host
-     * and port.
-     * <p>
-     * A remote cache is either a local cache or a cluster cache.
-     * <p>
-     * @param host
-     * @param port
-     * @param propFile
-     * @throws IOException
-     */
-    public static void startup( String host, int port, String propFile )
-        throws IOException
-    {
-        if ( remoteCacheServer != null )
-        {
-            throw new IllegalArgumentException( "Server already started." );
-        }
-
-        synchronized ( RemoteCacheServer.class )
-        {
-            if ( remoteCacheServer != null )
-            {
-                return;
-            }
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "ConfigFileName = [" + propFile + "]" );
-            }
-            Properties props = RemoteUtils.loadProps( propFile );
-            startup(host, port, props, propFile);
-        }
-    }
-
-    /**
-     * Starts up the remote cache server on this JVM, and binds it to the registry on the given host
-     * and port.
-     * <p>
-     * A remote cache is either a local cache or a cluster cache.
-     * <p>
-     * @param host
-     * @param port
-     * @param props
-     * @throws IOException
-     */
-    public static void startup( String host, int port, Properties props, String propFile )
-        throws IOException
-    {
-        if ( remoteCacheServer != null )
-        {
-            throw new IllegalArgumentException( "Server already started." );
-        }
-
-        synchronized ( RemoteCacheServer.class )
-        {
-            if ( remoteCacheServer != null )
-            {
-                return;
-            }
-            if ( host == null )
-            {
-                host = "";
-            }
-
-            RemoteCacheServerAttributes rcsa = configureRemoteCacheServerAttributes(props);
-            rcsa.setConfigFileName( propFile );
-
-            // These should come from the file!
-            rcsa.setRemoteLocation( host, port );
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Creating server with these attributes: " + rcsa );
-            }
-
-            setServiceName( rcsa.getRemoteServiceName() );
-
-            RMISocketFactory customRMISocketFactory = configureObjectSpecificCustomFactory( props );
-
-            RemoteUtils.configureGlobalCustomSocketFactory( rcsa.getRmiSocketFactoryTimeoutMillis() );
-
-            // CONFIGURE THE EVENT LOGGER
-            ICacheEventLogger cacheEventLogger = configureCacheEventLogger( props );
-
-            // CREATE SERVER
-            if ( customRMISocketFactory != null )
-            {
-                remoteCacheServer = new RemoteCacheServer<Serializable, Serializable>( rcsa, customRMISocketFactory );
-            }
-            else
-            {
-                remoteCacheServer = new RemoteCacheServer<Serializable, Serializable>( rcsa );
-            }
-
-            remoteCacheServer.setCacheEventLogger( cacheEventLogger );
-
-            // START THE REGISTRY
-            if (rcsa.isStartRegistry())
-            {
-            	registry = RemoteUtils.createRegistry(port);
-            }
-
-            // REGISTER THE SERVER
-            registerServer( RemoteUtils.getNamingURL(host, port, serviceName), remoteCacheServer );
-
-            // KEEP THE REGISTRY ALIVE
-            if ( rcsa.isUseRegistryKeepAlive() )
-            {
-                if ( keepAliveDaemon == null )
-                {
-                    keepAliveDaemon = Executors.newScheduledThreadPool(1,
-                            new DaemonThreadFactory("JCS-RemoteCacheServerFactory-"));
-                }
-                RegistryKeepAliveRunner runner = new RegistryKeepAliveRunner( host, port, serviceName );
-                runner.setCacheEventLogger( cacheEventLogger );
-                keepAliveDaemon.scheduleAtFixedRate(runner, 0, rcsa.getRegistryKeepAliveDelayMillis(), TimeUnit.MILLISECONDS);
-            }
-        }
-    }
-
-    /**
-     * Tries to get the event logger by new and old config styles.
-     * <p>
-     * @param props
-     * @return ICacheEventLogger
-     */
-    protected static ICacheEventLogger configureCacheEventLogger( Properties props )
-    {
-        ICacheEventLogger cacheEventLogger = AuxiliaryCacheConfigurator
-            .parseCacheEventLogger( props, IRemoteCacheConstants.CACHE_SERVER_PREFIX );
-
-        // try the old way
-        if ( cacheEventLogger == null )
-        {
-            cacheEventLogger = AuxiliaryCacheConfigurator.parseCacheEventLogger( props,
-                                                                                 IRemoteCacheConstants.PROPERTY_PREFIX );
-        }
-        return cacheEventLogger;
-    }
-
-    /**
-     * This configures an object specific custom factory. This will be configured for just this
-     * object in the registry. This can be null.
-     * <p>
-     * @param props
-     * @return RMISocketFactory
-     */
-    protected static RMISocketFactory configureObjectSpecificCustomFactory( Properties props )
-    {
-        RMISocketFactory customRMISocketFactory =
-            OptionConverter.instantiateByKey( props, CUSTOM_RMI_SOCKET_FACTORY_PROPERTY_PREFIX, null );
-
-        if ( customRMISocketFactory != null )
-        {
-            PropertySetter.setProperties( customRMISocketFactory, props, CUSTOM_RMI_SOCKET_FACTORY_PROPERTY_PREFIX
-                + "." );
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Will use server specific custom socket factory. " + customRMISocketFactory );
-            }
-        }
-        else
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "No server specific custom socket factory defined." );
-            }
-        }
-        return customRMISocketFactory;
-    }
-
-    /**
-     * Registers the server with the registry. I broke this off because we might want to have code
-     * that will restart a dead registry. It will need to rebind the server.
-     * <p>
-     * @param namingURL
-     * @param server
-     * @throws RemoteException
-     */
-    protected static void registerServer( String namingURL, Remote server )
-        throws RemoteException
-    {
-        if ( server == null )
-        {
-            throw new RemoteException( "Cannot register the server until it is created." );
-        }
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Binding server to " + namingURL );
-        }
-
-        try
-        {
-            Naming.rebind( namingURL, server );
-        }
-        catch ( MalformedURLException ex )
-        {
-            // impossible case.
-            throw new IllegalArgumentException( ex.getMessage() + "; url=" + namingURL );
-        }
-    }
-
-    /**
-     * Configure.
-     * <p>
-     * jcs.remotecache.serverattributes.ATTRIBUTENAME=ATTRIBUTEVALUE
-     * <p>
-     * @param prop
-     * @return RemoteCacheServerAttributesconfigureRemoteCacheServerAttributes
-     */
-    protected static RemoteCacheServerAttributes configureRemoteCacheServerAttributes( Properties prop )
-    {
-        RemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
-
-        // configure automatically
-        PropertySetter.setProperties( rcsa, prop, CACHE_SERVER_ATTRIBUTES_PROPERTY_PREFIX + "." );
-
-        configureManuallyIfValuesArePresent( prop, rcsa );
-
-        return rcsa;
-    }
-
-    /**
-     * This looks for the old config values.
-     * <p>
-     * @param prop
-     * @param rcsa
-     */
-    private static void configureManuallyIfValuesArePresent( Properties prop, RemoteCacheServerAttributes rcsa )
-    {
-        // DEPRECATED CONFIG
-        String servicePortStr = prop.getProperty( REMOTE_CACHE_SERVICE_PORT );
-        if ( servicePortStr != null )
-        {
-            try
-            {
-                int servicePort = Integer.parseInt( servicePortStr );
-                rcsa.setServicePort( servicePort );
-                log.debug( "Remote cache service uses port number " + servicePort + "." );
-            }
-            catch ( NumberFormatException ignore )
-            {
-                log.debug( "Remote cache service port property " + REMOTE_CACHE_SERVICE_PORT
-                    + " not specified.  An anonymous port will be used." );
-            }
-        }
-
-        String socketTimeoutMillisStr = prop.getProperty( SOCKET_TIMEOUT_MILLIS );
-        if ( socketTimeoutMillisStr != null )
-        {
-            try
-            {
-                int rmiSocketFactoryTimeoutMillis = Integer.parseInt( socketTimeoutMillisStr );
-                rcsa.setRmiSocketFactoryTimeoutMillis( rmiSocketFactoryTimeoutMillis );
-                log.debug( "Remote cache socket timeout " + rmiSocketFactoryTimeoutMillis + "ms." );
-            }
-            catch ( NumberFormatException ignore )
-            {
-                log.debug( "Remote cache socket timeout property " + SOCKET_TIMEOUT_MILLIS
-                    + " not specified.  The default will be used." );
-            }
-        }
-
-        String lccStr = prop.getProperty( REMOTE_LOCAL_CLUSTER_CONSISTENCY );
-        if ( lccStr != null )
-        {
-            boolean lcc = Boolean.parseBoolean( lccStr );
-            rcsa.setLocalClusterConsistency( lcc );
-        }
-
-        String acgStr = prop.getProperty( REMOTE_ALLOW_CLUSTER_GET );
-        if ( acgStr != null )
-        {
-            boolean acg = Boolean.parseBoolean( lccStr );
-            rcsa.setAllowClusterGet( acg );
-        }
-
-        // Register the RemoteCacheServer remote object in the registry.
-        rcsa.setRemoteServiceName( prop.getProperty( REMOTE_CACHE_SERVICE_NAME, REMOTE_CACHE_SERVICE_VAL ).trim() );
-    }
-
-    /**
-     * Unbinds the remote server.
-     * <p>
-     * @param host
-     * @param port
-     * @throws IOException
-     */
-    static void shutdownImpl( String host, int port )
-        throws IOException
-    {
-        synchronized ( RemoteCacheServer.class )
-        {
-            if ( remoteCacheServer == null )
-            {
-                return;
-            }
-            log.info( "Unbinding host=" + host + ", port=" + port + ", serviceName=" + getServiceName() );
-            try
-            {
-                Naming.unbind( RemoteUtils.getNamingURL(host, port, getServiceName()) );
-            }
-            catch ( MalformedURLException ex )
-            {
-                // impossible case.
-                throw new IllegalArgumentException( ex.getMessage() + "; host=" + host + ", port=" + port
-                    + ", serviceName=" + getServiceName() );
-            }
-            catch ( NotBoundException ex )
-            {
-                // ignore.
-            }
-            remoteCacheServer.release();
-            remoteCacheServer = null;
-
-            // Shut down keepalive scheduler
-            if ( keepAliveDaemon != null )
-            {
-                keepAliveDaemon.shutdownNow();
-                keepAliveDaemon = null;
-            }
-
-            // Try to release registry
-            if (registry != null)
-            {
-            	UnicastRemoteObject.unexportObject(registry, true);
-            	registry = null;
-            }
-        }
-    }
-
-    /**
-     * Creates an local RMI registry on the default port, starts up the remote cache server, and
-     * binds it to the registry.
-     * <p>
-     * A remote cache is either a local cache or a cluster cache.
-     * <p>
-     * @param args The command line arguments
-     * @throws Exception
-     */
-    public static void main( String[] args )
-        throws Exception
-    {
-        Properties prop = args.length > 0 ? RemoteUtils.loadProps( args[args.length - 1] ) : new Properties();
-
-        int port;
-        try
-        {
-            port = Integer.parseInt( prop.getProperty( "registry.port" ) );
-        }
-        catch ( NumberFormatException ex )
-        {
-            port = Registry.REGISTRY_PORT;
-        }
-
-        // shutdown
-        if ( args.length > 0 && args[0].toLowerCase().indexOf( "-shutdown" ) != -1 )
-        {
-            String remoteServiceName = prop.getProperty( REMOTE_CACHE_SERVICE_NAME, REMOTE_CACHE_SERVICE_VAL ).trim();
-            String registry = RemoteUtils.getNamingURL("", port, remoteServiceName);
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "looking up server " + registry );
-            }
-            Object obj = Naming.lookup( registry );
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "server found" );
-            }
-            ICacheServiceAdmin admin = (ICacheServiceAdmin) obj;
-            try
-            {
-                admin.shutdown();
-            }
-            catch ( Exception ex )
-            {
-                log.error( "Problem calling shutdown.", ex );
-            }
-            log.debug( "done." );
-            System.exit( 0 );
-        }
-
-        // STATS
-        if ( args.length > 0 && args[0].toLowerCase().indexOf( "-stats" ) != -1 )
-        {
-
-            log.debug( "getting cache stats" );
-
-            try
-            {
-                String sz = prop.getProperty( REMOTE_CACHE_SERVICE_NAME, REMOTE_CACHE_SERVICE_VAL ).trim();
-                String registry = RemoteUtils.getNamingURL("", port, sz);
-                log.debug( "looking up server " + registry );
-                Object obj = Naming.lookup( registry );
-                log.debug( "server found" );
-
-                log.debug( "obj = " + obj );
-                ICacheServiceAdmin admin = (ICacheServiceAdmin) obj;
-
-                try
-                {
-//                    System.out.println( admin.getStats().toString() );
-                    log.debug( admin.getStats() );
-                }
-                catch ( Exception es )
-                {
-                    log.error( es );
-                }
-
-            }
-            catch ( Exception ex )
-            {
-                log.error( "Problem getting stats.", ex );
-            }
-            log.debug( "done." );
-            System.exit( 0 );
-        }
-
-        // startup.
-        String host = prop.getProperty( "registry.host" );
-
-        if ( host == null || host.trim().equals( "" ) || host.trim().equals( "localhost" ) )
-        {
-            log.debug( "main> creating registry on the localhost" );
-            RemoteUtils.createRegistry( port );
-        }
-        log.debug( "main> starting up RemoteCacheServer" );
-        RemoteCacheServerFactory.startup( host, port, args.length > 0 ? args[0] : null );
-        log.debug( "main> done" );
-    }
-
-    /**
-     * @param serviceName the serviceName to set
-     */
-    protected static void setServiceName( String serviceName )
-    {
-        RemoteCacheServerFactory.serviceName = serviceName;
-    }
-
-    /**
-     * @return the serviceName
-     */
-    protected static String getServiceName()
-    {
-        return serviceName;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheStartupServlet.java b/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheStartupServlet.java
deleted file mode 100644
index e20b1d1..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheStartupServlet.java
+++ /dev/null
@@ -1,216 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.engine.control.CompositeCacheManager;
-import org.apache.commons.jcs.utils.net.HostNameUtil;
-import org.apache.commons.jcs.utils.props.PropertyLoader;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.UnknownHostException;
-import java.util.Properties;
-
-/**
- * This servlet can be used to startup the JCS remote cache. It is easy to deploy the remote server
- * in a tomcat base. This give you an easy way to monitor its activity.
- * <p>
- * <code>
- *  <servlet>
-        <servlet-name>JCSRemoteCacheStartupServlet</servlet-name>
-        <servlet-class>
-             org.apache.commons.jcs.auxiliary.remote.server.RemoteCacheStartupServlet
-        </servlet-class>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-
-
-    <servlet-mapping>
-        <servlet-name>JCSRemoteCacheStartupServlet</servlet-name>
-        <url-pattern>/jcs</url-pattern>
-    </servlet-mapping>
- * </code>
- * @author Aaron Smuts
- */
-public class RemoteCacheStartupServlet
-    extends HttpServlet
-{
-    /** Don't change */
-    private static final long serialVersionUID = 1L;
-
-    /** The logger */
-    private static final Log log = LogFactory.getLog( RemoteCacheStartupServlet.class );
-
-    /** The default port to start the registry on.  */
-    private static final int DEFAULT_REGISTRY_PORT = 1101;
-
-    /** properties file name */
-    private static final String DEFAULT_PROPS_FILE_NAME = "cache";
-
-    /** properties file Suffix */
-    private static final String DEFAULT_PROPS_FILE_SUFFIX = "ccf";
-
-    /** properties file name, must set prior to calling get instance */
-    private final String propsFileName = DEFAULT_PROPS_FILE_NAME;
-
-    /** properties file name, must set prior to calling get instance */
-    private final String fullPropsFileName = DEFAULT_PROPS_FILE_NAME + "." + DEFAULT_PROPS_FILE_SUFFIX;
-
-    /**
-     * Starts the registry and then tries to bind to it.
-     * <p>
-     * Gets the port from a props file. Uses the local host name for the registry host. Tries to
-     * start the registry, ignoring failure. Starts the server.
-     * <p>
-     * @throws ServletException
-     */
-    @Override
-    public void init()
-        throws ServletException
-    {
-        super.init();
-        // TODO load from props file or get as init param or get from jndi, or
-        // all three
-        int registryPort = DEFAULT_REGISTRY_PORT;
-
-        Properties props = PropertyLoader.loadProperties( propsFileName );
-        if ( props != null )
-        {
-            String portS = props.getProperty( "registry.port", String.valueOf( DEFAULT_REGISTRY_PORT ) );
-
-            try
-            {
-                registryPort = Integer.parseInt( portS );
-            }
-            catch ( NumberFormatException e )
-            {
-                log.error( "Problem converting port to an int.", e );
-            }
-        }
-
-        // we will always use the local machine for the registry
-        String registryHost;
-        try
-        {
-            registryHost = HostNameUtil.getLocalHostAddress();
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "registryHost = [" + registryHost + "]" );
-            }
-
-            if ( "localhost".equals( registryHost ) || "127.0.0.1".equals( registryHost ) )
-            {
-                log.warn( "The local address [" + registryHost
-                    + "] is INVALID.  Other machines must be able to use the address to reach this server." );
-            }
-
-            try
-            {
-                RemoteCacheServerFactory.startup( registryHost, registryPort, "/" + fullPropsFileName );
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Remote JCS Server started with properties from " + fullPropsFileName );
-                }
-            }
-            catch ( IOException e )
-            {
-                log.error( "Problem starting remote cache server.", e );
-            }
-        }
-        catch ( UnknownHostException e )
-        {
-            log.error( "Could not get local address to use for the registry!", e );
-        }
-    }
-
-    /**
-     * It just dumps the stats.
-     * <p>
-     * @param request
-     * @param response
-     * @throws ServletException
-     * @throws IOException
-     */
-    @Override
-    protected void service( HttpServletRequest request, HttpServletResponse response )
-        throws ServletException, IOException
-    {
-        String stats = "";
-
-        try
-        {
-            stats = CompositeCacheManager.getInstance().getStats();
-        }
-        catch (CacheException e)
-        {
-            throw new ServletException(e);
-        }
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( stats );
-        }
-
-        try
-        {
-            String characterEncoding = response.getCharacterEncoding();
-            if (characterEncoding == null)
-            {
-                characterEncoding = "UTF-8";
-                response.setCharacterEncoding(characterEncoding);
-            }
-            OutputStream os = response.getOutputStream();
-            os.write( stats.getBytes(characterEncoding) );
-            os.close();
-        }
-        catch ( IOException e )
-        {
-            log.error( "Problem writing response.", e );
-        }
-    }
-
-    /**
-     * shuts the cache down.
-     */
-    @Override
-    public void destroy()
-    {
-        super.destroy();
-
-        log.info( "Shutting down remote cache " );
-
-        try
-        {
-            CompositeCacheManager.getInstance().shutDown();
-        }
-        catch (CacheException e)
-        {
-            log.error("Could not retrieve cache manager instance", e);
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java b/src/org/apache/commons/jcs/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java
deleted file mode 100644
index 7d1f31a..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.server;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.net.InetSocketAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.rmi.server.RMISocketFactory;
-
-/**
- * This can be injected into the the remote cache server as follows:
- *
- * <pre>
- * jcs.remotecache.customrmisocketfactory=org.apache.commons.jcs.auxiliary.remote.server.TimeoutConfigurableRMISocketFactory
- * jcs.remotecache.customrmisocketfactory.readTimeout=5000
- * jcs.remotecache.customrmisocketfactory.openTimeout=5000
- * </pre>
- */
-public class TimeoutConfigurableRMISocketFactory
-    extends RMISocketFactory
-    implements Serializable
-{
-    /** Don't change. */
-    private static final long serialVersionUID = 1489909775271203334L;
-
-    /** The socket read timeout */
-    private int readTimeout = 5000;
-
-    /** The socket open timeout */
-    private int openTimeout = 5000;
-
-    /**
-     * @param port
-     * @return ServerSocket
-     * @throws IOException
-     */
-    @Override
-    public ServerSocket createServerSocket( int port )
-        throws IOException
-    {
-        return new ServerSocket( port );
-    }
-
-    /**
-     * @param host
-     * @param port
-     * @return Socket
-     * @throws IOException
-     */
-    @Override
-    public Socket createSocket( String host, int port )
-        throws IOException
-    {
-        Socket socket = new Socket();
-        socket.setSoTimeout( readTimeout );
-        socket.setSoLinger( false, 0 );
-        socket.connect( new InetSocketAddress( host, port ), openTimeout );
-        return socket;
-    }
-
-    /**
-     * @param readTimeout the readTimeout to set
-     */
-    public void setReadTimeout( int readTimeout )
-    {
-        this.readTimeout = readTimeout;
-    }
-
-    /**
-     * @return the readTimeout
-     */
-    public int getReadTimeout()
-    {
-        return readTimeout;
-    }
-
-    /**
-     * @param openTimeout the openTimeout to set
-     */
-    public void setOpenTimeout( int openTimeout )
-    {
-        this.openTimeout = openTimeout;
-    }
-
-    /**
-     * @return the openTimeout
-     */
-    public int getOpenTimeout()
-    {
-        return openTimeout;
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/server/behavior/IRemoteCacheServer.java b/src/org/apache/commons/jcs/auxiliary/remote/server/behavior/IRemoteCacheServer.java
deleted file mode 100644
index 8799b5a..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/server/behavior/IRemoteCacheServer.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.server.behavior;
-
-import java.rmi.Remote;
-import org.apache.commons.jcs.engine.behavior.ICacheObserver;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceAdmin;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Interface for managing Remote objects
- *
- * @author Thomas Vandahl
- *
- */
-public interface IRemoteCacheServer<K, V>
-    extends ICacheServiceNonLocal<K, V>, ICacheObserver, ICacheServiceAdmin, Remote
-{
-    // empty
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/server/behavior/IRemoteCacheServerAttributes.java b/src/org/apache/commons/jcs/auxiliary/remote/server/behavior/IRemoteCacheServerAttributes.java
deleted file mode 100644
index 2f968dc..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/server/behavior/IRemoteCacheServerAttributes.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.server.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.behavior.ICommonRemoteCacheAttributes;
-
-/**
- * This defines the minimal behavior for the objects that are used to configure
- * the remote cache server.
- */
-public interface IRemoteCacheServerAttributes
-    extends ICommonRemoteCacheAttributes
-{
-    /**
-     * Gets the localPort attribute of the IRemoteCacheAttributes object.
-     * <p>
-     * @return The localPort value
-     */
-    int getServicePort();
-
-    /**
-     * Sets the localPort attribute of the IRemoteCacheAttributes object.
-     * <p>
-     * @param p
-     *            The new localPort value
-     */
-    void setServicePort( int p );
-
-    /**
-     * Should we try to get remotely when the request does not come in from a
-     * cluster. If local L1 asks remote server R1 for element A and R1 doesn't
-     * have it, should R1 look remotely? The difference is between a local and a
-     * remote update. The local update stays local. Normal updates, removes,
-     * etc, stay local when they come from a client. If this is set to true,
-     * then they can go remote.
-     * <p>
-     * @return The localClusterConsistency value
-     */
-    boolean isAllowClusterGet();
-
-    /**
-     * Should cluster updates be propagated to the locals.
-     * <p>
-     * @param r
-     *            The new localClusterConsistency value
-     */
-    void setAllowClusterGet( boolean r );
-
-    /**
-     * Gets the ConfigFileName attribute of the IRemoteCacheAttributes object.
-     * <p>
-     * @return The clusterServers value
-     */
-    String getConfigFileName();
-
-    /**
-     * Sets the ConfigFileName attribute of the IRemoteCacheAttributes object.
-     * <p>
-     * @param s
-     *            The new clusterServers value
-     */
-    void setConfigFileName( String s );
-
-    /**
-     * Should we try to keep the registry alive
-     * <p>
-     * @param useRegistryKeepAlive the useRegistryKeepAlive to set
-     */
-    void setUseRegistryKeepAlive( boolean useRegistryKeepAlive );
-
-    /**
-     * Should we start the registry
-     * <p>
-     * @param startRegistry the startRegistry to set
-     */
-    void setStartRegistry( boolean startRegistry );
-
-    /**
-     * Should we start the registry
-     * <p>
-     * @return the startRegistry
-     */
-    boolean isStartRegistry();
-
-    /**
-     * Should we try to keep the registry alive
-     * <p>
-     * @return the useRegistryKeepAlive
-     */
-    boolean isUseRegistryKeepAlive();
-
-    /**
-     * @param registryKeepAliveDelayMillis the registryKeepAliveDelayMillis to set
-     */
-    void setRegistryKeepAliveDelayMillis( long registryKeepAliveDelayMillis );
-
-    /**
-     * @return the registryKeepAliveDelayMillis
-     */
-    long getRegistryKeepAliveDelayMillis();
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/server/behavior/RemoteType.java b/src/org/apache/commons/jcs/auxiliary/remote/server/behavior/RemoteType.java
deleted file mode 100644
index 31c7cbf..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/server/behavior/RemoteType.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.server.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Enum to describe the mode of the remote cache
- */
-public enum RemoteType
-{
-    /** A remote cache is either a local cache or a cluster cache */
-    LOCAL,
-
-    /** A remote cache is either a local cache or a cluster cache */
-    CLUSTER
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/util/RemoteCacheRequestFactory.java b/src/org/apache/commons/jcs/auxiliary/remote/util/RemoteCacheRequestFactory.java
deleted file mode 100644
index 78c3941..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/util/RemoteCacheRequestFactory.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.util;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteCacheRequest;
-import org.apache.commons.jcs.auxiliary.remote.value.RemoteRequestType;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.util.Set;
-
-/**
- * This creates request objects. You could write your own client and use the objects from this
- * factory.
- */
-public class RemoteCacheRequestFactory
-{
-    /** The Logger. */
-    private static final Log log = LogFactory.getLog( RemoteCacheRequestFactory.class );
-
-    /**
-     * Creates a get Request.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @return RemoteHttpCacheRequest
-     */
-    public static <K, V> RemoteCacheRequest<K, V> createGetRequest( String cacheName, K key, long requesterId )
-    {
-        RemoteCacheRequest<K, V> request = new RemoteCacheRequest<K, V>();
-        request.setCacheName( cacheName );
-        request.setKey( key );
-        request.setRequesterId( requesterId );
-        request.setRequestType( RemoteRequestType.GET );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Created: " + request );
-        }
-
-        return request;
-    }
-
-    /**
-     * Creates a getMatching Request.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @param requesterId
-     * @return RemoteHttpCacheRequest
-     */
-    public static <K, V> RemoteCacheRequest<K, V> createGetMatchingRequest( String cacheName, String pattern, long requesterId )
-    {
-        RemoteCacheRequest<K, V> request = new RemoteCacheRequest<K, V>();
-        request.setCacheName( cacheName );
-        request.setPattern( pattern );
-        request.setRequesterId( requesterId );
-        request.setRequestType( RemoteRequestType.GET_MATCHING );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Created: " + request );
-        }
-
-        return request;
-    }
-
-    /**
-     * Creates a getMultiple Request.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @param requesterId
-     * @return RemoteHttpCacheRequest
-     */
-    public static <K, V> RemoteCacheRequest<K, V> createGetMultipleRequest( String cacheName, Set<K> keys, long requesterId )
-    {
-        RemoteCacheRequest<K, V> request = new RemoteCacheRequest<K, V>();
-        request.setCacheName( cacheName );
-        request.setKeySet( keys );
-        request.setRequesterId( requesterId );
-        request.setRequestType( RemoteRequestType.GET_MULTIPLE );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Created: " + request );
-        }
-
-        return request;
-    }
-
-    /**
-     * Creates a remove Request.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @return RemoteHttpCacheRequest
-     */
-    public static <K, V> RemoteCacheRequest<K, V> createRemoveRequest( String cacheName, K key, long requesterId )
-    {
-        RemoteCacheRequest<K, V> request = new RemoteCacheRequest<K, V>();
-        request.setCacheName( cacheName );
-        request.setKey( key );
-        request.setRequesterId( requesterId );
-        request.setRequestType( RemoteRequestType.REMOVE );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Created: " + request );
-        }
-
-        return request;
-    }
-
-    /**
-     * Creates a GetKeySet Request.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @return RemoteHttpCacheRequest
-     */
-    public static RemoteCacheRequest<String, String> createGetKeySetRequest( String cacheName, long requesterId )
-    {
-        RemoteCacheRequest<String, String> request = new RemoteCacheRequest<String, String>();
-        request.setCacheName( cacheName );
-        request.setKey( cacheName );
-        request.setRequesterId( requesterId );
-        request.setRequestType( RemoteRequestType.GET_KEYSET );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Created: " + request );
-        }
-
-        return request;
-    }
-
-    /**
-     * Creates a removeAll Request.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @return RemoteHttpCacheRequest
-     */
-    public static <K, V> RemoteCacheRequest<K, V> createRemoveAllRequest( String cacheName, long requesterId )
-    {
-        RemoteCacheRequest<K, V> request = new RemoteCacheRequest<K, V>();
-        request.setCacheName( cacheName );
-        request.setRequesterId( requesterId );
-        request.setRequestType( RemoteRequestType.REMOVE_ALL );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Created: " + request );
-        }
-
-        return request;
-    }
-
-    /**
-     * Creates a dispose Request.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @return RemoteHttpCacheRequest
-     */
-    public static <K, V> RemoteCacheRequest<K, V> createDisposeRequest( String cacheName, long requesterId )
-    {
-        RemoteCacheRequest<K, V> request = new RemoteCacheRequest<K, V>();
-        request.setCacheName( cacheName );
-        request.setRequesterId( requesterId );
-        request.setRequestType( RemoteRequestType.DISPOSE );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Created: " + request );
-        }
-
-        return request;
-    }
-
-    /**
-     * Creates an Update Request.
-     * <p>
-     * @param cacheElement
-     * @param requesterId
-     * @return RemoteHttpCacheRequest
-     */
-    public static <K, V> RemoteCacheRequest<K, V> createUpdateRequest( ICacheElement<K, V> cacheElement, long requesterId )
-    {
-        RemoteCacheRequest<K, V> request = new RemoteCacheRequest<K, V>();
-        if ( cacheElement != null )
-        {
-            request.setCacheName( cacheElement.getCacheName() );
-            request.setCacheElement( cacheElement );
-            request.setKey( cacheElement.getKey() );
-        }
-        else
-        {
-            log.error( "Can't create a proper update request for a null cache element." );
-        }
-        request.setRequesterId( requesterId );
-        request.setRequestType( RemoteRequestType.UPDATE );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Created: " + request );
-        }
-
-        return request;
-    }
-
-    /**
-     * Creates an alive check Request.
-     * <p>
-     * @param requesterId
-     * @return RemoteHttpCacheRequest
-     */
-    public static <K, V> RemoteCacheRequest<K, V> createAliveCheckRequest( long requesterId )
-    {
-        RemoteCacheRequest<K, V> request = new RemoteCacheRequest<K, V>();
-        request.setRequesterId( requesterId );
-        request.setRequestType( RemoteRequestType.ALIVE_CHECK );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Created: " + request );
-        }
-
-        return request;
-    }
-
-
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/value/RemoteCacheRequest.java b/src/org/apache/commons/jcs/auxiliary/remote/value/RemoteCacheRequest.java
deleted file mode 100644
index b99ef2d..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/value/RemoteCacheRequest.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.value;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-
-import java.io.Serializable;
-import java.util.Set;
-
-/**
- * The basic request wrapper. The different types of requests are differentiated by their types.
- * <p>
- * Rather than creating sub object types, I created on object that has values for all types of
- * requests.
- */
-public class RemoteCacheRequest<K, V>
-    implements Serializable
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -8858447417390442569L;
-
-    /** The request type specifies the type of request: get, put, remove, . . */
-    private RemoteRequestType requestType = null;
-
-    /** Used to identify the source. Same as listener id on the client side. */
-    private long requesterId = 0;
-
-    /** The name of the region */
-    private String cacheName;
-
-    /** The key, if this request has a key. */
-    private K key;
-
-    /** The keySet, if this request has a keySet. Only getMultiple requests. */
-    private Set<K> keySet;
-
-    /** The pattern, if this request uses a pattern. Only getMatching requests. */
-    private String pattern;
-
-    /** The ICacheEleemnt, if this request contains a value. Only update requests will have this. */
-    private ICacheElement<K, V> cacheElement;
-
-    /**
-     * @param requestType the requestType to set
-     */
-    public void setRequestType( RemoteRequestType requestType )
-    {
-        this.requestType = requestType;
-    }
-
-    /**
-     * @return the requestType
-     */
-    public RemoteRequestType getRequestType()
-    {
-        return requestType;
-    }
-
-    /**
-     * @param cacheName the cacheName to set
-     */
-    public void setCacheName( String cacheName )
-    {
-        this.cacheName = cacheName;
-    }
-
-    /**
-     * @return the cacheName
-     */
-    public String getCacheName()
-    {
-        return cacheName;
-    }
-
-    /**
-     * @param key the key to set
-     */
-    public void setKey( K key )
-    {
-        this.key = key;
-    }
-
-    /**
-     * @return the key
-     */
-    public K getKey()
-    {
-        return key;
-    }
-
-    /**
-     * @param pattern the pattern to set
-     */
-    public void setPattern( String pattern )
-    {
-        this.pattern = pattern;
-    }
-
-    /**
-     * @return the pattern
-     */
-    public String getPattern()
-    {
-        return pattern;
-    }
-
-    /**
-     * @param cacheElement the cacheElement to set
-     */
-    public void setCacheElement( ICacheElement<K, V> cacheElement )
-    {
-        this.cacheElement = cacheElement;
-    }
-
-    /**
-     * @return the cacheElement
-     */
-    public ICacheElement<K, V> getCacheElement()
-    {
-        return cacheElement;
-    }
-
-    /**
-     * @param requesterId the requesterId to set
-     */
-    public void setRequesterId( long requesterId )
-    {
-        this.requesterId = requesterId;
-    }
-
-    /**
-     * @return the requesterId
-     */
-    public long getRequesterId()
-    {
-        return requesterId;
-    }
-
-    /**
-     * @param keySet the keySet to set
-     */
-    public void setKeySet( Set<K> keySet )
-    {
-        this.keySet = keySet;
-    }
-
-    /**
-     * @return the keySet
-     */
-    public Set<K> getKeySet()
-    {
-        return keySet;
-    }
-
-    /** @return string */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\nRemoteHttpCacheRequest" );
-        buf.append( "\n requesterId [" + getRequesterId() + "]" );
-        buf.append( "\n requestType [" + getRequestType() + "]" );
-        buf.append( "\n cacheName [" + getCacheName() + "]" );
-        buf.append( "\n key [" + getKey() + "]" );
-        buf.append( "\n keySet [" + getKeySet() + "]" );
-        buf.append( "\n pattern [" + getPattern() + "]" );
-        buf.append( "\n cacheElement [" + getCacheElement() + "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/value/RemoteCacheResponse.java b/src/org/apache/commons/jcs/auxiliary/remote/value/RemoteCacheResponse.java
deleted file mode 100644
index aaa94f3..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/value/RemoteCacheResponse.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.value;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-/**
- * This is the response wrapper. The servlet wraps all different type of responses in one of these
- * objects.
- */
-public class RemoteCacheResponse<T>
-    implements Serializable
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -8858447417390442568L;
-
-    /** Was the event processed without error */
-    private boolean success = true;
-
-    /** Simple error messaging */
-    private String errorMessage;
-
-    /**
-     * The payload. Typically a key / ICacheElement<K, V> map. A normal get will return a map with one
-     * record.
-     */
-    private T payload;
-
-    /**
-     * @param success the success to set
-     */
-    public void setSuccess( boolean success )
-    {
-        this.success = success;
-    }
-
-    /**
-     * @return the success
-     */
-    public boolean isSuccess()
-    {
-        return success;
-    }
-
-    /**
-     * @param errorMessage the errorMessage to set
-     */
-    public void setErrorMessage( String errorMessage )
-    {
-        this.errorMessage = errorMessage;
-    }
-
-    /**
-     * @return the errorMessage
-     */
-    public String getErrorMessage()
-    {
-        return errorMessage;
-    }
-
-    /**
-     * @param payload the payload to set
-     */
-    public void setPayload( T payload )
-    {
-        this.payload = payload;
-    }
-
-    /**
-     * @return the payload
-     */
-    public T getPayload()
-    {
-        return payload;
-    }
-
-    /** @return string */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\nRemoteHttpCacheResponse" );
-        buf.append( "\n success [" + isSuccess() + "]" );
-        buf.append( "\n payload [" + getPayload() + "]" );
-        buf.append( "\n errorMessage [" + getErrorMessage() + "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/auxiliary/remote/value/RemoteRequestType.java b/src/org/apache/commons/jcs/auxiliary/remote/value/RemoteRequestType.java
deleted file mode 100644
index ea6d4e1..0000000
--- a/src/org/apache/commons/jcs/auxiliary/remote/value/RemoteRequestType.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.commons.jcs.auxiliary.remote.value;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * The different types of requests
- */
-public enum RemoteRequestType
-{
-    /** Alive check request type. */
-    ALIVE_CHECK,
-
-    /** Get request type. */
-    GET,
-
-    /** Get Multiple request type. */
-    GET_MULTIPLE,
-
-    /** Get Matching request type. */
-    GET_MATCHING,
-
-    /** Update request type. */
-    UPDATE,
-
-    /** Remove request type. */
-    REMOVE,
-
-    /** Remove All request type. */
-    REMOVE_ALL,
-
-    /** Get keys request type. */
-    GET_KEYSET,
-
-    /** Dispose request type. */
-    DISPOSE,
-}
diff --git a/src/org/apache/commons/jcs/engine/AbstractCacheEventQueue.java b/src/org/apache/commons/jcs/engine/AbstractCacheEventQueue.java
deleted file mode 100644
index e421843..0000000
--- a/src/org/apache/commons/jcs/engine/AbstractCacheEventQueue.java
+++ /dev/null
@@ -1,499 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheEventQueue;
-import org.apache.commons.jcs.engine.behavior.ICacheListener;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-
-/**
- * An abstract base class to the different implementations
- */
-public abstract class AbstractCacheEventQueue<K, V>
-    implements ICacheEventQueue<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( AbstractCacheEventQueue.class );
-
-    /** default */
-    protected static final int DEFAULT_WAIT_TO_DIE_MILLIS = 10000;
-
-    /**
-     * time to wait for an event before snuffing the background thread if the queue is empty. make
-     * configurable later
-     */
-    private int waitToDieMillis = DEFAULT_WAIT_TO_DIE_MILLIS;
-
-    // TODO privatise the fields
-
-    /**
-     * When the events are pulled off the queue, the tell the listener to handle the specific event
-     * type. The work is done by the listener.
-     */
-    protected ICacheListener<K, V> listener;
-
-    /** Id of the listener registered with this queue */
-    protected long listenerId;
-
-    /** The cache region name, if applicable. */
-    protected String cacheName;
-
-    /** Maximum number of failures before we buy the farm. */
-    protected int maxFailure;
-
-    /** in milliseconds */
-    protected int waitBeforeRetry;
-
-    /** this is true if there is no worker thread. */
-    protected boolean destroyed = true;
-
-    /**
-     * This means that the queue is functional. If we reached the max number of failures, the queue
-     * is marked as non functional and will never work again.
-     */
-    private boolean working = true;
-
-    /**
-     * Returns the time to wait for events before killing the background thread.
-     * <p>
-     * @return int
-     */
-    public int getWaitToDieMillis()
-    {
-        return waitToDieMillis;
-    }
-
-    /**
-     * Sets the time to wait for events before killing the background thread.
-     * <p>
-     * @param wtdm the ms for the q to sit idle.
-     */
-    public void setWaitToDieMillis( int wtdm )
-    {
-        waitToDieMillis = wtdm;
-    }
-
-    /**
-     * Creates a brief string identifying the listener and the region.
-     * <p>
-     * @return String debugging info.
-     */
-    @Override
-    public String toString()
-    {
-        return "CacheEventQueue [listenerId=" + listenerId + ", cacheName=" + cacheName + "]";
-    }
-
-    /**
-     * If they queue has an active thread it is considered alive.
-     * <p>
-     * @return The alive value
-     */
-    @Override
-    public synchronized boolean isAlive()
-    {
-        return !destroyed;
-    }
-
-    /**
-     * Sets whether the queue is actively processing -- if there are working threads.
-     * <p>
-     * @param aState
-     */
-    public synchronized void setAlive( boolean aState )
-    {
-        destroyed = !aState;
-    }
-
-    /**
-     * @return The listenerId value
-     */
-    @Override
-    public long getListenerId()
-    {
-        return listenerId;
-    }
-
-    /**
-     * This adds a put event to the queue. When it is processed, the element will be put to the
-     * listener.
-     * <p>
-     * @param ce The feature to be added to the PutEvent attribute
-     * @throws IOException
-     */
-    @Override
-    public synchronized void addPutEvent( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        if ( isWorking() )
-        {
-            put( new PutEvent( ce ) );
-        }
-        else
-        {
-            if ( log.isWarnEnabled() )
-            {
-                log.warn( "Not enqueuing Put Event for [" + this + "] because it's non-functional." );
-            }
-        }
-    }
-
-    /**
-     * This adds a remove event to the queue. When processed the listener's remove method will be
-     * called for the key.
-     * <p>
-     * @param key The feature to be added to the RemoveEvent attribute
-     * @throws IOException
-     */
-    @Override
-    public synchronized void addRemoveEvent( K key )
-        throws IOException
-    {
-        if ( isWorking() )
-        {
-            put( new RemoveEvent( key ) );
-        }
-        else
-        {
-            if ( log.isWarnEnabled() )
-            {
-                log.warn( "Not enqueuing Remove Event for [" + this + "] because it's non-functional." );
-            }
-        }
-    }
-
-    /**
-     * This adds a remove all event to the queue. When it is processed, all elements will be removed
-     * from the cache.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public synchronized void addRemoveAllEvent()
-        throws IOException
-    {
-        if ( isWorking() )
-        {
-            put( new RemoveAllEvent() );
-        }
-        else
-        {
-            if ( log.isWarnEnabled() )
-            {
-                log.warn( "Not enqueuing RemoveAll Event for [" + this + "] because it's non-functional." );
-            }
-        }
-    }
-
-    /**
-     * @throws IOException
-     */
-    @Override
-    public synchronized void addDisposeEvent()
-        throws IOException
-    {
-        if ( isWorking() )
-        {
-            put( new DisposeEvent() );
-        }
-        else
-        {
-            if ( log.isWarnEnabled() )
-            {
-                log.warn( "Not enqueuing Dispose Event for [" + this + "] because it's non-functional." );
-            }
-        }
-    }
-
-    /**
-     * Adds an event to the queue.
-     * <p>
-     * @param event
-     */
-    protected abstract void put( AbstractCacheEvent event );
-
-
-    // /////////////////////////// Inner classes /////////////////////////////
-
-    /** The queue is composed of nodes. */
-    protected static class Node
-    {
-        /** Next node in the singly linked list. */
-        Node next = null;
-
-        /** The payload. */
-        AbstractCacheEventQueue<?, ?>.AbstractCacheEvent event = null;
-    }
-
-    /**
-     * Retries before declaring failure.
-     * <p>
-     * @author asmuts
-     */
-    protected abstract class AbstractCacheEvent
-        implements Runnable
-    {
-        /** Number of failures encountered processing this event. */
-        int failures = 0;
-
-        /**
-         * Main processing method for the AbstractCacheEvent object
-         */
-        @SuppressWarnings("synthetic-access")
-        @Override
-        public void run()
-        {
-            try
-            {
-                doRun();
-            }
-            catch ( IOException e )
-            {
-                if ( log.isWarnEnabled() )
-                {
-                    log.warn( e );
-                }
-                if ( ++failures >= maxFailure )
-                {
-                    if ( log.isWarnEnabled() )
-                    {
-                        log.warn( "Error while running event from Queue: " + this
-                            + ". Dropping Event and marking Event Queue as non-functional." );
-                    }
-                    setWorking( false );
-                    setAlive( false );
-                    return;
-                }
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Error while running event from Queue: " + this + ". Retrying..." );
-                }
-                try
-                {
-                    Thread.sleep( waitBeforeRetry );
-                    run();
-                }
-                catch ( InterruptedException ie )
-                {
-                    if ( log.isErrorEnabled() )
-                    {
-                        log.warn( "Interrupted while sleeping for retry on event " + this + "." );
-                    }
-                    // TODO consider if this is best. maybe we should just
-                    // destroy
-                    setWorking( false );
-                    setAlive( false );
-                }
-            }
-        }
-
-        /**
-         * @throws IOException
-         */
-        protected abstract void doRun()
-            throws IOException;
-    }
-
-    /**
-     * An element should be put in the cache.
-     * <p>
-     * @author asmuts
-     */
-    protected class PutEvent
-        extends AbstractCacheEvent
-    {
-        /** The element to put to the listener */
-        private final ICacheElement<K, V> ice;
-
-        /**
-         * Constructor for the PutEvent object.
-         * <p>
-         * @param ice
-         * @throws IOException
-         */
-        PutEvent( ICacheElement<K, V> ice )
-            throws IOException
-        {
-            this.ice = ice;
-        }
-
-        /**
-         * Call put on the listener.
-         * <p>
-         * @throws IOException
-         */
-        @Override
-        protected void doRun()
-            throws IOException
-        {
-            listener.handlePut( ice );
-        }
-
-        /**
-         * For debugging.
-         * <p>
-         * @return Info on the key and value.
-         */
-        @Override
-        public String toString()
-        {
-            return new StringBuilder( "PutEvent for key: " ).append( ice.getKey() ).append( " value: " )
-                .append( ice.getVal() ).toString();
-        }
-
-    }
-
-    /**
-     * An element should be removed from the cache.
-     * <p>
-     * @author asmuts
-     */
-    protected class RemoveEvent
-        extends AbstractCacheEvent
-    {
-        /** The key to remove from the listener */
-        private final K key;
-
-        /**
-         * Constructor for the RemoveEvent object
-         * <p>
-         * @param key
-         * @throws IOException
-         */
-        RemoveEvent( K key )
-            throws IOException
-        {
-            this.key = key;
-        }
-
-        /**
-         * Call remove on the listener.
-         * <p>
-         * @throws IOException
-         */
-        @Override
-        protected void doRun()
-            throws IOException
-        {
-            listener.handleRemove( cacheName, key );
-        }
-
-        /**
-         * For debugging.
-         * <p>
-         * @return Info on the key to remove.
-         */
-        @Override
-        public String toString()
-        {
-            return new StringBuilder( "RemoveEvent for " ).append( key ).toString();
-        }
-
-    }
-
-    /**
-     * All elements should be removed from the cache when this event is processed.
-     * <p>
-     * @author asmuts
-     */
-    protected class RemoveAllEvent
-        extends AbstractCacheEvent
-    {
-        /**
-         * Call removeAll on the listener.
-         * <p>
-         * @throws IOException
-         */
-        @Override
-        protected void doRun()
-            throws IOException
-        {
-            listener.handleRemoveAll( cacheName );
-        }
-
-        /**
-         * For debugging.
-         * <p>
-         * @return The name of the event.
-         */
-        @Override
-        public String toString()
-        {
-            return "RemoveAllEvent";
-        }
-
-    }
-
-    /**
-     * The cache should be disposed when this event is processed.
-     * <p>
-     * @author asmuts
-     */
-    protected class DisposeEvent
-        extends AbstractCacheEvent
-    {
-        /**
-         * Called when gets to the end of the queue
-         * <p>
-         * @throws IOException
-         */
-        @Override
-        protected void doRun()
-            throws IOException
-        {
-            listener.handleDispose( cacheName );
-        }
-
-        /**
-         * For debugging.
-         * <p>
-         * @return The name of the event.
-         */
-        @Override
-        public String toString()
-        {
-            return "DisposeEvent";
-        }
-    }
-
-    /**
-     * @return whether the queue is functional.
-     */
-    @Override
-    public boolean isWorking()
-    {
-        return working;
-    }
-
-    /**
-     * This means that the queue is functional. If we reached the max number of failures, the queue
-     * is marked as non functional and will never work again.
-     * <p>
-     * @param b
-     */
-    public void setWorking( boolean b )
-    {
-        working = b;
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/CacheAdaptor.java b/src/org/apache/commons/jcs/engine/CacheAdaptor.java
deleted file mode 100644
index 7554a31..0000000
--- a/src/org/apache/commons/jcs/engine/CacheAdaptor.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICache;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheListener;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-
-/**
- * Used for Cache-to-Cache messaging purposes. These are used in the balking
- * facades in the lateral and remote caches.
- */
-public class CacheAdaptor<K, V>
-    implements ICacheListener<K, V>
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( CacheAdaptor.class );
-
-    /** The cache we are adapting. */
-    private final ICache<K, V> cache;
-
-    /** The unique id of this listener. */
-    private long listenerId = 0;
-
-    /**
-     * Sets the listenerId attribute of the CacheAdaptor object
-     * <p>
-     * @param id
-     *            The new listenerId value
-     * @throws IOException
-     */
-    @Override
-    public void setListenerId( long id )
-        throws IOException
-    {
-        this.listenerId = id;
-        log.debug( "listenerId = " + id );
-    }
-
-    /**
-     * Gets the listenerId attribute of the CacheAdaptor object
-     * <p>
-     * @return The listenerId value
-     * @throws IOException
-     */
-    @Override
-    public long getListenerId()
-        throws IOException
-    {
-        return this.listenerId;
-    }
-
-    /**
-     * Constructor for the CacheAdaptor object
-     * <p>
-     * @param cache
-     */
-    public CacheAdaptor( ICache<K, V> cache )
-    {
-        this.cache = cache;
-    }
-
-    /**
-     * Puts an item into the cache.
-     * <p>
-     * @param item
-     * @throws IOException
-     */
-    @Override
-    public void handlePut( ICacheElement<K, V> item )
-        throws IOException
-    {
-        try
-        {
-            cache.update( item );
-        }
-        catch ( Exception e )
-        {
-            // swallow
-        }
-    }
-
-    /**
-     * Removes an item.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @throws IOException
-     */
-    @Override
-    public void handleRemove( String cacheName, K key )
-        throws IOException
-    {
-        cache.remove( key );
-    }
-
-    /**
-     * Clears the region.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void handleRemoveAll( String cacheName )
-        throws IOException
-    {
-        cache.removeAll();
-    }
-
-    /**
-     * Shutdown call.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    @Override
-    public void handleDispose( String cacheName )
-        throws IOException
-    {
-        cache.dispose();
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/CacheConstants.java b/src/org/apache/commons/jcs/engine/CacheConstants.java
deleted file mode 100644
index 18ff42c..0000000
--- a/src/org/apache/commons/jcs/engine/CacheConstants.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Constants used throughout the JCS cache engine
- * <p>
- * @version $Id: CacheConstants.java 1590887 2014-04-29 07:07:32Z olamy $
- */
-public interface CacheConstants
-{
-    /** This is the name of the config file that we will look for by default. */
-    String DEFAULT_CONFIG = "/cache.ccf";
-
-    /** Delimiter of a cache name component. This is used for hierarchical deletion */
-    String NAME_COMPONENT_DELIMITER = ":";
-}
diff --git a/src/org/apache/commons/jcs/engine/CacheElement.java b/src/org/apache/commons/jcs/engine/CacheElement.java
deleted file mode 100644
index 224b34d..0000000
--- a/src/org/apache/commons/jcs/engine/CacheElement.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-
-/**
- * Generic element wrapper. Often stuffed inside another.
- */
-public class CacheElement<K, V>
-    implements ICacheElement<K, V>
-{
-    /** Don't change */
-    private static final long serialVersionUID = -6062305728297627263L;
-
-    /** The name of the cache region. This is a namespace. */
-    private final String cacheName;
-
-    /** This is the cache key by which the value can be referenced. */
-    private final K key;
-
-    /** This is the cached value, reference by the key. */
-    private final V val;
-
-    /**
-     * These attributes hold information about the element and what it is
-     * allowed to do.
-     */
-    private IElementAttributes attr;
-
-    /**
-     * Constructor for the CacheElement object
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param val
-     */
-    public CacheElement( String cacheName, K key, V val )
-    {
-        this.cacheName = cacheName;
-        this.key = key;
-        this.val = val;
-    }
-
-    /**
-     * Constructor for the CacheElement object
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param val
-     * @param attrArg
-     */
-    public CacheElement( String cacheName, K key, V val, IElementAttributes attrArg )
-    {
-        this(cacheName, key, val);
-        this.attr = attrArg;
-    }
-
-    /**
-     * Gets the cacheName attribute of the CacheElement object
-     * <p>
-     * @return The cacheName value
-     */
-    @Override
-    public String getCacheName()
-    {
-        return this.cacheName;
-    }
-
-    /**
-     * Gets the key attribute of the CacheElement object
-     * <p>
-     * @return The key value
-     */
-    @Override
-    public K getKey()
-    {
-        return this.key;
-    }
-
-    /**
-     * Gets the val attribute of the CacheElement object
-     * <p>
-     * @return The val value
-     */
-    @Override
-    public V getVal()
-    {
-        return this.val;
-    }
-
-    /**
-     * Sets the attributes attribute of the CacheElement object
-     * <p>
-     * @param attr
-     *            The new IElementAttributes value
-     */
-    @Override
-    public void setElementAttributes( IElementAttributes attr )
-    {
-        this.attr = attr;
-    }
-
-    /**
-     * Gets the IElementAttributes attribute of the CacheElement object
-     * <p>
-     * @return The IElementAttributes value, never null
-     */
-    @Override
-    public IElementAttributes getElementAttributes()
-    {
-        // create default attributes if they are null
-        // this shouldn't happen, but could if a corrupt
-        // object was sent over the wire.
-        if ( this.attr == null )
-        {
-            this.attr = new ElementAttributes();
-        }
-        return this.attr;
-    }
-
-    /**
-     * @return a hash of the key only
-     */
-    @Override
-    public int hashCode()
-    {
-        return key.hashCode();
-    }
-
-    /**
-     * For debugging only.
-     * <p>
-     * @return String representation
-     */
-    @Override
-    public String toString()
-    {
-        return "[CacheElement: cacheName [" + cacheName + "], key [" + key + "], val [" + val + "], attr [" + attr
-            + "]";
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/CacheElementSerialized.java b/src/org/apache/commons/jcs/engine/CacheElementSerialized.java
deleted file mode 100644
index 8a3d253..0000000
--- a/src/org/apache/commons/jcs/engine/CacheElementSerialized.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElementSerialized;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-
-import java.util.Arrays;
-
-/** Either serialized value or the value should be null; */
-public class CacheElementSerialized<K, V>
-    extends CacheElement<K, V>
-    implements ICacheElementSerialized<K, V>
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -7265084818647601874L;
-
-    /** The serialized value. */
-    private final byte[] serializedValue;
-
-    /**
-     * Constructs a usable wrapper.
-     * <p>
-     * @param cacheNameArg
-     * @param keyArg
-     * @param serializedValueArg
-     * @param elementAttributesArg
-     */
-    public CacheElementSerialized( String cacheNameArg, K keyArg, byte[] serializedValueArg,
-                                   IElementAttributes elementAttributesArg )
-    {
-        super(cacheNameArg, keyArg, null, elementAttributesArg);
-        this.serializedValue = serializedValueArg;
-    }
-
-    /** @return byte[] */
-    @Override
-    public byte[] getSerializedValue()
-    {
-        return this.serializedValue;
-    }
-
-    /**
-     * For debugging only.
-     * <p>
-     * @return debugging string.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\n CacheElementSerialized: " );
-        buf.append( "\n CacheName = [" + getCacheName() + "]" );
-        buf.append( "\n Key = [" + getKey() + "]" );
-        buf.append( "\n SerializedValue = " + Arrays.toString(getSerializedValue()) );
-        buf.append( "\n ElementAttributes = " + getElementAttributes() );
-        return buf.toString();
-    }
-
-}
diff --git a/src/org/apache/commons/jcs/engine/CacheEventQueue.java b/src/org/apache/commons/jcs/engine/CacheEventQueue.java
deleted file mode 100644
index 230dd09..0000000
--- a/src/org/apache/commons/jcs/engine/CacheEventQueue.java
+++ /dev/null
@@ -1,418 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheListener;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.util.ArrayList;
-
-/**
- * An event queue is used to propagate ordered cache events to one and only one target listener.
- * <p>
- * This is a modified version of the experimental version. It should lazy initialize the processor
- * thread, and kill the thread if the queue goes empty for a specified period, now set to 1 minute.
- * If something comes in after that a new processor thread should be created.
- */
-public class CacheEventQueue<K, V>
-    extends AbstractCacheEventQueue<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( CacheEventQueue.class );
-
-    /** The type of queue -- there are pooled and single */
-    private static final QueueType queueType = QueueType.SINGLE;
-
-    /** the thread that works the queue. */
-    private Thread processorThread;
-
-    /** sync */
-    private final Object queueLock = new Object();
-
-    /** the head of the queue */
-    private Node head = new Node();
-
-    /** the end of the queue */
-    private Node tail = head;
-
-    /** Number of items in the queue */
-    private int size = 0;
-
-    /**
-     * Constructs with the specified listener and the cache name.
-     * <p>
-     * @param listener
-     * @param listenerId
-     * @param cacheName
-     */
-    public CacheEventQueue( ICacheListener<K, V> listener, long listenerId, String cacheName )
-    {
-        this( listener, listenerId, cacheName, 10, 500 );
-    }
-
-    /**
-     * Constructor for the CacheEventQueue object
-     * <p>
-     * @param listener
-     * @param listenerId
-     * @param cacheName
-     * @param maxFailure
-     * @param waitBeforeRetry
-     */
-    public CacheEventQueue( ICacheListener<K, V> listener, long listenerId, String cacheName, int maxFailure,
-                            int waitBeforeRetry )
-    {
-        initialize( listener, listenerId, cacheName, maxFailure, waitBeforeRetry, null );
-    }
-
-    /**
-     * Initializes the queue.
-     * <p>
-     * @param listener
-     * @param listenerId
-     * @param cacheName
-     * @param maxFailure
-     * @param waitBeforeRetry
-     * @param threadPoolName
-     */
-    @Override
-    public void initialize( ICacheListener<K, V> listener, long listenerId, String cacheName, int maxFailure,
-                            int waitBeforeRetry, String threadPoolName )
-    {
-        if ( listener == null )
-        {
-            throw new IllegalArgumentException( "listener must not be null" );
-        }
-
-        this.listener = listener;
-        this.listenerId = listenerId;
-        this.cacheName = cacheName;
-        this.maxFailure = maxFailure <= 0 ? 3 : maxFailure;
-        this.waitBeforeRetry = waitBeforeRetry <= 0 ? 500 : waitBeforeRetry;
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Constructed: " + this );
-        }
-    }
-
-    /**
-     * What type of queue is this.
-     * <p>
-     * @return queueType
-     */
-    @Override
-    public QueueType getQueueType()
-    {
-        return queueType;
-    }
-
-    /**
-     * Kill the processor thread and indicate that the queue is destroyed and no longer alive, but it
-     * can still be working.
-     */
-    public void stopProcessing()
-    {
-        synchronized (queueLock)
-        {
-            destroyed = true;
-            processorThread = null;
-        }
-    }
-
-    /**
-     * Event Q is empty.
-     * <p>
-     * Calling destroy interrupts the processor thread.
-     */
-    @Override
-    public void destroy()
-    {
-        synchronized (queueLock)
-        {
-            if ( !destroyed )
-            {
-                destroyed = true;
-
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Destroying queue, stats =  " + getStatistics() );
-                }
-
-                // Synchronize on queue so the thread will not wait forever,
-                // and then interrupt the QueueProcessor
-
-                if ( processorThread != null )
-                {
-                    processorThread.interrupt();
-                    processorThread = null;
-                }
-
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Cache event queue destroyed: " + this );
-                }
-            }
-            else
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Destroy was called after queue was destroyed.  Doing nothing.  Stats =  " + getStatistics() );
-                }
-            }
-        }
-    }
-
-    /**
-     * Adds an event to the queue.
-     * <p>
-     * @param event
-     */
-    @Override
-    protected void put( AbstractCacheEvent event )
-    {
-        Node newNode = new Node();
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Event entering Queue for " + cacheName + ": " + event );
-        }
-
-        newNode.event = event;
-
-        synchronized ( queueLock )
-        {
-            size++;
-            tail.next = newNode;
-            tail = newNode;
-            if ( isWorking() )
-            {
-                if ( !isAlive() )
-                {
-                    destroyed = false;
-                    processorThread = new QProcessor( this );
-                    processorThread.start();
-                    if ( log.isInfoEnabled() )
-                    {
-                        log.info( "Cache event queue created: " + this );
-                    }
-                }
-                else
-                {
-                    queueLock.notify();
-                }
-            }
-        }
-    }
-
-    // /////////////////////////// Inner classes /////////////////////////////
-
-    /**
-     * This is the thread that works the queue.
-     * <p>
-     * @author asmuts
-     * @created January 15, 2002
-     */
-    private class QProcessor
-        extends Thread
-    {
-        /** The queue to work */
-        CacheEventQueue<K, V> queue;
-
-        /**
-         * Constructor for the QProcessor object
-         * <p>
-         * @param aQueue the event queue to take items from.
-         */
-        QProcessor( CacheEventQueue<K, V> aQueue )
-        {
-            super( "CacheEventQueue.QProcessor-" + aQueue.cacheName );
-
-            setDaemon( true );
-            queue = aQueue;
-        }
-
-        /**
-         * Main processing method for the QProcessor object.
-         * <p>
-         * Waits for a specified time (waitToDieMillis) for something to come in and if no new
-         * events come in during that period the run method can exit and the thread is dereferenced.
-         */
-        @SuppressWarnings("synthetic-access")
-        @Override
-        public void run()
-        {
-            AbstractCacheEvent event = null;
-
-            while ( queue.isAlive() )
-            {
-                event = queue.take();
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Event from queue = " + event );
-                }
-
-                if ( event == null )
-                {
-                    synchronized ( queueLock )
-                    {
-                        try
-                        {
-                            queueLock.wait( queue.getWaitToDieMillis() );
-                        }
-                        catch ( InterruptedException e )
-                        {
-                            log.warn( "Interrupted while waiting for another event to come in before we die." );
-                            return;
-                        }
-                        event = queue.take();
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "Event from queue after sleep = " + event );
-                        }
-                    }
-                    if ( event == null )
-                    {
-                        queue.stopProcessing();
-                    }
-                }
-
-                if ( queue.isWorking() && queue.isAlive() && event != null )
-                {
-                    event.run();
-                }
-            }
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "QProcessor exiting for " + queue );
-            }
-        }
-    }
-
-    /**
-     * Returns the next cache event from the queue or null if there are no events in the queue.
-     * <p>
-     * We have an empty node at the head and the tail. When we take an item from the queue we move
-     * the next node to the head and then clear the value from that node. This value is returned.
-     * <p>
-     * When the queue is empty the head node is the same as the tail node.
-     * <p>
-     * @return An event to process.
-     */
-    protected AbstractCacheEvent take()
-    {
-        synchronized ( queueLock )
-        {
-            // wait until there is something to read
-            if ( head == tail )
-            {
-                return null;
-            }
-
-            Node node = head.next;
-
-            @SuppressWarnings("unchecked") // No generics for public fields
-            AbstractCacheEvent value = (AbstractCacheEvent) node.event;
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "head.event = " + head.event );
-                log.debug( "node.event = " + node.event );
-            }
-
-            // Node becomes the new head (head is always empty)
-
-            node.event = null;
-            head = node;
-
-            size--;
-            return value;
-        }
-    }
-
-    /**
-     * This method returns semi-structured data on this queue.
-     * <p>
-     * @see org.apache.commons.jcs.engine.behavior.ICacheEventQueue#getStatistics()
-     * @return information on the status and history of the queue
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "Cache Event Queue" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        elems.add(new StatElement<Boolean>( "Working", Boolean.valueOf(super.isWorking()) ) );
-        elems.add(new StatElement<Boolean>( "Alive", Boolean.valueOf(this.isAlive()) ) );
-        elems.add(new StatElement<Boolean>( "Empty", Boolean.valueOf(this.isEmpty()) ) );
-
-        int sz = 0;
-        synchronized ( queueLock )
-        {
-            // wait until there is something to read
-            if ( head == tail )
-            {
-                sz = 0;
-            }
-            else
-            {
-                Node n = head;
-                while ( n != null )
-                {
-                    n = n.next;
-                    sz++;
-                }
-            }
-
-            elems.add(new StatElement<Integer>( "Size", Integer.valueOf(sz) ) );
-        }
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-
-    /**
-     * @return whether there are any items in the queue.
-     */
-    @Override
-    public boolean isEmpty()
-    {
-        return tail == head;
-    }
-
-    /**
-     * Returns the number of elements in the queue.
-     * <p>
-     * @return number of items in the queue.
-     */
-    @Override
-    public int size()
-    {
-        return size;
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/CacheEventQueueFactory.java b/src/org/apache/commons/jcs/engine/CacheEventQueueFactory.java
deleted file mode 100644
index 24b5dc2..0000000
--- a/src/org/apache/commons/jcs/engine/CacheEventQueueFactory.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheEventQueue;
-import org.apache.commons.jcs.engine.behavior.ICacheListener;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This class hands out event Queues. This allows us to change the implementation more easily. You
- * can confugure the cache to use a custom type.
- * <p>
- * @author aaronsm
- */
-public class CacheEventQueueFactory<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( CacheEventQueueFactory.class );
-
-    /**
-     * The most commonly used factory method.
-     * <p>
-     * @param listener
-     * @param listenerId
-     * @param cacheName
-     * @param threadPoolName
-     * @param poolType - SINGLE, POOLED
-     * @return ICacheEventQueue
-     */
-    public ICacheEventQueue<K, V> createCacheEventQueue( ICacheListener<K, V> listener, long listenerId, String cacheName,
-                                                   String threadPoolName, ICacheEventQueue.QueueType poolType )
-    {
-        return createCacheEventQueue( listener, listenerId, cacheName, 10, 500, threadPoolName, poolType );
-    }
-
-    /**
-     * Fully configured event queue.
-     * <p>
-     * @param listener
-     * @param listenerId
-     * @param cacheName
-     * @param maxFailure
-     * @param waitBeforeRetry
-     * @param threadPoolName null is OK, if not a pooled event queue this is ignored
-     * @param poolType single or pooled
-     * @return ICacheEventQueue
-     */
-    public ICacheEventQueue<K, V> createCacheEventQueue( ICacheListener<K, V> listener, long listenerId, String cacheName,
-                                                   int maxFailure, int waitBeforeRetry, String threadPoolName,
-                                                   ICacheEventQueue.QueueType poolType )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "threadPoolName = [" + threadPoolName + "] poolType = " + poolType + " " );
-        }
-
-        ICacheEventQueue<K, V> eventQueue = null;
-        if ( poolType == null || ICacheEventQueue.QueueType.SINGLE == poolType )
-        {
-            eventQueue = new CacheEventQueue<K, V>( listener, listenerId, cacheName, maxFailure, waitBeforeRetry );
-        }
-        else if ( ICacheEventQueue.QueueType.POOLED == poolType )
-        {
-            eventQueue = new PooledCacheEventQueue<K, V>( listener, listenerId, cacheName, maxFailure, waitBeforeRetry,
-                                                    threadPoolName );
-        }
-
-        return eventQueue;
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/CacheGroup.java b/src/org/apache/commons/jcs/engine/CacheGroup.java
deleted file mode 100644
index 0da5a6d..0000000
--- a/src/org/apache/commons/jcs/engine/CacheGroup.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-
-/**
- * Holder for attributes specific to a group. The grouping functionality is on
- * the way out.
- */
-public class CacheGroup
-{
-    /** Element configuration. */
-    private IElementAttributes attr;
-
-    /** Constructor for the CacheGroup object */
-    public CacheGroup()
-    {
-        super();
-    }
-
-    /**
-     * Sets the attributes attribute of the CacheGroup object
-     * <p>
-     * @param attr
-     *            The new attributes value
-     */
-    public void setElementAttributes( IElementAttributes attr )
-    {
-        this.attr = attr;
-    }
-
-    /**
-     * Gets the attrributes attribute of the CacheGroup object
-     * <p>
-     * @return The attrributes value
-     */
-    public IElementAttributes getElementAttrributes()
-    {
-        return attr;
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/CacheInfo.java b/src/org/apache/commons/jcs/engine/CacheInfo.java
deleted file mode 100644
index 6256d0e..0000000
--- a/src/org/apache/commons/jcs/engine/CacheInfo.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.rmi.dgc.VMID;
-
-/**
- * This is a static variable holder for the distribution auxiliaries that need something like a vmid.
- */
-public final class CacheInfo
-{
-    /** shouldn't be instantiated */
-    private CacheInfo()
-    {
-        super();
-    }
-
-    /**
-     * Used to identify a client, so we can run multiple clients off one host.
-     * Need since there is no way to identify a client other than by host in
-     * rmi.
-     * <p>
-     * TODO: may have some trouble in failover mode if the cache keeps its old
-     * id. We may need to reset this when moving into failover.
-     */
-    private static final VMID vmid = new VMID();
-
-    /** By default this is the hashcode of the VMID */
-    public static final long listenerId = vmid.hashCode();
-}
diff --git a/src/org/apache/commons/jcs/engine/CacheListeners.java b/src/org/apache/commons/jcs/engine/CacheListeners.java
deleted file mode 100644
index 601529f..0000000
--- a/src/org/apache/commons/jcs/engine/CacheListeners.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-import org.apache.commons.jcs.engine.behavior.ICache;
-import org.apache.commons.jcs.engine.behavior.ICacheEventQueue;
-
-/**
- * Used to associates a set of [cache listener to cache event queue] for a
- * cache.
- */
-public class CacheListeners<K, V>
-{
-    /** The cache using the queue. */
-    public final ICache<K, V> cache;
-
-    /** Map ICacheListener to ICacheEventQueue */
-    public final ConcurrentMap<Long, ICacheEventQueue<K, V>> eventQMap =
-        new ConcurrentHashMap<Long, ICacheEventQueue<K, V>>();
-
-    /**
-     * Constructs with the given cache.
-     * <p>
-     * @param cache
-     */
-    public CacheListeners( ICache<K, V> cache )
-    {
-        if ( cache == null )
-        {
-            throw new IllegalArgumentException( "cache must not be null" );
-        }
-        this.cache = cache;
-    }
-
-    /** @return info on the listeners */
-    @Override
-    public String toString()
-    {
-        StringBuilder buffer = new StringBuilder();
-        buffer.append( "\n CacheListeners" );
-        if ( cache != null )
-        {
-            buffer.append( "\n Region = " + cache.getCacheName() );
-        }
-        if ( eventQMap != null )
-        {
-            buffer.append( "\n Event Queue Map " );
-            buffer.append( "\n size = " + eventQMap.size() );
-            Iterator<Map.Entry<Long, ICacheEventQueue<K, V>>> it = eventQMap.entrySet().iterator();
-            while ( it.hasNext() )
-            {
-                buffer.append( "\n Entry: " + it.next() );
-            }
-        }
-        else
-        {
-            buffer.append( "\n No Listeners. " );
-        }
-        return buffer.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/CacheStatus.java b/src/org/apache/commons/jcs/engine/CacheStatus.java
deleted file mode 100644
index ab79e08..0000000
--- a/src/org/apache/commons/jcs/engine/CacheStatus.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Cache statuses
- * <p>
- * @version $Id: CacheStatus.java 1590887 2014-04-29 07:07:32Z olamy $
- */
-public enum CacheStatus
-{
-    /** Cache alive status. */
-    ALIVE,
-
-    /** Cache disposed status. */
-    DISPOSED,
-
-    /** Cache in error. */
-    ERROR
-}
diff --git a/src/org/apache/commons/jcs/engine/CacheWatchRepairable.java b/src/org/apache/commons/jcs/engine/CacheWatchRepairable.java
deleted file mode 100644
index c5654a2..0000000
--- a/src/org/apache/commons/jcs/engine/CacheWatchRepairable.java
+++ /dev/null
@@ -1,200 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheListener;
-import org.apache.commons.jcs.engine.behavior.ICacheObserver;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Intercepts the requests to the underlying ICacheObserver object so that the listeners can be
- * recorded locally for remote connection recovery purposes. (Durable subscription like those in JMS
- * is not implemented at this stage for it can be too expensive.)
- */
-public class CacheWatchRepairable
-    implements ICacheObserver
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( CacheWatchRepairable.class );
-
-    /** the underlying ICacheObserver. */
-    private ICacheObserver cacheWatch;
-
-    /** Map of cache regions. */
-    private final Map<String, Set<ICacheListener<?, ?>>> cacheMap =
-        new HashMap<String, Set<ICacheListener<?, ?>>>();
-
-    /**
-     * Replaces the underlying cache watch service and reattached all existing listeners to the new
-     * cache watch.
-     * <p>
-     * @param cacheWatch The new cacheWatch value
-     */
-    public void setCacheWatch( ICacheObserver cacheWatch )
-    {
-        this.cacheWatch = cacheWatch;
-        synchronized ( cacheMap )
-        {
-            for (Map.Entry<String, Set<ICacheListener<?, ?>>> entry : cacheMap.entrySet())
-            {
-                String cacheName = entry.getKey();
-                for (ICacheListener<?, ?> listener : entry.getValue())
-                {
-                    try
-                    {
-                        if ( log.isInfoEnabled() )
-                        {
-                            log.info( "Adding listener to cache watch. ICacheListener = " + listener
-                                + " | ICacheObserver = " + cacheWatch );
-                        }
-                        cacheWatch.addCacheListener( cacheName, listener );
-                    }
-                    catch ( IOException ex )
-                    {
-                        log.error( "Problem adding listener. ICacheListener = " + listener + " | ICacheObserver = "
-                            + cacheWatch, ex );
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Adds a feature to the CacheListener attribute of the CacheWatchRepairable object
-     * <p>
-     * @param cacheName The feature to be added to the CacheListener attribute
-     * @param obj The feature to be added to the CacheListener attribute
-     * @throws IOException
-     */
-    @Override
-    public <K, V> void addCacheListener( String cacheName, ICacheListener<K, V> obj )
-        throws IOException
-    {
-        // Record the added cache listener locally, regardless of whether the
-        // remote add-listener operation succeeds or fails.
-        synchronized ( cacheMap )
-        {
-            Set<ICacheListener<?, ?>> listenerSet = cacheMap.get( cacheName );
-            if ( listenerSet == null )
-            {
-                listenerSet = new HashSet<ICacheListener<?, ?>>();
-                cacheMap.put( cacheName, listenerSet );
-            }
-            listenerSet.add( obj );
-        }
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Adding listener to cache watch. ICacheListener = " + obj
-                + " | ICacheObserver = " + cacheWatch + " | cacheName = " + cacheName );
-        }
-        cacheWatch.addCacheListener( cacheName, obj );
-    }
-
-    /**
-     * Adds a feature to the CacheListener attribute of the CacheWatchRepairable object
-     * <p>
-     * @param obj The feature to be added to the CacheListener attribute
-     * @throws IOException
-     */
-    @Override
-    public <K, V> void addCacheListener( ICacheListener<K, V> obj )
-        throws IOException
-    {
-        // Record the added cache listener locally, regardless of whether the
-        // remote add-listener operation succeeds or fails.
-        synchronized ( cacheMap )
-        {
-            for (Set<ICacheListener<?, ?>> listenerSet : cacheMap.values())
-            {
-                listenerSet.add( obj );
-            }
-        }
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Adding listener to cache watch. ICacheListener = " + obj
-                + " | ICacheObserver = " + cacheWatch );
-        }
-        cacheWatch.addCacheListener( obj );
-    }
-
-    /**
-     * Tell the server to release us.
-     * <p>
-     * @param cacheName
-     * @param obj
-     * @throws IOException
-     */
-    @Override
-    public <K, V> void removeCacheListener( String cacheName, ICacheListener<K, V> obj )
-        throws IOException
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "removeCacheListener, cacheName [" + cacheName + "]" );
-        }
-        // Record the removal locally, regardless of whether the remote
-        // remove-listener operation succeeds or fails.
-        synchronized ( cacheMap )
-        {
-            Set<ICacheListener<?, ?>> listenerSet = cacheMap.get( cacheName );
-            if ( listenerSet != null )
-            {
-                listenerSet.remove( obj );
-            }
-        }
-        cacheWatch.removeCacheListener( cacheName, obj );
-    }
-
-    /**
-     * @param obj
-     * @throws IOException
-     */
-    @Override
-    public <K, V> void removeCacheListener( ICacheListener<K, V> obj )
-        throws IOException
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "removeCacheListener, ICacheListener [" + obj + "]" );
-        }
-
-        // Record the removal locally, regardless of whether the remote
-        // remove-listener operation succeeds or fails.
-        synchronized ( cacheMap )
-        {
-            for (Set<ICacheListener<?, ?>> listenerSet : cacheMap.values())
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Before removing [" + obj + "] the listenerSet = " + listenerSet );
-                }
-                listenerSet.remove( obj );
-            }
-        }
-        cacheWatch.removeCacheListener( obj );
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/CompositeCacheAttributes.java b/src/org/apache/commons/jcs/engine/CompositeCacheAttributes.java
deleted file mode 100644
index 31da4be..0000000
--- a/src/org/apache/commons/jcs/engine/CompositeCacheAttributes.java
+++ /dev/null
@@ -1,443 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes;
-
-/**
- * The CompositeCacheAttributes defines the general cache region settings. If a region is not
- * explicitly defined in the cache.ccf then it inherits the cache default settings.
- * <p>
- * If all the default attributes are not defined in the default region definition in the cache.ccf,
- * the hard coded defaults will be used.
- */
-public class CompositeCacheAttributes
-    implements ICompositeCacheAttributes
-{
-    /** Don't change */
-    private static final long serialVersionUID = 6754049978134196787L;
-
-    /** default lateral switch */
-    private static final boolean DEFAULT_USE_LATERAL = true;
-
-    /** default remote switch */
-    private static final boolean DEFAULT_USE_REMOTE = true;
-
-    /** default disk switch */
-    private static final boolean DEFAULT_USE_DISK = true;
-
-    /** default shrinker setting */
-    private static final boolean DEFAULT_USE_SHRINKER = false;
-
-    /** default max objects value */
-    private static final int DEFAULT_MAX_OBJECTS = 100;
-
-    /** default */
-    private static final int DEFAULT_MAX_MEMORY_IDLE_TIME_SECONDS = 60 * 120;
-
-    /** default interval to run the shrinker */
-    private static final int DEFAULT_SHRINKER_INTERVAL_SECONDS = 30;
-
-    /** default */
-    private static final int DEFAULT_MAX_SPOOL_PER_RUN = -1;
-
-    /** default */
-    private static final String DEFAULT_MEMORY_CACHE_NAME = "org.apache.commons.jcs.engine.memory.lru.LRUMemoryCache";
-
-    /** Default number to send to disk at a time when memory fills. */
-    private static final int DEFAULT_CHUNK_SIZE = 2;
-
-    /** allow lateral caches */
-    private boolean useLateral = DEFAULT_USE_LATERAL;
-
-    /** allow remote caches */
-    private boolean useRemote = DEFAULT_USE_REMOTE;
-
-    /** Whether we should use a disk cache if it is configured. */
-    private boolean useDisk = DEFAULT_USE_DISK;
-
-    /** Whether or not we should run the memory shrinker thread. */
-    private boolean useMemoryShrinker = DEFAULT_USE_SHRINKER;
-
-    /** The maximum objects that the memory cache will be allowed to hold. */
-    private int maxObjs = DEFAULT_MAX_OBJECTS;
-
-    /** maxMemoryIdleTimeSeconds */
-    private long maxMemoryIdleTimeSeconds = DEFAULT_MAX_MEMORY_IDLE_TIME_SECONDS;
-
-    /** shrinkerIntervalSeconds */
-    private long shrinkerIntervalSeconds = DEFAULT_SHRINKER_INTERVAL_SECONDS;
-
-    /** The maximum number the shrinker will spool to disk per run. */
-    private int maxSpoolPerRun = DEFAULT_MAX_SPOOL_PER_RUN;
-
-    /** The name of this cache region. */
-    private String cacheName;
-
-    /** The name of the memory cache implementation class. */
-    private String memoryCacheName;
-
-    /** Set via DISK_USAGE_PATTERN_NAME */
-    private DiskUsagePattern diskUsagePattern = DiskUsagePattern.SWAP;
-
-    /** How many to spool to disk at a time. */
-    private int spoolChunkSize = DEFAULT_CHUNK_SIZE;
-
-    /**
-     * Constructor for the CompositeCacheAttributes object
-     */
-    public CompositeCacheAttributes()
-    {
-        super();
-        // set this as the default so the configuration is a bit simpler
-        memoryCacheName = DEFAULT_MEMORY_CACHE_NAME;
-    }
-
-    /**
-     * Sets the maxObjects attribute of the CompositeCacheAttributes object
-     * <p>
-     * @param maxObjs The new maxObjects value
-     */
-    @Override
-    public void setMaxObjects( int maxObjs )
-    {
-        this.maxObjs = maxObjs;
-    }
-
-    /**
-     * Gets the maxObjects attribute of the CompositeCacheAttributes object
-     * <p>
-     * @return The maxObjects value
-     */
-    @Override
-    public int getMaxObjects()
-    {
-        return this.maxObjs;
-    }
-
-    /**
-     * Sets the useDisk attribute of the CompositeCacheAttributes object
-     * <p>
-     * @param useDisk The new useDisk value
-     */
-    @Override
-    public void setUseDisk( boolean useDisk )
-    {
-        this.useDisk = useDisk;
-    }
-
-    /**
-     * Gets the useDisk attribute of the CompositeCacheAttributes object
-     * <p>
-     * @return The useDisk value
-     */
-    @Override
-    public boolean isUseDisk()
-    {
-        return useDisk;
-    }
-
-    /**
-     * Sets the useLateral attribute of the CompositeCacheAttributes object
-     * <p>
-     * @param b The new useLateral value
-     */
-    @Override
-    public void setUseLateral( boolean b )
-    {
-        this.useLateral = b;
-    }
-
-    /**
-     * Gets the useLateral attribute of the CompositeCacheAttributes object
-     * <p>
-     * @return The useLateral value
-     */
-    @Override
-    public boolean isUseLateral()
-    {
-        return this.useLateral;
-    }
-
-    /**
-     * Sets the useRemote attribute of the CompositeCacheAttributes object
-     * <p>
-     * @param useRemote The new useRemote value
-     */
-    @Override
-    public void setUseRemote( boolean useRemote )
-    {
-        this.useRemote = useRemote;
-    }
-
-    /**
-     * Gets the useRemote attribute of the CompositeCacheAttributes object
-     * <p>
-     * @return The useRemote value
-     */
-    @Override
-    public boolean isUseRemote()
-    {
-        return this.useRemote;
-    }
-
-    /**
-     * Sets the cacheName attribute of the CompositeCacheAttributes object
-     * <p>
-     * @param s The new cacheName value
-     */
-    @Override
-    public void setCacheName( String s )
-    {
-        this.cacheName = s;
-    }
-
-    /**
-     * Gets the cacheName attribute of the CompositeCacheAttributes object
-     * <p>
-     * @return The cacheName value
-     */
-    @Override
-    public String getCacheName()
-    {
-        return this.cacheName;
-    }
-
-    /**
-     * Sets the memoryCacheName attribute of the CompositeCacheAttributes object
-     * <p>
-     * @param s The new memoryCacheName value
-     */
-    @Override
-    public void setMemoryCacheName( String s )
-    {
-        this.memoryCacheName = s;
-    }
-
-    /**
-     * Gets the memoryCacheName attribute of the CompositeCacheAttributes object
-     * <p>
-     * @return The memoryCacheName value
-     */
-    @Override
-    public String getMemoryCacheName()
-    {
-        return this.memoryCacheName;
-    }
-
-    /**
-     * Whether the memory cache should perform background memory shrinkage.
-     * <p>
-     * @param useShrinker The new UseMemoryShrinker value
-     */
-    @Override
-    public void setUseMemoryShrinker( boolean useShrinker )
-    {
-        this.useMemoryShrinker = useShrinker;
-    }
-
-    /**
-     * Whether the memory cache should perform background memory shrinkage.
-     * <p>
-     * @return The UseMemoryShrinker value
-     */
-    @Override
-    public boolean isUseMemoryShrinker()
-    {
-        return this.useMemoryShrinker;
-    }
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements to reclaim space.
-     * <p>
-     * @param seconds The new MaxMemoryIdleTimeSeconds value
-     */
-    @Override
-    public void setMaxMemoryIdleTimeSeconds( long seconds )
-    {
-        this.maxMemoryIdleTimeSeconds = seconds;
-    }
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements to reclaim space.
-     * <p>
-     * @return The MaxMemoryIdleTimeSeconds value
-     */
-    @Override
-    public long getMaxMemoryIdleTimeSeconds()
-    {
-        return this.maxMemoryIdleTimeSeconds;
-    }
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements to reclaim space.
-     * This sets the shrinker interval.
-     * <p>
-     * @param seconds The new ShrinkerIntervalSeconds value
-     */
-    @Override
-    public void setShrinkerIntervalSeconds( long seconds )
-    {
-        this.shrinkerIntervalSeconds = seconds;
-    }
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements to reclaim space.
-     * This gets the shrinker interval.
-     * <p>
-     * @return The ShrinkerIntervalSeconds value
-     */
-    @Override
-    public long getShrinkerIntervalSeconds()
-    {
-        return this.shrinkerIntervalSeconds;
-    }
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements to reclaim space.
-     * This sets the maximum number of items to spool per run.
-     * <p>
-     * If the value is -1, then there is no limit to the number of items to be spooled.
-     * <p>
-     * @param maxSpoolPerRun The new maxSpoolPerRun value
-     */
-    @Override
-    public void setMaxSpoolPerRun( int maxSpoolPerRun )
-    {
-        this.maxSpoolPerRun = maxSpoolPerRun;
-    }
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements to reclaim space.
-     * This gets the maximum number of items to spool per run.
-     * <p>
-     * @return The maxSpoolPerRun value
-     */
-    @Override
-    public int getMaxSpoolPerRun()
-    {
-        return this.maxSpoolPerRun;
-    }
-
-    /**
-     * By default this is SWAP_ONLY.
-     * <p>
-     * @param diskUsagePattern The diskUsagePattern to set.
-     */
-    @Override
-    public void setDiskUsagePattern( DiskUsagePattern diskUsagePattern )
-    {
-        this.diskUsagePattern = diskUsagePattern;
-    }
-
-    /**
-     * Translates the name to the disk usage pattern short value.
-     * <p>
-     * The allowed values are SWAP and UPDATE.
-     * <p>
-     * @param diskUsagePatternName The diskUsagePattern to set.
-     */
-    @Override
-    public void setDiskUsagePatternName( String diskUsagePatternName )
-    {
-        if ( diskUsagePatternName != null )
-        {
-            String name = diskUsagePatternName.toUpperCase().trim();
-            if ( name.startsWith( "SWAP" ) )
-            {
-                this.setDiskUsagePattern( DiskUsagePattern.SWAP );
-            }
-            else if ( name.startsWith( "UPDATE" ) )
-            {
-                this.setDiskUsagePattern( DiskUsagePattern.UPDATE );
-            }
-        }
-    }
-
-    /**
-     * Number to send to disk at at time when memory is full.
-     * <p>
-     * @return int
-     */
-    @Override
-    public int getSpoolChunkSize()
-    {
-        return spoolChunkSize;
-    }
-
-    /**
-     * Number to send to disk at a time.
-     * <p>
-     * @param spoolChunkSize
-     */
-    @Override
-    public void setSpoolChunkSize( int spoolChunkSize )
-    {
-        this.spoolChunkSize = spoolChunkSize;
-    }
-
-    /**
-     * @return Returns the diskUsagePattern.
-     */
-    @Override
-    public DiskUsagePattern getDiskUsagePattern()
-    {
-        return diskUsagePattern;
-    }
-
-    /**
-     * Dumps the core attributes.
-     * <p>
-     * @return For debugging.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder dump = new StringBuilder();
-
-        dump.append( "[ " );
-        dump.append( "useLateral = " ).append( useLateral );
-        dump.append( ", useRemote = " ).append( useRemote );
-        dump.append( ", useDisk = " ).append( useDisk );
-        dump.append( ", maxObjs = " ).append( maxObjs );
-        dump.append( ", maxSpoolPerRun = " ).append( maxSpoolPerRun );
-        dump.append( ", diskUsagePattern = " ).append( diskUsagePattern );
-        dump.append( ", spoolChunkSize = " ).append( spoolChunkSize );
-        dump.append( " ]" );
-
-        return dump.toString();
-    }
-
-    /**
-     * @see java.lang.Object#clone()
-     */
-    @Override
-    public ICompositeCacheAttributes clone()
-    {
-        try
-        {
-            return (ICompositeCacheAttributes)super.clone();
-        }
-        catch (CloneNotSupportedException e)
-        {
-            throw new RuntimeException("Clone not supported. This should never happen.", e);
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/ElementAttributes.java b/src/org/apache/commons/jcs/engine/ElementAttributes.java
deleted file mode 100644
index ca8547e..0000000
--- a/src/org/apache/commons/jcs/engine/ElementAttributes.java
+++ /dev/null
@@ -1,456 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.control.event.behavior.IElementEventHandler;
-
-/**
- * This it the element attribute descriptor class. Each element in the cache has an ElementAttribute
- * object associated with it. An ElementAttributes object can be associated with an element in 3
- * ways:
- * <ol>
- * <li>When the item is put into the cache, you can associate an element attributes object.</li>
- * <li>If not attributes object is include when the element is put into the cache, then the default
- * attributes for the region will be used.</li>
- * <li>The element attributes can be reset. This effectively results in a retrieval followed by a
- * put. Hence, this is the same as 1.</li>
- * </ol>
- */
-public class ElementAttributes
-    implements IElementAttributes
-{
-    /** Don't change. */
-    private static final long serialVersionUID = 7814990748035017441L;
-
-    /** Can this item be flushed to disk */
-    private boolean IS_SPOOL = true;
-
-    /** Is this item laterally distributable */
-    private boolean IS_LATERAL = true;
-
-    /** Can this item be sent to the remote cache */
-    private boolean IS_REMOTE = true;
-
-    /**
-     * You can turn off expiration by setting this to true. This causes the cache to bypass both max
-     * life and idle time expiration.
-     */
-    private boolean IS_ETERNAL = true;
-
-    /** Max life seconds */
-    private long maxLife = -1;
-
-    /**
-     * The maximum time an entry can be idle. Setting this to -1 causes the idle time check to be
-     * ignored.
-     */
-    private long maxIdleTime = -1;
-
-    /** The byte size of the field. Must be manually set. */
-    private int size = 0;
-
-    /** The creation time. This is used to enforce the max life. */
-    private long createTime = 0;
-
-    /** The last access time. This is used to enforce the max idel time. */
-    private long lastAccessTime = 0;
-
-    /**
-     * The list of Event handlers to use. This is transient, since the event handlers cannot usually
-     * be serialized. This means that you cannot attach a post serialization event to an item.
-     * <p>
-     * TODO we need to check that when an item is passed to a non-local cache that if the local
-     * cache had a copy with event handlers, that those handlers are used.
-     */
-    private transient ArrayList<IElementEventHandler> eventHandlers;
-
-    private long timeFactor = 1000;
-
-    /**
-     * Constructor for the IElementAttributes object
-     */
-    public ElementAttributes()
-    {
-        this.createTime = System.currentTimeMillis();
-        this.lastAccessTime = this.createTime;
-    }
-
-    /**
-     * Constructor for the IElementAttributes object
-     * <p>
-     * @param attr
-     */
-    protected ElementAttributes( ElementAttributes attr )
-    {
-        IS_ETERNAL = attr.IS_ETERNAL;
-
-        // waterfall onto disk, for pure disk set memory to 0
-        IS_SPOOL = attr.IS_SPOOL;
-
-        // lateral
-        IS_LATERAL = attr.IS_LATERAL;
-
-        // central rmi store
-        IS_REMOTE = attr.IS_REMOTE;
-
-        maxLife = attr.maxLife;
-        // time-to-live
-        maxIdleTime = attr.maxIdleTime;
-        size = attr.size;
-    }
-
-    /**
-     * Sets the maxLife attribute of the IAttributes object.
-     * <p>
-     * @param mls The new MaxLifeSeconds value
-     */
-    @Override
-    public void setMaxLife(long mls)
-    {
-        this.maxLife = mls;
-    }
-
-    /**
-     * Sets the maxLife attribute of the IAttributes object. How many seconds it can live after
-     * creation.
-     * <p>
-     * If this is exceeded the element will not be returned, instead it will be removed. It will be
-     * removed on retrieval, or removed actively if the memory shrinker is turned on.
-     * @return The MaxLifeSeconds value
-     */
-    @Override
-    public long getMaxLife()
-    {
-        return this.maxLife;
-    }
-
-    /**
-     * Sets the idleTime attribute of the IAttributes object. This is the maximum time the item can
-     * be idle in the cache, that is not accessed.
-     * <p>
-     * If this is exceeded the element will not be returned, instead it will be removed. It will be
-     * removed on retrieval, or removed actively if the memory shrinker is turned on.
-     * @param idle The new idleTime value
-     */
-    @Override
-    public void setIdleTime( long idle )
-    {
-        this.maxIdleTime = idle;
-    }
-
-    /**
-     * Size in bytes. This is not used except in the admin pages. It will be -1 by default.
-     * <p>
-     * @param size The new size value
-     */
-    @Override
-    public void setSize( int size )
-    {
-        this.size = size;
-    }
-
-    /**
-     * Gets the size attribute of the IAttributes object
-     * <p>
-     * @return The size value
-     */
-    @Override
-    public int getSize()
-    {
-        return size;
-    }
-
-    /**
-     * Gets the createTime attribute of the IAttributes object.
-     * <p>
-     * This should be the current time in milliseconds returned by the sysutem call when the element
-     * is put in the cache.
-     * <p>
-     * Putting an item in the cache overrides any existing items.
-     * @return The createTime value
-     */
-    @Override
-    public long getCreateTime()
-    {
-        return createTime;
-    }
-
-    /**
-     * Sets the createTime attribute of the IElementAttributes object
-     */
-    public void setCreateTime()
-    {
-        createTime = System.currentTimeMillis();
-    }
-
-    /**
-     * Gets the idleTime attribute of the IAttributes object.
-     * <p>
-     * @return The idleTime value
-     */
-    @Override
-    public long getIdleTime()
-    {
-        return this.maxIdleTime;
-    }
-
-    /**
-     * Gets the time left to live of the IAttributes object.
-     * <p>
-     * This is the (max life + create time) - current time.
-     * @return The TimeToLiveSeconds value
-     */
-    @Override
-    public long getTimeToLiveSeconds()
-    {
-        final long now = System.currentTimeMillis();
-        final long timeFactorForMilliseconds = getTimeFactorForMilliseconds();
-        return ( this.getCreateTime() + this.getMaxLife() * timeFactorForMilliseconds - now ) / 1000;
-    }
-
-    /**
-     * Gets the LastAccess attribute of the IAttributes object.
-     * <p>
-     * @return The LastAccess value.
-     */
-    @Override
-    public long getLastAccessTime()
-    {
-        return this.lastAccessTime;
-    }
-
-    /**
-     * Sets the LastAccessTime as now of the IElementAttributes object
-     */
-    @Override
-    public void setLastAccessTimeNow()
-    {
-        this.lastAccessTime = System.currentTimeMillis();
-    }
-
-    /**
-     * only for use from test code
-     */
-    public void setLastAccessTime(long time)
-    {
-        this.lastAccessTime = time;
-    }
-
-    /**
-     * Can this item be spooled to disk
-     * <p>
-     * By default this is true.
-     * @return The spoolable value
-     */
-    @Override
-    public boolean getIsSpool()
-    {
-        return this.IS_SPOOL;
-    }
-
-    /**
-     * Sets the isSpool attribute of the IElementAttributes object
-     * <p>
-     * By default this is true.
-     * @param val The new isSpool value
-     */
-    @Override
-    public void setIsSpool( boolean val )
-    {
-        this.IS_SPOOL = val;
-    }
-
-    /**
-     * Is this item laterally distributable. Can it be sent to auxiliaries of type lateral.
-     * <p>
-     * By default this is true.
-     * @return The isLateral value
-     */
-    @Override
-    public boolean getIsLateral()
-    {
-        return this.IS_LATERAL;
-    }
-
-    /**
-     * Sets the isLateral attribute of the IElementAttributes object
-     * <p>
-     * By default this is true.
-     * @param val The new isLateral value
-     */
-    @Override
-    public void setIsLateral( boolean val )
-    {
-        this.IS_LATERAL = val;
-    }
-
-    /**
-     * Can this item be sent to the remote cache
-     * @return true if the item can be sent to a remote auxiliary
-     */
-    @Override
-    public boolean getIsRemote()
-    {
-        return this.IS_REMOTE;
-    }
-
-    /**
-     * Sets the isRemote attribute of the ElementAttributes object
-     * @param val The new isRemote value
-     */
-    @Override
-    public void setIsRemote( boolean val )
-    {
-        this.IS_REMOTE = val;
-    }
-
-    /**
-     * You can turn off expiration by setting this to true. The max life value will be ignored.
-     * <p>
-     * @return true if the item cannot expire.
-     */
-    @Override
-    public boolean getIsEternal()
-    {
-        return this.IS_ETERNAL;
-    }
-
-    /**
-     * Sets the isEternal attribute of the ElementAttributes object. True means that the item should
-     * never expire. If can still be removed if it is the least recently used, and you are using the
-     * LRUMemory cache. it just will not be filtered for expiration by the cache hub.
-     * <p>
-     * @param val The new isEternal value
-     */
-    @Override
-    public void setIsEternal( boolean val )
-    {
-        this.IS_ETERNAL = val;
-    }
-
-    /**
-     * Adds a ElementEventHandler. Handler's can be registered for multiple events. A registered
-     * handler will be called at every recognized event.
-     * <p>
-     * The alternative would be to register handlers for each event. Or maybe The handler interface
-     * should have a method to return whether it cares about certain events.
-     * <p>
-     * @param eventHandler The ElementEventHandler to be added to the list.
-     */
-    @Override
-    public void addElementEventHandler( IElementEventHandler eventHandler )
-    {
-        // lazy here, no concurrency problems expected
-        if ( this.eventHandlers == null )
-        {
-            this.eventHandlers = new ArrayList<IElementEventHandler>();
-        }
-        this.eventHandlers.add( eventHandler );
-    }
-
-    /**
-     * Sets the eventHandlers of the IElementAttributes object.
-     * <p>
-     * This add the references to the local list. Subsequent changes in the caller's list will not
-     * be reflected.
-     * <p>
-     * @param eventHandlers List of IElementEventHandler objects
-     */
-    @Override
-    public void addElementEventHandlers( List<IElementEventHandler> eventHandlers )
-    {
-        if ( eventHandlers == null )
-        {
-            return;
-        }
-
-        for (IElementEventHandler handler : eventHandlers)
-        {
-            addElementEventHandler(handler);
-        }
-    }
-
-    @Override
-    public long getTimeFactorForMilliseconds()
-    {
-        return timeFactor;
-    }
-
-    @Override
-    public void setTimeFactorForMilliseconds(long factor)
-    {
-        this.timeFactor = factor;
-    }
-
-    /**
-     * Gets the elementEventHandlers. Returns null if none exist. Makes checking easy.
-     * <p>
-     * @return The elementEventHandlers List of IElementEventHandler objects
-     */
-    @Override
-    public ArrayList<IElementEventHandler> getElementEventHandlers()
-    {
-        return this.eventHandlers;
-    }
-
-    /**
-     * For logging and debugging the element IElementAttributes.
-     * <p>
-     * @return String info about the values.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder dump = new StringBuilder();
-
-        dump.append( "[ IS_LATERAL = " ).append( IS_LATERAL );
-        dump.append( ", IS_SPOOL = " ).append( IS_SPOOL );
-        dump.append( ", IS_REMOTE = " ).append( IS_REMOTE );
-        dump.append( ", IS_ETERNAL = " ).append( IS_ETERNAL );
-        dump.append( ", MaxLifeSeconds = " ).append( this.getMaxLife() );
-        dump.append( ", IdleTime = " ).append( this.getIdleTime() );
-        dump.append( ", CreateTime = " ).append( this.getCreateTime() );
-        dump.append( ", LastAccessTime = " ).append( this.getLastAccessTime() );
-        dump.append( ", getTimeToLiveSeconds() = " ).append( String.valueOf( getTimeToLiveSeconds() ) );
-        dump.append( ", createTime = " ).append( String.valueOf( createTime ) ).append( " ]" );
-
-        return dump.toString();
-    }
-
-    /**
-     * @see java.lang.Object#clone()
-     */
-    @Override
-    public IElementAttributes clone()
-    {
-        try
-        {
-            return (IElementAttributes)super.clone();
-        }
-        catch (CloneNotSupportedException e)
-        {
-            throw new RuntimeException("Clone not supported. This should never happen.", e);
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/PooledCacheEventQueue.java b/src/org/apache/commons/jcs/engine/PooledCacheEventQueue.java
deleted file mode 100644
index 56cc973..0000000
--- a/src/org/apache/commons/jcs/engine/PooledCacheEventQueue.java
+++ /dev/null
@@ -1,228 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheListener;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.jcs.utils.threadpool.ThreadPoolManager;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.util.ArrayList;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-
-/**
- * An event queue is used to propagate ordered cache events to one and only one target listener.
- * <p>
- * This is a modified version of the experimental version. It uses a PooledExecutor and a
- * BoundedBuffer to queue up events and execute them as threads become available.
- * <p>
- * The PooledExecutor is static, because presumably these processes will be IO bound, so throwing
- * more than a few threads at them will serve no purpose other than to saturate the IO interface. In
- * light of this, having one thread per region seems unnecessary. This may prove to be false.
- */
-public class PooledCacheEventQueue<K, V>
-    extends AbstractCacheEventQueue<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( PooledCacheEventQueue.class );
-
-    /** The type of event queue */
-    private static final QueueType queueType = QueueType.POOLED;
-
-    /** The Thread Pool to execute events with. */
-    private ThreadPoolExecutor pool = null;
-
-    /**
-     * Constructor for the CacheEventQueue object
-     * <p>
-     * @param listener
-     * @param listenerId
-     * @param cacheName
-     * @param maxFailure
-     * @param waitBeforeRetry
-     * @param threadPoolName
-     */
-    public PooledCacheEventQueue( ICacheListener<K, V> listener, long listenerId, String cacheName, int maxFailure,
-                                  int waitBeforeRetry, String threadPoolName )
-    {
-        initialize( listener, listenerId, cacheName, maxFailure, waitBeforeRetry, threadPoolName );
-    }
-
-    /**
-     * Initializes the queue.
-     * <p>
-     * @param listener
-     * @param listenerId
-     * @param cacheName
-     * @param maxFailure
-     * @param waitBeforeRetry
-     * @param threadPoolName
-     */
-    @Override
-    public void initialize( ICacheListener<K, V> listener, long listenerId, String cacheName, int maxFailure,
-                            int waitBeforeRetry, String threadPoolName )
-    {
-        if ( listener == null )
-        {
-            throw new IllegalArgumentException( "listener must not be null" );
-        }
-
-        this.listener = listener;
-        this.listenerId = listenerId;
-        this.cacheName = cacheName;
-        this.maxFailure = maxFailure <= 0 ? 3 : maxFailure;
-        this.waitBeforeRetry = waitBeforeRetry <= 0 ? 500 : waitBeforeRetry;
-
-        // this will share the same pool with other event queues by default.
-        pool = ThreadPoolManager.getInstance().getPool(
-                (threadPoolName == null) ? "cache_event_queue" : threadPoolName );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Initialized: " + this );
-        }
-    }
-
-    /**
-     * @return the queue type
-     */
-    @Override
-    public QueueType getQueueType()
-    {
-        return queueType;
-    }
-
-    /**
-     * Event Q is empty.
-     */
-    public synchronized void stopProcessing()
-    {
-        destroyed = true;
-    }
-
-    /**
-     * Destroy the queue. Interrupt all threads.
-     */
-    @Override
-    public synchronized void destroy()
-    {
-        if ( !destroyed )
-        {
-            destroyed = true;
-            pool.shutdownNow();
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Cache event queue destroyed: " + this );
-            }
-        }
-    }
-
-    /**
-     * Adds an event to the queue.
-     * <p>
-     * @param event
-     */
-    @Override
-    protected void put( AbstractCacheEvent event )
-    {
-        pool.execute( event );
-    }
-
-    /**
-     * @return Statistics info
-     */
-    public String getStats()
-    {
-        return getStatistics().toString();
-    }
-
-    /**
-     * @return IStats
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "Pooled Cache Event Queue" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        elems.add(new StatElement<Boolean>( "Working", Boolean.valueOf(super.isWorking()) ) );
-        elems.add(new StatElement<Boolean>( "Alive", Boolean.valueOf(this.isAlive()) ) );
-        elems.add(new StatElement<Boolean>( "Empty", Boolean.valueOf(this.isEmpty()) ) );
-
-        if ( pool.getQueue() != null )
-        {
-            BlockingQueue<Runnable> bb = pool.getQueue();
-            elems.add(new StatElement<Integer>( "Queue Size", Integer.valueOf(bb.size()) ) );
-            elems.add(new StatElement<Integer>( "Queue Capacity", Integer.valueOf(bb.remainingCapacity()) ) );
-        }
-
-        elems.add(new StatElement<Integer>( "Pool Size", Integer.valueOf(pool.getPoolSize()) ) );
-        elems.add(new StatElement<Integer>( "Maximum Pool Size", Integer.valueOf(pool.getMaximumPoolSize()) ) );
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-
-    /**
-     * If the Queue is using a bounded channel we can determine the size. If it is zero or we can't
-     * determine the size, we return true.
-     * <p>
-     * @return whether or not there are items in the queue
-     */
-    @Override
-    public boolean isEmpty()
-    {
-        if ( pool.getQueue() == null )
-        {
-            return true;
-        }
-        else
-        {
-            return pool.getQueue().size() == 0;
-        }
-    }
-
-    /**
-     * Returns the number of elements in the queue. If the queue cannot determine the size
-     * accurately it will return 1.
-     * <p>
-     * @return number of items in the queue.
-     */
-    @Override
-    public int size()
-    {
-        if ( pool.getQueue() == null )
-        {
-            return 0;
-        }
-        else
-        {
-            return pool.getQueue().size();
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/ZombieCacheService.java b/src/org/apache/commons/jcs/engine/ZombieCacheService.java
deleted file mode 100644
index dfa47fe..0000000
--- a/src/org/apache/commons/jcs/engine/ZombieCacheService.java
+++ /dev/null
@@ -1,156 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheService;
-import org.apache.commons.jcs.engine.behavior.IZombie;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Zombie adapter for any cache service. Balks at every call.
- */
-public class ZombieCacheService<K, V>
-    implements ICacheService<K, V>, IZombie
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( ZombieCacheService.class );
-
-    /**
-     * @param item
-     */
-    public void put( ICacheElement<K, V> item )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Zombie put for item " + item );
-        }
-        // zombies have no inner life
-    }
-
-    /**
-     * Does nothing.
-     * <p>
-     * @param item
-     */
-    @Override
-    public void update( ICacheElement<K, V> item )
-    {
-        // zombies have no inner life
-    }
-
-    /**
-     * @param cacheName
-     * @param key
-     * @return null. zombies have no internal data
-     */
-    @Override
-    public ICacheElement<K, V> get( String cacheName, K key )
-    {
-        return null;
-    }
-
-    /**
-     * Returns an empty map. Zombies have no internal data.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @return Collections.EMPTY_MAP
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
-    {
-        return Collections.emptyMap();
-    }
-
-    /**
-     * Returns an empty map. Zombies have no internal data.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @return Collections.EMPTY_MAP
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
-    {
-        return Collections.emptyMap();
-    }
-
-    /**
-     * Logs the get to debug, but always balks.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param container
-     * @return null always
-     */
-    public Serializable get( String cacheName, K key, boolean container )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Zombie get for key [" + key + "] cacheName [" + cacheName + "] container [" + container + "]" );
-        }
-        // zombies have no inner life
-        return null;
-    }
-
-    /**
-     * @param cacheName
-     * @param key
-     */
-    @Override
-    public void remove( String cacheName, K key )
-    {
-        // zombies have no inner life
-    }
-
-    /**
-     * @param cacheName
-     */
-    @Override
-    public void removeAll( String cacheName )
-    {
-        // zombies have no inner life
-    }
-
-    /**
-     * @param cacheName
-     */
-    @Override
-    public void dispose( String cacheName )
-    {
-        // zombies have no inner life
-    }
-
-    /**
-     * Frees all caches.
-     */
-    @Override
-    public void release()
-    {
-        // zombies have no inner life
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/ZombieCacheServiceNonLocal.java b/src/org/apache/commons/jcs/engine/ZombieCacheServiceNonLocal.java
deleted file mode 100644
index 857fb08..0000000
--- a/src/org/apache/commons/jcs/engine/ZombieCacheServiceNonLocal.java
+++ /dev/null
@@ -1,313 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheServiceNonLocal;
-import org.apache.commons.jcs.utils.struct.BoundedQueue;
-import org.apache.commons.jcs.utils.timing.ElapsedTimer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Zombie adapter for the non local cache services. It just balks if there is no queue configured.
- * <p>
- * If a queue is configured, then events will be added to the queue. The idea is that when proper
- * operation is restored, the non local cache will walk the queue. The queue must be bounded so it
- * does not eat memory.
- * <p>
- * This originated in the remote cache.
- */
-public class ZombieCacheServiceNonLocal<K, V>
-    extends ZombieCacheService<K, V>
-    implements ICacheServiceNonLocal<K, V>
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( ZombieCacheServiceNonLocal.class );
-
-    /** How big can the queue grow. */
-    private int maxQueueSize = 0;
-
-    /** The queue */
-    private final BoundedQueue<ZombieEvent> queue;
-
-    /**
-     * Default.
-     */
-    public ZombieCacheServiceNonLocal()
-    {
-        queue = new BoundedQueue<ZombieEvent>( 0 );
-    }
-
-    /**
-     * Sets the maximum number of items that will be allowed on the queue.
-     * <p>
-     * @param maxQueueSize
-     */
-    public ZombieCacheServiceNonLocal( int maxQueueSize )
-    {
-        this.maxQueueSize = maxQueueSize;
-        queue = new BoundedQueue<ZombieEvent>( maxQueueSize );
-    }
-
-    /**
-     * Gets the number of items on the queue.
-     * <p>
-     * @return size of the queue.
-     */
-    public int getQueueSize()
-    {
-        return queue.size();
-    }
-
-    /**
-     * Adds an update event to the queue if the maxSize is greater than 0;
-     * <p>
-     * @param item ICacheElement
-     * @param listenerId - identifies the caller.
-     */
-    @Override
-    public void update( ICacheElement<K, V> item, long listenerId )
-    {
-        if ( maxQueueSize > 0 )
-        {
-            PutEvent<K, V> event = new PutEvent<K, V>( item, listenerId );
-            queue.add( event );
-        }
-        // Zombies have no inner life
-    }
-
-    /**
-     * Adds a removeAll event to the queue if the maxSize is greater than 0;
-     * <p>
-     * @param cacheName - region name
-     * @param key - item key
-     * @param listenerId - identifies the caller.
-     */
-    @Override
-    public void remove( String cacheName, K key, long listenerId )
-    {
-        if ( maxQueueSize > 0 )
-        {
-            RemoveEvent<K> event = new RemoveEvent<K>( cacheName, key, listenerId );
-            queue.add( event );
-        }
-        // Zombies have no inner life
-    }
-
-    /**
-     * Adds a removeAll event to the queue if the maxSize is greater than 0;
-     * <p>
-     * @param cacheName - name of the region
-     * @param listenerId - identifies the caller.
-     */
-    @Override
-    public void removeAll( String cacheName, long listenerId )
-    {
-        if ( maxQueueSize > 0 )
-        {
-            RemoveAllEvent event = new RemoveAllEvent( cacheName, listenerId );
-            queue.add( event );
-        }
-        // Zombies have no inner life
-    }
-
-    /**
-     * Does nothing. Gets are synchronous and cannot be added to a queue.
-     * <p>
-     * @param cacheName - region name
-     * @param key - item key
-     * @param requesterId - identifies the caller.
-     * @return null
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> get( String cacheName, K key, long requesterId )
-        throws IOException
-    {
-        // Zombies have no inner life
-        return null;
-    }
-
-    /**
-     * Does nothing.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @param requesterId
-     * @return empty map
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
-        throws IOException
-    {
-        return Collections.emptyMap();
-    }
-
-    /**
-     * @param cacheName - region name
-     * @param keys - item key
-     * @param requesterId - identity of the caller
-     * @return an empty map. zombies have no internal data
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
-    {
-        return new HashMap<K, ICacheElement<K, V>>();
-    }
-
-    /**
-     * Does nothing.
-     * <p>
-     * @param cacheName - region name
-     * @return empty set
-     */
-    @Override
-    public Set<K> getKeySet( String cacheName )
-    {
-        return Collections.emptySet();
-    }
-
-    /**
-     * Walk the queue, calling the service for each queue operation.
-     * <p>
-     * @param service
-     * @throws Exception
-     */
-    public synchronized void propagateEvents( ICacheServiceNonLocal<K, V> service )
-        throws Exception
-    {
-        int cnt = 0;
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Propagating events to the new ICacheServiceNonLocal." );
-        }
-        ElapsedTimer timer = new ElapsedTimer();
-        while ( !queue.isEmpty() )
-        {
-            cnt++;
-
-            // for each item, call the appropriate service method
-            ZombieEvent event = queue.take();
-
-            if ( event instanceof PutEvent )
-            {
-                @SuppressWarnings("unchecked") // Type checked by instanceof
-                PutEvent<K, V> putEvent = (PutEvent<K, V>) event;
-                service.update( putEvent.element, event.requesterId );
-            }
-            else if ( event instanceof RemoveEvent )
-            {
-                @SuppressWarnings("unchecked") // Type checked by instanceof
-                RemoveEvent<K> removeEvent = (RemoveEvent<K>) event;
-                service.remove( event.cacheName, removeEvent.key, event.requesterId );
-            }
-            else if ( event instanceof RemoveAllEvent )
-            {
-                service.removeAll( event.cacheName, event.requesterId );
-            }
-        }
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Propagated " + cnt + " events to the new ICacheServiceNonLocal in "
-                + timer.getElapsedTimeString() );
-        }
-    }
-
-    /**
-     * Base of the other events.
-     */
-    protected static abstract class ZombieEvent
-    {
-        /** The name of the region. */
-        String cacheName;
-
-        /** The id of the requester */
-        long requesterId;
-    }
-
-    /**
-     * A basic put event.
-     */
-    private static class PutEvent<K, V>
-        extends ZombieEvent
-    {
-        /** The element to put */
-        ICacheElement<K, V> element;
-
-        /**
-         * Set the element
-         * @param element
-         * @param requesterId
-         */
-        public PutEvent( ICacheElement<K, V> element, long requesterId )
-        {
-            this.requesterId = requesterId;
-            this.element = element;
-        }
-    }
-
-    /**
-     * A basic Remove event.
-     */
-    private static class RemoveEvent<K>
-        extends ZombieEvent
-    {
-        /** The key to remove */
-        K key;
-
-        /**
-         * Set the element
-         * @param cacheName
-         * @param key
-         * @param requesterId
-         */
-        public RemoveEvent( String cacheName, K key, long requesterId )
-        {
-            this.cacheName = cacheName;
-            this.requesterId = requesterId;
-            this.key = key;
-        }
-    }
-
-    /**
-     * A basic RemoveAll event.
-     */
-    private static class RemoveAllEvent
-        extends ZombieEvent
-    {
-        /**
-         * @param cacheName
-         * @param requesterId
-         */
-        public RemoveAllEvent( String cacheName, long requesterId )
-        {
-            this.cacheName = cacheName;
-            this.requesterId = requesterId;
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/ZombieCacheWatch.java b/src/org/apache/commons/jcs/engine/ZombieCacheWatch.java
deleted file mode 100644
index 8a17e57..0000000
--- a/src/org/apache/commons/jcs/engine/ZombieCacheWatch.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.apache.commons.jcs.engine;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheListener;
-import org.apache.commons.jcs.engine.behavior.ICacheObserver;
-import org.apache.commons.jcs.engine.behavior.IZombie;
-
-/**
- * Zombie Observer.
- */
-public class ZombieCacheWatch
-    implements ICacheObserver, IZombie
-{
-    /**
-     * Adds a feature to the CacheListener attribute of the ZombieCacheWatch object
-     * <p>
-     * @param cacheName The feature to be added to the CacheListener attribute
-     * @param obj The feature to be added to the CacheListener attribute
-     */
-    @Override
-    public <K, V> void addCacheListener( String cacheName, ICacheListener<K, V> obj )
-    {
-        // empty
-    }
-
-    /**
-     * Adds a feature to the CacheListener attribute of the ZombieCacheWatch object
-     * <p>
-     * @param obj The feature to be added to the CacheListener attribute
-     */
-    @Override
-    public <K, V> void addCacheListener( ICacheListener<K, V> obj )
-    {
-        // empty
-    }
-
-    /**
-     * @param cacheName
-     * @param obj
-     */
-    @Override
-    public <K, V> void removeCacheListener( String cacheName, ICacheListener<K, V> obj )
-    {
-        // empty
-    }
-
-    /**
-     * @param obj
-     */
-    @Override
-    public <K, V> void removeCacheListener( ICacheListener<K, V> obj )
-    {
-        // empty
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICache.java b/src/org/apache/commons/jcs/engine/behavior/ICache.java
deleted file mode 100644
index 3398336..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICache.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.match.behavior.IKeyMatcher;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * This is the top level interface for all cache like structures. It defines the methods used
- * internally by JCS to access, modify, and instrument such structures.
- * <p>
- * This allows for a suite of reusable components for accessing such structures, for example
- * asynchronous access via an event queue.
- */
-public interface ICache<K, V>
-    extends ICacheType
-{
-    /**
-     * Puts an item to the cache.
-     * <p>
-     * @param element
-     * @throws IOException
-     */
-    void update( ICacheElement<K, V> element )
-        throws IOException;
-
-    /**
-     * Gets an item from the cache.
-     * <p>
-     * @param key
-     * @return a cache element, or null if there is no data in cache for this key
-     * @throws IOException
-     */
-    ICacheElement<K, V> get( K key )
-        throws IOException;
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no data in cache for any of these keys
-     * @throws IOException
-     */
-    Map<K, ICacheElement<K, V>> getMultiple(Set<K> keys)
-        throws IOException;
-
-    /**
-     * Gets items from the cache matching the given pattern.  Items from memory will replace those from remote sources.
-     * <p>
-     * This only works with string keys.  It's too expensive to do a toString on every key.
-     * <p>
-     * Auxiliaries will do their best to handle simple expressions.  For instance, the JDBC disk cache will convert * to % and . to _
-     * <p>
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no data matching the pattern.
-     * @throws IOException
-     */
-    Map<K, ICacheElement<K, V>> getMatching(String pattern)
-        throws IOException;
-
-    /**
-     * Removes an item from the cache.
-     * <p>
-     * @param key
-     * @return false if there was an error in removal
-     * @throws IOException
-     */
-    boolean remove( K key )
-        throws IOException;
-
-    /**
-     * Removes all cached items from the cache.
-     * <p>
-     * @throws IOException
-     */
-    void removeAll()
-        throws IOException;
-
-    /**
-     * Prepares for shutdown.
-     * @throws IOException
-     */
-    void dispose()
-        throws IOException;
-
-    /**
-     * Returns the current cache size in number of elements.
-     * <p>
-     * @return number of elements
-     */
-    int getSize();
-
-    /**
-     * Returns the cache status.
-     * <p>
-     * @return Alive or Error
-     */
-    CacheStatus getStatus();
-
-    /**
-     * Returns the cache stats.
-     * <p>
-     * @return String of important historical information.
-     */
-    String getStats();
-
-    /**
-     * Returns the cache name.
-     * <p>
-     * @return usually the region name.
-     */
-    String getCacheName();
-
-    /**
-     * Sets the key matcher used by get matching.
-     * <p>
-     * @param keyMatcher
-     */
-    void setKeyMatcher( IKeyMatcher<K> keyMatcher );
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICacheElement.java b/src/org/apache/commons/jcs/engine/behavior/ICacheElement.java
deleted file mode 100644
index 3ce48b0..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICacheElement.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-/**
- * Every item is the cache is wrapped in an ICacheElement. This contains
- * information about the element: the region name, the key, the value, and the
- * element attributes.
- * <p>
- * The element attributes have lots of useful information about each element,
- * such as when they were created, how long they have to live, and if they are
- * allowed to be spooled, etc.
- *
- */
-public interface ICacheElement<K, V>
-    extends Serializable
-{
-
-    /**
-     * Gets the cacheName attribute of the ICacheElement<K, V> object. The cacheName
-     * is also known as the region name.
-     *
-     * @return The cacheName value
-     */
-    String getCacheName();
-
-    /**
-     * Gets the key attribute of the ICacheElement<K, V> object
-     *
-     * @return The key value
-     */
-    K getKey();
-
-    /**
-     * Gets the val attribute of the ICacheElement<K, V> object
-     *
-     * @return The val value
-     */
-    V getVal();
-
-    /**
-     * Gets the attributes attribute of the ICacheElement<K, V> object
-     *
-     * @return The attributes value
-     */
-    IElementAttributes getElementAttributes();
-
-    /**
-     * Sets the attributes attribute of the ICacheElement<K, V> object
-     *
-     * @param attr
-     *            The new attributes value
-     */
-    void setElementAttributes( IElementAttributes attr );
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICacheElementSerialized.java b/src/org/apache/commons/jcs/engine/behavior/ICacheElementSerialized.java
deleted file mode 100644
index d4da08d..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICacheElementSerialized.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This interface defines the behavior of the serialized element wrapper.
- * <p>
- * The value is stored as a byte array. This should allow for a variety of serialization mechanisms.
- * <p>
- * This currently extends ICacheElement<K, V> for backward compatibility.
- *<p>
- * @author Aaron Smuts
- */
-public interface ICacheElementSerialized<K, V>
-    extends ICacheElement<K, V>
-{
-    /**
-     * Gets the value attribute of the ICacheElementSerialized object. This is the value the client
-     * cached serialized by some mechanism.
-     *<p>
-     * @return The serialized value
-     */
-    byte[] getSerializedValue();
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICacheEventQueue.java b/src/org/apache/commons/jcs/engine/behavior/ICacheEventQueue.java
deleted file mode 100644
index 618bdc1..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICacheEventQueue.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-
-import java.io.IOException;
-
-/**
- * Interface for a cache event queue. An event queue is used to propagate
- * ordered cache events to one and only one target listener.
- */
-public interface ICacheEventQueue<K, V>
-{
-    enum QueueType
-    {
-        /** Does not use a thread pool. */
-        SINGLE,
-
-        /** Uses a thread pool. */
-        POOLED
-    }
-
-    /**
-     * Initializes the queue.
-     * <,p>
-     * @param listener
-     * @param listenerId
-     * @param cacheName
-     * @param maxFailure
-     * @param waitBeforeRetry
-     * @param threadPoolName
-     */
-    void initialize( ICacheListener<K, V> listener, long listenerId, String cacheName, int maxFailure,
-                            int waitBeforeRetry, String threadPoolName );
-
-    /**
-     * Return the type of event queue we are using, either single or pooled.
-     * <p>
-     * @return the queue type: single or pooled
-     */
-    QueueType getQueueType();
-
-    /**
-     * Adds a feature to the PutEvent attribute of the ICacheEventQueue object
-     * <p>
-     * @param ce
-     *            The feature to be added to the PutEvent attribute
-     * @throws IOException
-     */
-    void addPutEvent( ICacheElement<K, V> ce )
-        throws IOException;
-
-    /**
-     * Adds a feature to the RemoveEvent attribute of the ICacheEventQueue
-     * object
-     * <p>
-     * @param key
-     *            The feature to be added to the RemoveEvent attribute
-     * @throws IOException
-     */
-    void addRemoveEvent( K key )
-        throws IOException;
-
-    /**
-     * Adds a feature to the RemoveAllEvent attribute of the ICacheEventQueue
-     * object
-     * <p>
-     * @throws IOException
-     */
-    void addRemoveAllEvent()
-        throws IOException;
-
-    /**
-     * Adds a feature to the DisposeEvent attribute of the ICacheEventQueue
-     * object
-     * <p>
-     * @throws IOException
-     */
-    void addDisposeEvent()
-        throws IOException;
-
-    /**
-     * Gets the listenerId attribute of the ICacheEventQueue object
-     *
-     * @return The listenerId value
-     */
-    long getListenerId();
-
-    /** Description of the Method */
-    void destroy();
-
-    /**
-     * Gets the alive attribute of the ICacheEventQueue object. Alive just
-     * indicates that there are active threads. This is less important that if
-     * the queue is working.
-     * <p>
-     * @return The alive value
-     */
-    boolean isAlive();
-
-    /**
-     * A Queue is working unless it has reached its max failure count.
-     * <p>
-     * @return boolean
-     */
-    boolean isWorking();
-
-    /**
-     * Returns the number of elements in the queue.  If the queue cannot
-     * determine the size accurately it will return 1.
-     * <p>
-     * @return number of items in the queue.
-     */
-    int size();
-
-    /**
-     * Are there elements in the queue.
-     * <p>
-     * @return true if there are stil elements.
-     */
-    boolean isEmpty();
-
-    /**
-     * Returns the historical and statistical data for an event queue cache.
-     * <p>
-     * @return IStats
-     */
-    IStats getStatistics();
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICacheListener.java b/src/org/apache/commons/jcs/engine/behavior/ICacheListener.java
deleted file mode 100644
index 5e15913..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICacheListener.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-
-/**
- * Used to receive a cache event notification.
- * <p>
- * Note: objects which implement this interface are local listeners to cache changes, whereas
- * objects which implement IRmiCacheListener are remote listeners to cache changes.
- */
-public interface ICacheListener<K, V>
-{
-    /**
-     * Notifies the subscribers for a cache entry update.
-     * <p>
-     * @param item
-     * @throws IOException
-     */
-    void handlePut( ICacheElement<K, V> item )
-        throws IOException;
-
-    /**
-     * Notifies the subscribers for a cache entry removal.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @throws IOException
-     */
-    void handleRemove( String cacheName, K key )
-        throws IOException;
-
-    /**
-     * Notifies the subscribers for a cache remove-all.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    void handleRemoveAll( String cacheName )
-        throws IOException;
-
-    /**
-     * Notifies the subscribers for freeing up the named cache.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    void handleDispose( String cacheName )
-        throws IOException;
-
-    /**
-     * sets unique identifier of listener home
-     * <p>
-     * @param id The new listenerId value
-     * @throws IOException
-     */
-    void setListenerId( long id )
-        throws IOException;
-
-    /**
-     * Gets the listenerId attribute of the ICacheListener object
-     * <p>
-     * @return The listenerId value
-     * @throws IOException
-     */
-    long getListenerId()
-        throws IOException;
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICacheManager.java b/src/org/apache/commons/jcs/engine/behavior/ICacheManager.java
deleted file mode 100644
index 59bd073..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICacheManager.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-
-/**
- * Interface implemented by a specific cache.
- *
- */
-public interface ICacheManager
-    extends ICacheType
-{
-
-    /**
-     * methods to get a cache region from a manager
-     * @param cacheName
-     *
-     * @return The cache value
-     */
-    <K extends Serializable, V extends Serializable> ICache<K, V> getCache( String cacheName );
-
-}
-// end interface
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICacheObserver.java b/src/org/apache/commons/jcs/engine/behavior/ICacheObserver.java
deleted file mode 100644
index 11c9a05..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICacheObserver.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-
-/**
- * Used to register interest in receiving cache changes. <br>
- * <br>
- * Note: server which implements this interface provides a local cache event
- * notification service, whereas server which implements IRmiCacheWatch provides
- * a remote cache event notification service.
- *
- */
-public interface ICacheObserver
-{
-    /**
-     * Subscribes to the specified cache.
-     *
-     * @param cacheName
-     *            the specified cache.
-     * @param obj
-     *            object to notify for cache changes.
-     * @throws IOException
-     */
-    <K, V> void addCacheListener( String cacheName, ICacheListener<K, V> obj )
-        throws IOException;
-
-    //, CacheNotFoundException;
-
-    /**
-     * Subscribes to all caches.
-     *
-     * @param obj
-     *            object to notify for all cache changes.
-     * @throws IOException
-     */
-    <K, V> void addCacheListener( ICacheListener<K, V> obj )
-        throws IOException;
-
-    /**
-     * Unsubscribes from the specified cache.
-     * @param cacheName
-     *
-     * @param obj
-     *            existing subscriber.
-     * @throws IOException
-     */
-    <K, V> void removeCacheListener( String cacheName, ICacheListener<K, V> obj )
-        throws IOException;
-
-    /**
-     * Unsubscribes from all caches.
-     *
-     * @param obj
-     *            existing subscriber.
-     * @throws IOException
-     */
-    <K, V> void removeCacheListener( ICacheListener<K, V> obj )
-        throws IOException;
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICacheRestore.java b/src/org/apache/commons/jcs/engine/behavior/ICacheRestore.java
deleted file mode 100644
index 2e7efa3..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICacheRestore.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * TODO: Description of the Interface
- *
- */
-public interface ICacheRestore
-{
-    /**
-     * Tries to fix the cache, returns true if successful.
-     *
-     * @return true if fixed
-     */
-    boolean canFix();
-
-    /** Fix the cache */
-    void fix();
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICacheService.java b/src/org/apache/commons/jcs/engine/behavior/ICacheService.java
deleted file mode 100644
index f1f59c8..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICacheService.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.access.exception.ObjectExistsException;
-import org.apache.commons.jcs.access.exception.ObjectNotFoundException;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Used to retrieve and update the cache.
- * <p>
- * Note: server which implements this interface provides a local cache service, whereas server which
- * implements IRmiCacheService provides a remote cache service.
- */
-public interface ICacheService<K, V>
-{
-    /**
-     * Puts a cache item to the cache.
-     * <p>
-     * @param item
-     * @throws ObjectExistsException
-     * @throws IOException
-     */
-    void update( ICacheElement<K, V> item )
-        throws ObjectExistsException, IOException;
-
-    /**
-     * Returns a cache bean from the specified cache; or null if the key does not exist.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @return the ICacheElement<K, V> or null if not found
-     * @throws ObjectNotFoundException
-     * @throws IOException
-     */
-    ICacheElement<K, V> get( String cacheName, K key )
-        throws ObjectNotFoundException, IOException;
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws ObjectNotFoundException
-     * @throws IOException
-     */
-    Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys )
-        throws ObjectNotFoundException, IOException;
-
-    /**
-     * Gets multiple items from the cache matching the pattern.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache matching the pattern.
-     * @throws IOException
-     */
-    Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern )
-        throws IOException;
-
-    /**
-     * Removes the given key from the specified cache.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @throws IOException
-     */
-    void remove( String cacheName, K key )
-        throws IOException;
-
-    /**
-     * Remove all keys from the specified cache.
-     * @param cacheName
-     * @throws IOException
-     */
-    void removeAll( String cacheName )
-        throws IOException;
-
-    /**
-     * Frees the specified cache.
-     * <p>
-     * @param cacheName
-     * @throws IOException
-     */
-    void dispose( String cacheName )
-        throws IOException;
-
-    /**
-     * Frees all caches.
-     * @throws IOException
-     */
-    void release()
-        throws IOException;
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICacheServiceAdmin.java b/src/org/apache/commons/jcs/engine/behavior/ICacheServiceAdmin.java
deleted file mode 100644
index 856ff51..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICacheServiceAdmin.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-
-/**
- * Description of the Interface
- *
- */
-public interface ICacheServiceAdmin
-{
-
-    /**
-     * Gets the stats attribute of the ICacheServiceAdmin object
-     *
-     * @return The stats value
-     * @throws IOException
-     */
-    String getStats()
-        throws IOException;
-
-    /** Description of the Method
-     * @throws IOException*/
-    void shutdown()
-        throws IOException;
-
-    /** Description of the Method
-     * @param host
-     * @param port
-     * @throws IOException*/
-    void shutdown( String host, int port )
-        throws IOException;
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICacheServiceNonLocal.java b/src/org/apache/commons/jcs/engine/behavior/ICacheServiceNonLocal.java
deleted file mode 100644
index a150b3b..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICacheServiceNonLocal.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.rmi.Remote;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Used to retrieve and update non local caches, such as the remote and lateral caches. Unlike
- * ICacheService, the methods here have a requester id. This allows us to avoid propagating events
- * to ourself.
- * <p>
- * TODO consider not extending ICacheService
- */
-public interface ICacheServiceNonLocal<K, V>
-    extends Remote, ICacheService<K, V>
-{
-    /**
-     * Puts a cache item to the cache.
-     * <p>
-     * @param item
-     * @param requesterId
-     * @throws IOException
-     */
-    void update( ICacheElement<K, V> item, long requesterId )
-        throws IOException;
-
-    /**
-     * Removes the given key from the specified cache.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @throws IOException
-     */
-    void remove( String cacheName, K key, long requesterId )
-        throws IOException;
-
-    /**
-     * Remove all keys from the specified cache.
-     * <p>
-     * @param cacheName
-     * @param requesterId
-     * @throws IOException
-     */
-    void removeAll( String cacheName, long requesterId )
-        throws IOException;
-
-    /**
-     * Returns a cache bean from the specified cache; or null if the key does not exist.
-     * <p>
-     * Adding the requester id, allows the cache to determine the source of the get.
-     * <p>
-     * @param cacheName
-     * @param key
-     * @param requesterId
-     * @return ICacheElement
-     * @throws IOException
-     */
-    ICacheElement<K, V> get( String cacheName, K key, long requesterId )
-        throws IOException;
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param cacheName
-     * @param keys
-     * @param requesterId
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    Map<K, ICacheElement<K, V>> getMultiple( String cacheName, Set<K> keys, long requesterId )
-        throws IOException;
-
-    /**
-     * Gets multiple items from the cache matching the pattern.
-     * <p>
-     * @param cacheName
-     * @param pattern
-     * @param requesterId
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache matching the pattern.
-     * @throws IOException
-     */
-    Map<K, ICacheElement<K, V>> getMatching( String cacheName, String pattern, long requesterId )
-        throws IOException;
-
-    /**
-     * Get a set of the keys for all elements in the cache.
-     * <p>
-     * @param cacheName the name of the cache
-     * @return a set of the key type
-     * TODO This should probably be done in chunks with a range passed in. This
-     *       will be a problem if someone puts a 1,000,000 or so items in a
-     *       region.
-     */
-    Set<K> getKeySet( String cacheName ) throws IOException;
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICacheType.java b/src/org/apache/commons/jcs/engine/behavior/ICacheType.java
deleted file mode 100644
index 3828f3a..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICacheType.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Interface implemented by a specific cache.
- *
- */
-public interface ICacheType
-{
-    enum CacheType {
-        /** Composite/ memory cache type, central hub. */
-        CACHE_HUB,
-
-        /** Disk cache type. */
-        DISK_CACHE,
-
-        /** Lateral cache type. */
-        LATERAL_CACHE,
-
-        /** Remote cache type. */
-        REMOTE_CACHE
-    }
-
-    /**
-     * Returns the cache type.
-     * <p>
-     * @return The cacheType value
-     */
-    CacheType getCacheType();
-
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICompositeCacheAttributes.java b/src/org/apache/commons/jcs/engine/behavior/ICompositeCacheAttributes.java
deleted file mode 100644
index 7d22e4e..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICompositeCacheAttributes.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-/**
- * This defines the minimal behavior for the Cache Configuration settings.
- */
-public interface ICompositeCacheAttributes
-    extends Serializable, Cloneable
-{
-    enum DiskUsagePattern
-    {
-        /** Items will only go to disk when the memory limit is reached. This is the default. */
-        SWAP,
-
-        /**
-         * Items will go to disk on a normal put. If The disk usage pattern is UPDATE, the swap will be
-         * disabled.
-         */
-        UPDATE
-    }
-
-    /**
-     * SetMaxObjects is used to set the attribute to determine the maximum
-     * number of objects allowed in the memory cache. If the max number of
-     * objects or the cache size is set, the default for the one not set is
-     * ignored. If both are set, both are used to determine the capacity of the
-     * cache, i.e., object will be removed from the cache if either limit is
-     * reached. TODO: move to MemoryCache config file.
-     * <p>
-     * @param size
-     *            The new maxObjects value
-     */
-    void setMaxObjects( int size );
-
-    /**
-     * Gets the maxObjects attribute of the ICompositeCacheAttributes object
-     * <p>
-     * @return The maxObjects value
-     */
-    int getMaxObjects();
-
-    /**
-     * Sets the useDisk attribute of the ICompositeCacheAttributes object
-     * <p>
-     * @param useDisk
-     *            The new useDisk value
-     */
-    void setUseDisk( boolean useDisk );
-
-    /**
-     * Gets the useDisk attribute of the ICompositeCacheAttributes object
-     * <p>
-     * @return The useDisk value
-     */
-    boolean isUseDisk();
-
-    /**
-     * set whether the cache should use a lateral cache
-     * <p>
-     * @param d
-     *            The new useLateral value
-     */
-    void setUseLateral( boolean d );
-
-    /**
-     * Gets the useLateral attribute of the ICompositeCacheAttributes object
-     * <p>
-     * @return The useLateral value
-     */
-    boolean isUseLateral();
-
-    /**
-     * Sets whether the cache is remote enabled
-     * <p>
-     * @param isRemote
-     *            The new useRemote value
-     */
-    void setUseRemote( boolean isRemote );
-
-    /**
-     * returns whether the cache is remote enabled
-     * <p>
-     * @return The useRemote value
-     */
-    boolean isUseRemote();
-
-    /**
-     * Sets the name of the cache, referenced by the appropriate manager.
-     * <p>
-     * @param s
-     *            The new cacheName value
-     */
-    void setCacheName( String s );
-
-    /**
-     * Gets the cacheName attribute of the ICompositeCacheAttributes object
-     * <p>
-     * @return The cacheName value
-     */
-    String getCacheName();
-
-    /**
-     * Sets the name of the MemoryCache, referenced by the appropriate manager.
-     * TODO: create a separate memory cache attribute class.
-     * <p>
-     * @param s
-     *            The new memoryCacheName value
-     */
-    void setMemoryCacheName( String s );
-
-    /**
-     * Gets the memoryCacheName attribute of the ICompositeCacheAttributes
-     * object
-     * <p>
-     * @return The memoryCacheName value
-     */
-    String getMemoryCacheName();
-
-    /**
-     * Whether the memory cache should perform background memory shrinkage.
-     * <p>
-     * @param useShrinker
-     *            The new UseMemoryShrinker value
-     */
-    void setUseMemoryShrinker( boolean useShrinker );
-
-    /**
-     * Whether the memory cache should perform background memory shrinkage.
-     * <p>
-     * @return The UseMemoryShrinker value
-     */
-    boolean isUseMemoryShrinker();
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements
-     * to reclaim space.
-     * <p>
-     * @param seconds
-     *            The new MaxMemoryIdleTimeSeconds value
-     */
-    void setMaxMemoryIdleTimeSeconds( long seconds );
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements
-     * to reclaim space.
-     * <p>
-     * @return The MaxMemoryIdleTimeSeconds value
-     */
-    long getMaxMemoryIdleTimeSeconds();
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements
-     * to reclaim space. This sets the shrinker interval.
-     * <p>
-     * @param seconds
-     *            The new ShrinkerIntervalSeconds value
-     */
-    void setShrinkerIntervalSeconds( long seconds );
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements
-     * to reclaim space. This gets the shrinker interval.
-     * <p>
-     * @return The ShrinkerIntervalSeconds value
-     */
-    long getShrinkerIntervalSeconds();
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements
-     * to reclaim space. This sets the maximum number of items to spool per run.
-     * <p>
-     * @param maxSpoolPerRun
-     *            The new maxSpoolPerRun value
-     */
-    void setMaxSpoolPerRun( int maxSpoolPerRun );
-
-    /**
-     * If UseMemoryShrinker is true the memory cache should auto-expire elements
-     * to reclaim space. This gets the maximum number of items to spool per run.
-     * <p>
-     * @return The maxSpoolPerRun value
-     */
-    int getMaxSpoolPerRun();
-
-    /**
-     * By default this is SWAP_ONLY.
-     * <p>
-     * @param diskUsagePattern The diskUsagePattern to set.
-     */
-    void setDiskUsagePattern( DiskUsagePattern diskUsagePattern );
-
-    /**
-     * Translates the name to the disk usage pattern short value.
-     * <p>
-     * The allowed values are SWAP and UPDATE.
-     * <p>
-     * @param diskUsagePatternName The diskUsagePattern to set.
-     */
-    void setDiskUsagePatternName( String diskUsagePatternName );
-
-    /**
-     * @return Returns the diskUsagePattern.
-     */
-    DiskUsagePattern getDiskUsagePattern();
-
-    /**
-     * Number to send to disk at at time when memory is full.
-     * <p>
-     * @return int
-     */
-    int getSpoolChunkSize();
-
-    /**
-     * Number to send to disk at a time.
-     * <p>
-     * @param spoolChunkSize
-     */
-    void setSpoolChunkSize( int spoolChunkSize );
-
-    /**
-     * Clone object
-     */
-    ICompositeCacheAttributes clone();
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/ICompositeCacheManager.java b/src/org/apache/commons/jcs/engine/behavior/ICompositeCacheManager.java
deleted file mode 100644
index caf499c..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/ICompositeCacheManager.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-
-import java.util.Properties;
-
-/**
- * I need the interface so I can plug in mock managers for testing.
- *
- * @author Aaron Smuts
- */
-public interface ICompositeCacheManager extends IShutdownObservable
-{
-    /**
-     * Gets the cache attribute of the CacheHub object
-     *
-     * @param cacheName
-     * @return CompositeCache
-     */
-    <K, V> CompositeCache<K, V>  getCache( String cacheName );
-
-    /**
-     * Gets the auxiliary cache attribute of the CacheHub object
-     *
-     * @param auxName
-     * @param cacheName
-     * @return AuxiliaryCache
-     */
-    <K, V> AuxiliaryCache<K, V>  getAuxiliaryCache( String auxName, String cacheName );
-
-    /**
-     * This is exposed so other manager can get access to the props.
-     * <p>
-     * @return the configurationProperties
-     */
-    Properties getConfigurationProperties();
-
-    /**
-     * Gets stats for debugging.
-     * <p>
-     * @return String
-     */
-    String getStats();
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/IElementAttributes.java b/src/org/apache/commons/jcs/engine/behavior/IElementAttributes.java
deleted file mode 100644
index 2aa4e46..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/IElementAttributes.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.jcs.engine.control.event.behavior.IElementEventHandler;
-
-/**
- * Interface for cache element attributes classes. Every item is the cache is associated with an
- * element attributes object. It is used to track the life of the object as well as to restrict its
- * behavior. By default, elements get a clone of the region's attributes.
- */
-public interface IElementAttributes extends Serializable, Cloneable
-{
-    /**
-     * Sets the maxLife attribute of the IAttributes object.
-     * <p>
-     * @param mls The new MaxLifeSeconds value
-     */
-    void setMaxLife(long mls);
-
-    /**
-     * Sets the maxLife attribute of the IAttributes object. How many seconds it can live after
-     * creation.
-     * <p>
-     * If this is exceeded the element will not be returned, instead it will be removed. It will be
-     * removed on retrieval, or removed actively if the memory shrinker is turned on.
-     * @return The MaxLifeSeconds value
-     */
-    long getMaxLife();
-
-    /**
-     * Sets the idleTime attribute of the IAttributes object. This is the maximum time the item can
-     * be idle in the cache, that is not accessed.
-     * <p>
-     * If this is exceeded the element will not be returned, instead it will be removed. It will be
-     * removed on retrieval, or removed actively if the memory shrinker is turned on.
-     * @param idle The new idleTime value
-     */
-    void setIdleTime( long idle );
-
-    /**
-     * Size in bytes. This is not used except in the admin pages. It will be -1 by default.
-     * <p>
-     * @param size The new size value
-     */
-    void setSize( int size );
-
-    /**
-     * Gets the size attribute of the IAttributes object
-     * <p>
-     * @return The size value
-     */
-    int getSize();
-
-    /**
-     * Gets the createTime attribute of the IAttributes object.
-     * <p>
-     * This should be the current time in milliseconds returned by the sysutem call when the element
-     * is put in the cache.
-     * <p>
-     * Putting an item in the cache overrides any existing items.
-     * @return The createTime value
-     */
-    long getCreateTime();
-
-    /**
-     * Gets the LastAccess attribute of the IAttributes object.
-     * <p>
-     * @return The LastAccess value.
-     */
-    long getLastAccessTime();
-
-    /**
-     * Sets the LastAccessTime as now of the IElementAttributes object
-     */
-    void setLastAccessTimeNow();
-
-    /**
-     * Gets the idleTime attribute of the IAttributes object
-     * @return The idleTime value
-     */
-    long getIdleTime();
-
-    /**
-     * Gets the time left to live of the IAttributes object.
-     * <p>
-     * This is the (max life + create time) - current time.
-     * @return The TimeToLiveSeconds value
-     */
-    long getTimeToLiveSeconds();
-
-    /**
-     * Can this item be spooled to disk
-     * <p>
-     * By default this is true.
-     * @return The spoolable value
-     */
-    boolean getIsSpool();
-
-    /**
-     * Sets the isSpool attribute of the IElementAttributes object
-     * <p>
-     * By default this is true.
-     * @param val The new isSpool value
-     */
-    void setIsSpool( boolean val );
-
-    /**
-     * Is this item laterally distributable. Can it be sent to auxiliaries of type lateral.
-     * <p>
-     * By default this is true.
-     * @return The isLateral value
-     */
-    boolean getIsLateral();
-
-    /**
-     * Sets the isLateral attribute of the IElementAttributes object
-     * <p>
-     * By default this is true.
-     * @param val The new isLateral value
-     */
-    void setIsLateral( boolean val );
-
-    /**
-     * Can this item be sent to the remote cache.
-     * <p>
-     * By default this is true.
-     * @return The isRemote value
-     */
-    boolean getIsRemote();
-
-    /**
-     * Sets the isRemote attribute of the IElementAttributes object.
-     * <p>
-     * By default this is true.
-     * @param val The new isRemote value
-     */
-    void setIsRemote( boolean val );
-
-    /**
-     * This turns off expiration if it is true.
-     * @return The IsEternal value
-     */
-    boolean getIsEternal();
-
-    /**
-     * Sets the isEternal attribute of the IElementAttributes object
-     * @param val The new isEternal value
-     */
-    void setIsEternal( boolean val );
-
-    /**
-     * Adds a ElementEventHandler. Handler's can be registered for multiple events. A registered
-     * handler will be called at every recognized event.
-     * @param eventHandler The feature to be added to the ElementEventHandler
-     */
-    void addElementEventHandler( IElementEventHandler eventHandler );
-
-    /**
-     * Gets the elementEventHandlers.
-     * <p>
-     * Event handlers are transient. The only events defined are in memory events. All handlers are
-     * lost if the item goes to disk.
-     * @return The elementEventHandlers value, null if there are none
-     */
-    ArrayList<IElementEventHandler> getElementEventHandlers();
-
-    /**
-     * Sets the eventHandlers of the IElementAttributes object
-     * @param eventHandlers value
-     */
-    void addElementEventHandlers( List<IElementEventHandler> eventHandlers );
-
-    long getTimeFactorForMilliseconds();
-
-    void setTimeFactorForMilliseconds(long factor);
-
-    /**
-     * Clone object
-     */
-    IElementAttributes clone();
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/IElementSerializer.java b/src/org/apache/commons/jcs/engine/behavior/IElementSerializer.java
deleted file mode 100644
index 547cc1e..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/IElementSerializer.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-
-/**
- * Defines the behavior for cache element serializers. This layer of abstraction allows us to plug
- * in different serialization mechanisms, such as a compressing standard serializer.
- * <p>
- * @author Aaron Smuts
- */
-public interface IElementSerializer
-{
-    /**
-     * Turns an object into a byte array.
-     * @param obj
-     * @return byte[]
-     * @throws IOException
-     */
-    <T> byte[] serialize( T obj )
-        throws IOException;
-
-    /**
-     * Turns a byte array into an object.
-     * @param bytes
-     * @return Object
-     * @throws IOException
-     * @throws ClassNotFoundException thrown if we don't know the object.
-     */
-    <T> T deSerialize( byte[] bytes, ClassLoader loader )
-        throws IOException, ClassNotFoundException;
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/IProvideScheduler.java b/src/org/apache/commons/jcs/engine/behavior/IProvideScheduler.java
deleted file mode 100644
index 29ad9d2..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/IProvideScheduler.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.concurrent.ScheduledExecutorService;
-
-
-/**
- * Marker interface for providers of the central ScheduledExecutorService
- * <p>
- * @author Thomas Vandahl
- *
- */
-public interface IProvideScheduler
-{
-    /**
-     * Get an instance of a central ScheduledExecutorService
-     * @return the central scheduler
-     */
-    ScheduledExecutorService getScheduledExecutorService();
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/IRequireScheduler.java b/src/org/apache/commons/jcs/engine/behavior/IRequireScheduler.java
deleted file mode 100644
index 09ea8a7..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/IRequireScheduler.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.concurrent.ScheduledExecutorService;
-
-
-/**
- * Marker interface to allow the injection of a central ScheduledExecutorService
- * for all modules requiring scheduled background operations.
- * <p>
- * @author Thomas Vandahl
- *
- */
-public interface IRequireScheduler
-{
-    /**
-     * Inject an instance of a central ScheduledExecutorService
-     * @param scheduledExecutor
-     */
-    void setScheduledExecutorService( ScheduledExecutorService scheduledExecutor );
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/IShutdownObservable.java b/src/org/apache/commons/jcs/engine/behavior/IShutdownObservable.java
deleted file mode 100644
index c428037..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/IShutdownObservable.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * ShutdownObservers can observe ShutdownObservable objects.
- * The CacheManager is the primary observable that this is intended for.
- * <p>
- * Most shutdown operations will occur outside this framework for now.  The initial
- * goal is to allow background threads that are not reachable through any reference
- * that the cache manager maintains to be killed on shutdown.
- * <p>
- * Perhaps the composite cache itself should be the observable object.
- * It doesn't make much of a difference.  There are some problems with
- * region by region shutdown.  Some auxiliaries are local.  They will
- * need to track when every region has shutdown before doing things like
- * closing the socket with a lateral.
- * <p>
- * @author Aaron Smuts
- *
- */
-public interface IShutdownObservable
-{
-
-    /**
-     * Registers an observer with the observable object.
-     * @param observer
-     */
-    void registerShutdownObserver( IShutdownObserver observer );
-
-    /**
-     * Deregisters the observer with the observable.
-     *
-     * @param observer
-     */
-    void deregisterShutdownObserver( IShutdownObserver observer );
-
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/IShutdownObserver.java b/src/org/apache/commons/jcs/engine/behavior/IShutdownObserver.java
deleted file mode 100644
index 22b4052..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/IShutdownObserver.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This interface is required of all shutdown observers.  These observers
- * can observer ShutdownObservable objects.  The CacheManager is the primary
- * observable that this is intended for.
- * <p>
- * Most shutdown operations will occur outside this framework for now.  The initial
- * goal is to allow background threads that are not reachable through any reference
- * that the cache manager maintains to be killed on shutdown.
- *
- * @author Aaron Smuts
- *
- */
-public interface IShutdownObserver
-{
-    /**
-     * Tells the observer that the observable has received a shutdown command.
-     *
-     */
-    void shutdown();
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/IZombie.java b/src/org/apache/commons/jcs/engine/behavior/IZombie.java
deleted file mode 100644
index 2c726c6..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/IZombie.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.commons.jcs.engine.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Interface to mark an object as zombie for error recovery purposes.
- *
- */
-public interface IZombie
-{
-    // Zombies have no inner life.
-    // No qaulia found.
-}
diff --git a/src/org/apache/commons/jcs/engine/behavior/package.html b/src/org/apache/commons/jcs/engine/behavior/package.html
deleted file mode 100644
index 9cb3956..0000000
--- a/src/org/apache/commons/jcs/engine/behavior/package.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-     Interfaces used by the core and the auxiliary caches.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/engine/control/CompositeCache.java b/src/org/apache/commons/jcs/engine/control/CompositeCache.java
deleted file mode 100644
index d616bbf..0000000
--- a/src/org/apache/commons/jcs/engine/control/CompositeCache.java
+++ /dev/null
@@ -1,1815 +0,0 @@
-package org.apache.commons.jcs.engine.control;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.access.exception.ObjectNotFoundException;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
-import org.apache.commons.jcs.engine.CacheConstants;
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.behavior.ICache;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes.DiskUsagePattern;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.behavior.IRequireScheduler;
-import org.apache.commons.jcs.engine.control.event.ElementEvent;
-import org.apache.commons.jcs.engine.control.event.behavior.ElementEventType;
-import org.apache.commons.jcs.engine.control.event.behavior.IElementEvent;
-import org.apache.commons.jcs.engine.control.event.behavior.IElementEventHandler;
-import org.apache.commons.jcs.engine.control.event.behavior.IElementEventQueue;
-import org.apache.commons.jcs.engine.control.group.GroupId;
-import org.apache.commons.jcs.engine.match.KeyMatcherPatternImpl;
-import org.apache.commons.jcs.engine.match.behavior.IKeyMatcher;
-import org.apache.commons.jcs.engine.memory.behavior.IMemoryCache;
-import org.apache.commons.jcs.engine.memory.lru.LRUMemoryCache;
-import org.apache.commons.jcs.engine.memory.shrinking.ShrinkerThread;
-import org.apache.commons.jcs.engine.stats.CacheStats;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.behavior.ICacheStats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This is the primary hub for a single cache/region. It controls the flow of items through the
- * cache. The auxiliary and memory caches are plugged in here.
- * <p>
- * This is the core of a JCS region. Hence, this simple class is the core of JCS.
- */
-public class CompositeCache<K, V>
-    implements ICache<K, V>, IRequireScheduler
-{
-    /** log instance */
-    private static final Log log = LogFactory.getLog( CompositeCache.class );
-
-    /**
-     * EventQueue for handling element events. Lazy initialized. One for each region. To be more efficient, the manager
-     * should pass a shared queue in.
-     */
-    private IElementEventQueue elementEventQ;
-
-    /** Auxiliary caches. */
-    @SuppressWarnings("unchecked") // OK because this is an empty array
-    private AuxiliaryCache<K, V>[] auxCaches = new AuxiliaryCache[0];
-
-    /** is this alive? */
-    private AtomicBoolean alive;
-
-    /** Region Elemental Attributes, default. */
-    private IElementAttributes attr;
-
-    /** Cache Attributes, for hub and memory auxiliary. */
-    private ICompositeCacheAttributes cacheAttr;
-
-    /** How many times update was called. */
-    private AtomicInteger updateCount;
-
-    /** How many times remove was called. */
-    private AtomicInteger removeCount;
-
-    /** Memory cache hit count */
-    private AtomicInteger hitCountRam;
-
-    /** Auxiliary cache hit count (number of times found in ANY auxiliary) */
-    private AtomicInteger hitCountAux;
-
-    /** Count of misses where element was not found. */
-    private AtomicInteger missCountNotFound;
-
-    /** Count of misses where element was expired. */
-    private AtomicInteger missCountExpired;
-
-    /**
-     * The cache hub can only have one memory cache. This could be made more flexible in the future,
-     * but they are tied closely together. More than one doesn't make much sense.
-     */
-    private IMemoryCache<K, V> memCache;
-
-    /** Key matcher used by the getMatching API */
-    private IKeyMatcher<K> keyMatcher = new KeyMatcherPatternImpl<K>();
-
-    /**
-     * Constructor for the Cache object
-     * <p>
-     * @param cattr The cache attribute
-     * @param attr The default element attributes
-     */
-    public CompositeCache( ICompositeCacheAttributes cattr, IElementAttributes attr )
-    {
-        this.attr = attr;
-        this.cacheAttr = cattr;
-        this.alive = new AtomicBoolean(true);
-        this.updateCount = new AtomicInteger(0);
-        this.removeCount = new AtomicInteger(0);
-        this.hitCountRam = new AtomicInteger(0);
-        this.hitCountAux = new AtomicInteger(0);
-        this.missCountNotFound = new AtomicInteger(0);
-        this.missCountExpired = new AtomicInteger(0);
-
-        createMemoryCache( cattr );
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Constructed cache with name [" + cacheAttr.getCacheName() + "] and cache attributes " + cattr );
-        }
-    }
-
-    /**
-     * Injector for Element event queue
-     *
-     * @param queue
-     */
-    public void setElementEventQueue( IElementEventQueue queue )
-    {
-        this.elementEventQ = queue;
-    }
-
-    /**
-     * @see org.apache.commons.jcs.engine.behavior.IRequireScheduler#setScheduledExecutorService(java.util.concurrent.ScheduledExecutorService)
-     */
-    @Override
-    public void setScheduledExecutorService(ScheduledExecutorService scheduledExecutor)
-    {
-        if ( cacheAttr.isUseMemoryShrinker() )
-        {
-            scheduledExecutor.scheduleAtFixedRate(
-                    new ShrinkerThread<K, V>(this), 0, cacheAttr.getShrinkerIntervalSeconds(),
-                    TimeUnit.SECONDS);
-        }
-    }
-
-    /**
-     * This sets the list of auxiliary caches for this region.
-     * <p>
-     * @param auxCaches
-     */
-    public void setAuxCaches( AuxiliaryCache<K, V>[] auxCaches )
-    {
-        this.auxCaches = auxCaches;
-    }
-
-    /**
-     * Get the list of auxiliary caches for this region.
-     * <p>
-     * @return an array of auxiliary caches, may be empty, never null
-     */
-    public AuxiliaryCache<K, V>[] getAuxCaches()
-    {
-        return this.auxCaches;
-    }
-
-    /**
-     * Standard update method.
-     * <p>
-     * @param ce
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        update( ce, false );
-    }
-
-    /**
-     * Standard update method.
-     * <p>
-     * @param ce
-     * @throws IOException
-     */
-    public void localUpdate( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        update( ce, true );
-    }
-
-    /**
-     * Put an item into the cache. If it is localOnly, then do no notify remote or lateral
-     * auxiliaries.
-     * <p>
-     * @param cacheElement the ICacheElement<K, V>
-     * @param localOnly Whether the operation should be restricted to local auxiliaries.
-     * @throws IOException
-     */
-    protected void update( ICacheElement<K, V> cacheElement, boolean localOnly )
-        throws IOException
-    {
-
-        if ( cacheElement.getKey() instanceof String
-            && cacheElement.getKey().toString().endsWith( CacheConstants.NAME_COMPONENT_DELIMITER ) )
-        {
-            throw new IllegalArgumentException( "key must not end with " + CacheConstants.NAME_COMPONENT_DELIMITER
-                + " for a put operation" );
-        }
-        else if ( cacheElement.getKey() instanceof GroupId )
-        {
-            throw new IllegalArgumentException( "key cannot be a GroupId " + " for a put operation" );
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Updating memory cache " + cacheElement.getKey() );
-        }
-
-        updateCount.incrementAndGet();
-
-        synchronized ( this )
-        {
-            memCache.update( cacheElement );
-            updateAuxiliaries( cacheElement, localOnly );
-        }
-
-        cacheElement.getElementAttributes().setLastAccessTimeNow();
-    }
-
-    /**
-     * This method is responsible for updating the auxiliaries if they are present. If it is local
-     * only, any lateral and remote auxiliaries will not be updated.
-     * <p>
-     * Before updating an auxiliary it checks to see if the element attributes permit the operation.
-     * <p>
-     * Disk auxiliaries are only updated if the disk cache is not merely used as a swap. If the disk
-     * cache is merely a swap, then items will only go to disk when they overflow from memory.
-     * <p>
-     * This is called by update( cacheElement, localOnly ) after it updates the memory cache.
-     * <p>
-     * This is protected to make it testable.
-     * <p>
-     * @param cacheElement
-     * @param localOnly
-     * @throws IOException
-     */
-    protected void updateAuxiliaries( ICacheElement<K, V> cacheElement, boolean localOnly )
-        throws IOException
-    {
-        // UPDATE AUXILLIARY CACHES
-        // There are 3 types of auxiliary caches: remote, lateral, and disk
-        // more can be added if future auxiliary caches don't fit the model
-        // You could run a database cache as either a remote or a local disk.
-        // The types would describe the purpose.
-        if ( log.isDebugEnabled() )
-        {
-            if ( auxCaches.length > 0 )
-            {
-                log.debug( "Updating auxiliary caches" );
-            }
-            else
-            {
-                log.debug( "No auxiliary cache to update" );
-            }
-        }
-
-        for ( ICache<K, V> aux : auxCaches )
-        {
-            if ( aux == null )
-            {
-                continue;
-            }
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Auxiliary cache type: " + aux.getCacheType() );
-            }
-
-            switch (aux.getCacheType())
-            {
-                // SEND TO REMOTE STORE
-                case REMOTE_CACHE:
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "ce.getElementAttributes().getIsRemote() = "
-                            + cacheElement.getElementAttributes().getIsRemote() );
-                    }
-
-                    if ( cacheElement.getElementAttributes().getIsRemote() && !localOnly )
-                    {
-                        try
-                        {
-                            // need to make sure the group cache understands that
-                            // the key is a group attribute on update
-                            aux.update( cacheElement );
-                            if ( log.isDebugEnabled() )
-                            {
-                                log.debug( "Updated remote store for " + cacheElement.getKey() + cacheElement );
-                            }
-                        }
-                        catch ( IOException ex )
-                        {
-                            log.error( "Failure in updateExclude", ex );
-                        }
-                    }
-                    break;
-
-                // SEND LATERALLY
-                case LATERAL_CACHE:
-                    // lateral can't do the checking since it is dependent on the
-                    // cache region restrictions
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "lateralcache in aux list: cattr " + cacheAttr.isUseLateral() );
-                    }
-                    if ( cacheAttr.isUseLateral() && cacheElement.getElementAttributes().getIsLateral() && !localOnly )
-                    {
-                        // DISTRIBUTE LATERALLY
-                        // Currently always multicast even if the value is
-                        // unchanged, to cause the cache item to move to the front.
-                        aux.update( cacheElement );
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "updated lateral cache for " + cacheElement.getKey() );
-                        }
-                    }
-                    break;
-
-                // update disk if the usage pattern permits
-                case DISK_CACHE:
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "diskcache in aux list: cattr " + cacheAttr.isUseDisk() );
-                    }
-                    if ( cacheAttr.isUseDisk()
-                        && cacheAttr.getDiskUsagePattern() == DiskUsagePattern.UPDATE
-                        && cacheElement.getElementAttributes().getIsSpool() )
-                    {
-                        aux.update( cacheElement );
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "updated disk cache for " + cacheElement.getKey() );
-                        }
-                    }
-                    break;
-
-                default: // CACHE_HUB
-                    break;
-            }
-        }
-    }
-
-    /**
-     * Writes the specified element to any disk auxiliaries. Might want to rename this "overflow" in
-     * case the hub wants to do something else.
-     * <p>
-     * If JCS is not configured to use the disk as a swap, that is if the the
-     * CompositeCacheAttribute diskUsagePattern is not SWAP_ONLY, then the item will not be spooled.
-     * <p>
-     * @param ce The CacheElement
-     */
-    public void spoolToDisk( ICacheElement<K, V> ce )
-    {
-        // if the item is not spoolable, return
-        if ( !ce.getElementAttributes().getIsSpool() )
-        {
-            // there is an event defined for this.
-            handleElementEvent( ce, ElementEventType.SPOOLED_NOT_ALLOWED );
-            return;
-        }
-
-        boolean diskAvailable = false;
-
-        // SPOOL TO DISK.
-        for ( ICache<K, V> aux : auxCaches )
-        {
-            if ( aux != null && aux.getCacheType() == CacheType.DISK_CACHE )
-            {
-                diskAvailable = true;
-
-                if ( cacheAttr.getDiskUsagePattern() == DiskUsagePattern.SWAP )
-                {
-                    // write the last items to disk.2
-                    try
-                    {
-                        handleElementEvent( ce, ElementEventType.SPOOLED_DISK_AVAILABLE );
-                        aux.update( ce );
-                    }
-                    catch ( IOException ex )
-                    {
-                        // impossible case.
-                        log.error( "Problem spooling item to disk cache.", ex );
-                        throw new IllegalStateException( ex.getMessage() );
-                    }
-
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "spoolToDisk done for: " + ce.getKey() + " on disk cache[" + aux.getCacheName() + "]" );
-                    }
-                }
-                else
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "DiskCache available, but JCS is not configured to use the DiskCache as a swap." );
-                    }
-                }
-            }
-        }
-
-        if ( !diskAvailable )
-        {
-            try
-            {
-                handleElementEvent( ce, ElementEventType.SPOOLED_DISK_NOT_AVAILABLE );
-            }
-            catch ( Exception e )
-            {
-                log.error( "Trouble handling the ELEMENT_EVENT_SPOOLED_DISK_NOT_AVAILABLE  element event", e );
-            }
-        }
-    }
-
-    /**
-     * Gets an item from the cache.
-     * <p>
-     * @param key
-     * @return element from the cache, or null if not present
-     * @see org.apache.commons.jcs.engine.behavior.ICache#get(Object)
-     */
-    @Override
-    public ICacheElement<K, V> get( K key )
-    {
-        return get( key, false );
-    }
-
-    /**
-     * Do not try to go remote or laterally for this get.
-     * <p>
-     * @param key
-     * @return ICacheElement
-     */
-    public ICacheElement<K, V> localGet( K key )
-    {
-        return get( key, true );
-    }
-
-    /**
-     * Look in memory, then disk, remote, or laterally for this item. The order is dependent on the
-     * order in the cache.ccf file.
-     * <p>
-     * Do not try to go remote or laterally for this get if it is localOnly. Otherwise try to go
-     * remote or lateral if such an auxiliary is configured for this region.
-     * <p>
-     * @param key
-     * @param localOnly
-     * @return ICacheElement
-     */
-    protected ICacheElement<K, V> get( K key, boolean localOnly )
-    {
-        ICacheElement<K, V> element = null;
-
-        boolean found = false;
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "get: key = " + key + ", localOnly = " + localOnly );
-        }
-
-        synchronized (this)
-        {
-            try
-            {
-                // First look in memory cache
-                element = memCache.get( key );
-
-                if ( element != null )
-                {
-                    // Found in memory cache
-                    if ( isExpired( element ) )
-                    {
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( cacheAttr.getCacheName() + " - Memory cache hit, but element expired" );
-                        }
-
-                        missCountExpired.incrementAndGet();
-                        remove( key );
-                        element = null;
-                    }
-                    else
-                    {
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( cacheAttr.getCacheName() + " - Memory cache hit" );
-                        }
-
-                        // Update counters
-                        hitCountRam.incrementAndGet();
-                    }
-
-                    found = true;
-                }
-                else
-                {
-                    // Item not found in memory. If local invocation look in aux
-                    // caches, even if not local look in disk auxiliaries
-                    for (AuxiliaryCache<K, V> aux : auxCaches)
-                    {
-                        if ( aux != null )
-                        {
-                            CacheType cacheType = aux.getCacheType();
-
-                            if ( !localOnly || cacheType == CacheType.DISK_CACHE )
-                            {
-                                if ( log.isDebugEnabled() )
-                                {
-                                    log.debug( "Attempting to get from aux [" + aux.getCacheName() + "] which is of type: "
-                                        + cacheType );
-                                }
-
-                                try
-                                {
-                                    element = aux.get( key );
-                                }
-                                catch ( IOException e )
-                                {
-                                    log.error( "Error getting from aux", e );
-                                }
-                            }
-
-                            if ( log.isDebugEnabled() )
-                            {
-                                log.debug( "Got CacheElement: " + element );
-                            }
-
-                            // Item found in one of the auxiliary caches.
-                            if ( element != null )
-                            {
-                                if ( isExpired( element ) )
-                                {
-                                    if ( log.isDebugEnabled() )
-                                    {
-                                        log.debug( cacheAttr.getCacheName() + " - Aux cache[" + aux.getCacheName() + "] hit, but element expired." );
-                                    }
-
-                                    missCountExpired.incrementAndGet();
-
-                                    // This will tell the remotes to remove the item
-                                    // based on the element's expiration policy. The elements attributes
-                                    // associated with the item when it created govern its behavior
-                                    // everywhere.
-                                    remove( key );
-                                    element = null;
-                                }
-                                else
-                                {
-                                    if ( log.isDebugEnabled() )
-                                    {
-                                        log.debug( cacheAttr.getCacheName() + " - Aux cache[" + aux.getCacheName() + "] hit" );
-                                    }
-
-                                    // Update counters
-                                    hitCountAux.incrementAndGet();
-                                    copyAuxiliaryRetrievedItemToMemory( element );
-                                }
-
-                                found = true;
-
-                                break;
-                            }
-                        }
-                    }
-                }
-            }
-            catch ( IOException e )
-            {
-                log.error( "Problem encountered getting element.", e );
-            }
-        }
-
-        if ( !found )
-        {
-            missCountNotFound.incrementAndGet();
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( cacheAttr.getCacheName() + " - Miss" );
-            }
-        }
-
-        if (element != null)
-        {
-            element.getElementAttributes().setLastAccessTimeNow();
-        }
-
-        return element;
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( Set<K> keys )
-    {
-        return getMultiple( keys, false );
-    }
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys. Do not try to go remote or
-     * laterally for this data.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     */
-    public Map<K, ICacheElement<K, V>> localGetMultiple( Set<K> keys )
-    {
-        return getMultiple( keys, true );
-    }
-
-    /**
-     * Look in memory, then disk, remote, or laterally for these items. The order is dependent on
-     * the order in the cache.ccf file. Keep looking in each cache location until either the element
-     * is found, or the method runs out of places to look.
-     * <p>
-     * Do not try to go remote or laterally for this get if it is localOnly. Otherwise try to go
-     * remote or lateral if such an auxiliary is configured for this region.
-     * <p>
-     * @param keys
-     * @param localOnly
-     * @return ICacheElement
-     */
-    protected Map<K, ICacheElement<K, V>> getMultiple( Set<K> keys, boolean localOnly )
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "get: key = " + keys + ", localOnly = " + localOnly );
-        }
-
-        try
-        {
-            // First look in memory cache
-            elements.putAll( getMultipleFromMemory( keys ) );
-
-            // If fewer than all items were found in memory, then keep looking.
-            if ( elements.size() != keys.size() )
-            {
-                Set<K> remainingKeys = pruneKeysFound( keys, elements );
-                elements.putAll( getMultipleFromAuxiliaryCaches( remainingKeys, localOnly ) );
-            }
-        }
-        catch ( IOException e )
-        {
-            log.error( "Problem encountered getting elements.", e );
-        }
-
-        // if we didn't find all the elements, increment the miss count by the number of elements not found
-        if ( elements.size() != keys.size() )
-        {
-            missCountNotFound.addAndGet(keys.size() - elements.size());
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( cacheAttr.getCacheName() + " - " + ( keys.size() - elements.size() ) + " Misses" );
-            }
-        }
-
-        return elements;
-    }
-
-    /**
-     * Gets items for the keys in the set. Returns a map: key -> result.
-     * <p>
-     * @param keys
-     * @return the elements found in the memory cache
-     * @throws IOException
-     */
-    private Map<K, ICacheElement<K, V>> getMultipleFromMemory( Set<K> keys )
-        throws IOException
-    {
-        Map<K, ICacheElement<K, V>> elementsFromMemory = memCache.getMultiple( keys );
-
-        Iterator<ICacheElement<K, V>> elementFromMemoryIterator = new HashMap<K, ICacheElement<K, V>>( elementsFromMemory ).values().iterator();
-
-        while ( elementFromMemoryIterator.hasNext() )
-        {
-            ICacheElement<K, V> element = elementFromMemoryIterator.next();
-
-            if ( element != null )
-            {
-                // Found in memory cache
-                if ( isExpired( element ) )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( cacheAttr.getCacheName() + " - Memory cache hit, but element expired" );
-                    }
-
-                    missCountExpired.incrementAndGet();
-                    remove( element.getKey() );
-                    elementsFromMemory.remove( element.getKey() );
-                }
-                else
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( cacheAttr.getCacheName() + " - Memory cache hit" );
-                    }
-
-                    // Update counters
-                    hitCountRam.incrementAndGet();
-                }
-            }
-        }
-        return elementsFromMemory;
-    }
-
-    /**
-     * If local invocation look in aux caches, even if not local look in disk auxiliaries.
-     * <p>
-     * @param keys
-     * @param localOnly
-     * @return the elements found in the auxiliary caches
-     * @throws IOException
-     */
-    private Map<K, ICacheElement<K, V>> getMultipleFromAuxiliaryCaches( Set<K> keys, boolean localOnly )
-        throws IOException
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-        Set<K> remainingKeys = new HashSet<K>( keys );
-
-        for ( AuxiliaryCache<K, V> aux : auxCaches )
-        {
-            if ( aux != null )
-            {
-                Map<K, ICacheElement<K, V>> elementsFromAuxiliary =
-                    new HashMap<K, ICacheElement<K, V>>();
-
-                CacheType cacheType = aux.getCacheType();
-
-                if ( !localOnly || cacheType == CacheType.DISK_CACHE )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Attempting to get from aux [" + aux.getCacheName() + "] which is of type: "
-                            + cacheType );
-                    }
-
-                    try
-                    {
-                        elementsFromAuxiliary.putAll( aux.getMultiple( remainingKeys ) );
-                    }
-                    catch ( IOException e )
-                    {
-                        log.error( "Error getting from aux", e );
-                    }
-                }
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Got CacheElements: " + elementsFromAuxiliary );
-                }
-
-                processRetrievedElements( aux, elementsFromAuxiliary );
-
-                elements.putAll( elementsFromAuxiliary );
-
-                if ( elements.size() == keys.size() )
-                {
-                    break;
-                }
-                else
-                {
-                    remainingKeys = pruneKeysFound( keys, elements );
-                }
-            }
-        }
-
-        return elements;
-    }
-
-    /**
-     * Build a map of all the matching elements in all of the auxiliaries and memory.
-     * <p>
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any matching keys
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMatching( String pattern )
-    {
-        return getMatching( pattern, false );
-    }
-
-    /**
-     * Build a map of all the matching elements in all of the auxiliaries and memory. Do not try to
-     * go remote or laterally for this data.
-     * <p>
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any matching keys
-     */
-    public Map<K, ICacheElement<K, V>> localGetMatching( String pattern )
-    {
-        return getMatching( pattern, true );
-    }
-
-    /**
-     * Build a map of all the matching elements in all of the auxiliaries and memory. Items in
-     * memory will replace from the auxiliaries in the returned map. The auxiliaries are accessed in
-     * opposite order. It's assumed that those closer to home are better.
-     * <p>
-     * Do not try to go remote or laterally for this get if it is localOnly. Otherwise try to go
-     * remote or lateral if such an auxiliary is configured for this region.
-     * <p>
-     * @param pattern
-     * @param localOnly
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any matching keys
-     */
-    protected Map<K, ICacheElement<K, V>> getMatching( String pattern, boolean localOnly )
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "get: pattern [" + pattern + "], localOnly = " + localOnly );
-        }
-
-        try
-        {
-            // First look in auxiliaries
-            elements.putAll( getMatchingFromAuxiliaryCaches( pattern, localOnly ) );
-
-            // then look in memory, override aux with newer memory items.
-            elements.putAll( getMatchingFromMemory( pattern ) );
-        }
-        catch ( Exception e )
-        {
-            log.error( "Problem encountered getting elements.", e );
-        }
-
-        return elements;
-    }
-
-    /**
-     * Gets the key array from the memcache. Builds a set of matches. Calls getMultiple with the
-     * set. Returns a map: key -> result.
-     * <p>
-     * @param pattern
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any matching keys
-     * @throws IOException
-     */
-    protected Map<K, ICacheElement<K, V>> getMatchingFromMemory( String pattern )
-        throws IOException
-    {
-        // find matches in key array
-        // this avoids locking the memory cache, but it uses more memory
-        Set<K> keyArray = memCache.getKeySet();
-
-        Set<K> matchingKeys = getKeyMatcher().getMatchingKeysFromArray( pattern, keyArray );
-
-        // call get multiple
-        return getMultipleFromMemory( matchingKeys );
-    }
-
-    /**
-     * If local invocation look in aux caches, even if not local look in disk auxiliaries.
-     * <p>
-     * Moves in reverse order of definition. This will allow you to override those that are from the
-     * remote with those on disk.
-     * <p>
-     * @param pattern
-     * @param localOnly
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any matching keys
-     * @throws IOException
-     */
-    private Map<K, ICacheElement<K, V>> getMatchingFromAuxiliaryCaches( String pattern, boolean localOnly )
-        throws IOException
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-
-        for ( int i = auxCaches.length - 1; i >= 0; i-- )
-        {
-            AuxiliaryCache<K, V> aux = auxCaches[i];
-
-            if ( aux != null )
-            {
-                Map<K, ICacheElement<K, V>> elementsFromAuxiliary =
-                    new HashMap<K, ICacheElement<K, V>>();
-
-                CacheType cacheType = aux.getCacheType();
-
-                if ( !localOnly || cacheType == CacheType.DISK_CACHE )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Attempting to get from aux [" + aux.getCacheName() + "] which is of type: "
-                            + cacheType );
-                    }
-
-                    try
-                    {
-                        elementsFromAuxiliary.putAll( aux.getMatching( pattern ) );
-                    }
-                    catch ( IOException e )
-                    {
-                        log.error( "Error getting from aux", e );
-                    }
-
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Got CacheElements: " + elementsFromAuxiliary );
-                    }
-
-                    processRetrievedElements( aux, elementsFromAuxiliary );
-
-                    elements.putAll( elementsFromAuxiliary );
-                }
-            }
-        }
-
-        return elements;
-    }
-
-    /**
-     * Remove expired elements retrieved from an auxiliary. Update memory with good items.
-     * <p>
-     * @param aux the auxiliary cache instance
-     * @param elementsFromAuxiliary
-     * @throws IOException
-     */
-    private void processRetrievedElements( AuxiliaryCache<K, V> aux, Map<K, ICacheElement<K, V>> elementsFromAuxiliary )
-        throws IOException
-    {
-        Iterator<ICacheElement<K, V>> elementFromAuxiliaryIterator = new HashMap<K, ICacheElement<K, V>>( elementsFromAuxiliary ).values().iterator();
-
-        while ( elementFromAuxiliaryIterator.hasNext() )
-        {
-            ICacheElement<K, V> element = elementFromAuxiliaryIterator.next();
-
-            // Item found in one of the auxiliary caches.
-            if ( element != null )
-            {
-                if ( isExpired( element ) )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( cacheAttr.getCacheName() + " - Aux cache[" + aux.getCacheName() + "] hit, but element expired." );
-                    }
-
-                    missCountExpired.incrementAndGet();
-
-                    // This will tell the remote caches to remove the item
-                    // based on the element's expiration policy. The elements attributes
-                    // associated with the item when it created govern its behavior
-                    // everywhere.
-                    remove( element.getKey() );
-                    elementsFromAuxiliary.remove( element.getKey() );
-                }
-                else
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( cacheAttr.getCacheName() + " - Aux cache[" + aux.getCacheName() + "] hit" );
-                    }
-
-                    // Update counters
-                    hitCountAux.incrementAndGet();
-                    copyAuxiliaryRetrievedItemToMemory( element );
-                }
-            }
-        }
-    }
-
-    /**
-     * Copies the item to memory if the memory size is greater than 0. Only spool if the memory
-     * cache size is greater than 0, else the item will immediately get put into purgatory.
-     * <p>
-     * @param element
-     * @throws IOException
-     */
-    private void copyAuxiliaryRetrievedItemToMemory( ICacheElement<K, V> element )
-        throws IOException
-    {
-        if ( memCache.getCacheAttributes().getMaxObjects() > 0 )
-        {
-            memCache.update( element );
-        }
-        else
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Skipping memory update since no items are allowed in memory" );
-            }
-        }
-    }
-
-    /**
-     * Returns a set of keys that were not found.
-     * <p>
-     * @param keys
-     * @param foundElements
-     * @return the original set of cache keys, minus any cache keys present in the map keys of the
-     *         foundElements map
-     */
-    private Set<K> pruneKeysFound( Set<K> keys, Map<K, ICacheElement<K, V>> foundElements )
-    {
-        Set<K> remainingKeys = new HashSet<K>( keys );
-
-        for (K key : foundElements.keySet())
-        {
-            remainingKeys.remove( key );
-        }
-
-        return remainingKeys;
-    }
-
-    /**
-     * Get a set of the keys for all elements in the cache
-     * <p>
-     * @return A set of the key type
-     */
-    public Set<K> getKeySet()
-    {
-        return getKeySet(false);
-    }
-
-    /**
-     * Get a set of the keys for all elements in the cache
-     * <p>
-     * @param localOnly true if only memory keys are requested
-     *
-     * @return A set of the key type
-     */
-    public Set<K> getKeySet(boolean localOnly)
-    {
-        HashSet<K> allKeys = new HashSet<K>();
-
-        allKeys.addAll( memCache.getKeySet() );
-        for ( AuxiliaryCache<K, V> aux : auxCaches )
-        {
-            if ( aux != null )
-            {
-                if(!localOnly || aux.getCacheType() == CacheType.DISK_CACHE)
-                {
-                    try
-                    {
-                        allKeys.addAll( aux.getKeySet() );
-                    }
-                    catch ( IOException e )
-                    {
-                        // ignore
-                    }
-                }
-            }
-        }
-        return allKeys;
-    }
-
-    /**
-     * Removes an item from the cache.
-     * <p>
-     * @param key
-     * @return true is it was removed
-     * @see org.apache.commons.jcs.engine.behavior.ICache#remove(Object)
-     */
-    @Override
-    public boolean remove( K key )
-    {
-        return remove( key, false );
-    }
-
-    /**
-     * Do not propagate removeall laterally or remotely.
-     * <p>
-     * @param key
-     * @return true if the item was already in the cache.
-     */
-    public boolean localRemove( K key )
-    {
-        return remove( key, true );
-    }
-
-    /**
-     * fromRemote: If a remove call was made on a cache with both, then the remote should have been
-     * called. If it wasn't then the remote is down. we'll assume it is down for all. If it did come
-     * from the remote then the cache is remotely configured and lateral removal is unnecessary. If
-     * it came laterally then lateral removal is unnecessary. Does this assume that there is only
-     * one lateral and remote for the cache? Not really, the initial removal should take care of the
-     * problem if the source cache was similarly configured. Otherwise the remote cache, if it had
-     * no laterals, would remove all the elements from remotely configured caches, but if those
-     * caches had some other weird laterals that were not remotely configured, only laterally
-     * propagated then they would go out of synch. The same could happen for multiple remotes. If
-     * this looks necessary we will need to build in an identifier to specify the source of a
-     * removal.
-     * <p>
-     * @param key
-     * @param localOnly
-     * @return true if the item was in the cache, else false
-     */
-    protected boolean remove( K key, boolean localOnly )
-    {
-        removeCount.incrementAndGet();
-
-        boolean removed = false;
-
-        synchronized (this)
-        {
-            try
-            {
-                removed = memCache.remove( key );
-            }
-            catch ( IOException e )
-            {
-                log.error( e );
-            }
-
-            // Removes from all auxiliary caches.
-            for ( ICache<K, V> aux : auxCaches )
-            {
-                if ( aux == null )
-                {
-                    continue;
-                }
-
-                CacheType cacheType = aux.getCacheType();
-
-                // for now let laterals call remote remove but not vice versa
-
-                if ( localOnly && ( cacheType == CacheType.REMOTE_CACHE || cacheType == CacheType.LATERAL_CACHE ) )
-                {
-                    continue;
-                }
-                try
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Removing " + key + " from cacheType" + cacheType );
-                    }
-
-                    boolean b = aux.remove( key );
-
-                    // Don't take the remote removal into account.
-                    if ( !removed && cacheType != CacheType.REMOTE_CACHE )
-                    {
-                        removed = b;
-                    }
-                }
-                catch ( IOException ex )
-                {
-                    log.error( "Failure removing from aux", ex );
-                }
-            }
-        }
-
-        return removed;
-    }
-
-    /**
-     * Clears the region. This command will be sent to all auxiliaries. Some auxiliaries, such as
-     * the JDBC disk cache, can be configured to not honor removeAll requests.
-     * <p>
-     * @see org.apache.commons.jcs.engine.behavior.ICache#removeAll()
-     */
-    @Override
-    public void removeAll()
-        throws IOException
-    {
-        removeAll( false );
-    }
-
-    /**
-     * Will not pass the remove message remotely.
-     * <p>
-     * @throws IOException
-     */
-    public void localRemoveAll()
-        throws IOException
-    {
-        removeAll( true );
-    }
-
-    /**
-     * Removes all cached items.
-     * <p>
-     * @param localOnly must pass in false to get remote and lateral aux's updated. This prevents
-     *            looping.
-     * @throws IOException
-     */
-    protected void removeAll( boolean localOnly )
-        throws IOException
-    {
-        synchronized (this)
-        {
-            try
-            {
-                memCache.removeAll();
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Removed All keys from the memory cache." );
-                }
-            }
-            catch ( IOException ex )
-            {
-                log.error( "Trouble updating memory cache.", ex );
-            }
-
-            // Removes from all auxiliary disk caches.
-            for ( ICache<K, V> aux : auxCaches )
-            {
-                if ( aux != null && ( aux.getCacheType() == CacheType.DISK_CACHE || !localOnly ) )
-                {
-                    try
-                    {
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "Removing All keys from cacheType" + aux.getCacheType() );
-                        }
-
-                        aux.removeAll();
-                    }
-                    catch ( IOException ex )
-                    {
-                        log.error( "Failure removing all from aux", ex );
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Flushes all cache items from memory to auxiliary caches and close the auxiliary caches.
-     */
-    @Override
-    public void dispose()
-    {
-        dispose( false );
-    }
-
-    /**
-     * Invoked only by CacheManager. This method disposes of the auxiliaries one by one. For the
-     * disk cache, the items in memory are freed, meaning that they will be sent through the
-     * overflow channel to disk. After the auxiliaries are disposed, the memory cache is disposed.
-     * <p>
-     * @param fromRemote
-     */
-    public void dispose( boolean fromRemote )
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "In DISPOSE, [" + this.cacheAttr.getCacheName() + "] fromRemote [" + fromRemote + "]" );
-        }
-
-        // If already disposed, return immediately
-        if ( alive.compareAndSet(true, false) == false )
-        {
-            return;
-        }
-
-        synchronized (this)
-        {
-            // Now, shut down the event queue
-            if (elementEventQ != null)
-            {
-                elementEventQ.dispose();
-                elementEventQ = null;
-            }
-
-            // Dispose of each auxiliary cache, Remote auxiliaries will be
-            // skipped if 'fromRemote' is true.
-            for ( ICache<K, V> aux : auxCaches )
-            {
-                try
-                {
-                    // Skip this auxiliary if:
-                    // - The auxiliary is null
-                    // - The auxiliary is not alive
-                    // - The auxiliary is remote and the invocation was remote
-                    if ( aux == null || aux.getStatus() != CacheStatus.ALIVE
-                        || ( fromRemote && aux.getCacheType() == CacheType.REMOTE_CACHE ) )
-                    {
-                        if ( log.isInfoEnabled() )
-                        {
-                            log.info( "In DISPOSE, [" + this.cacheAttr.getCacheName() + "] SKIPPING auxiliary [" + aux.getCacheName() + "] fromRemote ["
-                                + fromRemote + "]" );
-                        }
-                        continue;
-                    }
-
-                    if ( log.isInfoEnabled() )
-                    {
-                        log.info( "In DISPOSE, [" + this.cacheAttr.getCacheName() + "] auxiliary [" + aux.getCacheName() + "]" );
-                    }
-
-                    // IT USED TO BE THE CASE THAT (If the auxiliary is not a lateral, or the cache
-                    // attributes
-                    // have 'getUseLateral' set, all the elements currently in
-                    // memory are written to the lateral before disposing)
-                    // I changed this. It was excessive. Only the disk cache needs the items, since only
-                    // the disk cache is in a situation to not get items on a put.
-                    if ( aux.getCacheType() == CacheType.DISK_CACHE )
-                    {
-                        int numToFree = memCache.getSize();
-                        memCache.freeElements( numToFree );
-
-                        if ( log.isInfoEnabled() )
-                        {
-                            log.info( "In DISPOSE, [" + this.cacheAttr.getCacheName() + "] put " + numToFree + " into auxiliary " + aux.getCacheName() );
-                        }
-                    }
-
-                    // Dispose of the auxiliary
-                    aux.dispose();
-                }
-                catch ( IOException ex )
-                {
-                    log.error( "Failure disposing of aux.", ex );
-                }
-            }
-
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "In DISPOSE, [" + this.cacheAttr.getCacheName() + "] disposing of memory cache." );
-            }
-            try
-            {
-                memCache.dispose();
-            }
-            catch ( IOException ex )
-            {
-                log.error( "Failure disposing of memCache", ex );
-            }
-        }
-    }
-
-    /**
-     * Calling save cause the entire contents of the memory cache to be flushed to all auxiliaries.
-     * Though this put is extremely fast, this could bog the cache and should be avoided. The
-     * dispose method should call a version of this. Good for testing.
-     */
-    public void save()
-    {
-        if ( alive.compareAndSet(true, false) == false )
-        {
-            return;
-        }
-
-        synchronized ( this )
-        {
-            for ( ICache<K, V> aux : auxCaches )
-            {
-                try
-                {
-                    if ( aux.getStatus() == CacheStatus.ALIVE )
-                    {
-                        for (K key : memCache.getKeySet())
-                        {
-                            ICacheElement<K, V> ce = memCache.get(key);
-
-                            if (ce != null)
-                            {
-                                aux.update( ce );
-                            }
-                        }
-                    }
-                }
-                catch ( IOException ex )
-                {
-                    log.error( "Failure saving aux caches.", ex );
-                }
-            }
-        }
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Called save for [" + cacheAttr.getCacheName() + "]" );
-        }
-    }
-
-    /**
-     * Gets the size attribute of the Cache object. This return the number of elements, not the byte
-     * size.
-     * <p>
-     * @return The size value
-     */
-    @Override
-    public int getSize()
-    {
-        return memCache.getSize();
-    }
-
-    /**
-     * Gets the cacheType attribute of the Cache object.
-     * <p>
-     * @return The cacheType value
-     */
-    @Override
-    public CacheType getCacheType()
-    {
-        return CacheType.CACHE_HUB;
-    }
-
-    /**
-     * Gets the status attribute of the Cache object.
-     * <p>
-     * @return The status value
-     */
-    @Override
-    public CacheStatus getStatus()
-    {
-        return alive.get() ? CacheStatus.ALIVE : CacheStatus.DISPOSED;
-    }
-
-    /**
-     * Gets stats for debugging.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String getStats()
-    {
-        return getStatistics().toString();
-    }
-
-    /**
-     * This returns data gathered for this region and all the auxiliaries it currently uses.
-     * <p>
-     * @return Statistics and Info on the Region.
-     */
-    public ICacheStats getStatistics()
-    {
-        ICacheStats stats = new CacheStats();
-        stats.setRegionName( this.getCacheName() );
-
-        // store the composite cache stats first
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        elems.add(new StatElement<Integer>( "HitCountRam", Integer.valueOf(getHitCountRam()) ) );
-        elems.add(new StatElement<Integer>( "HitCountAux", Integer.valueOf(getHitCountAux()) ) );
-
-        stats.setStatElements( elems );
-
-        // memory + aux, memory is not considered an auxiliary internally
-        int total = auxCaches.length + 1;
-        ArrayList<IStats> auxStats = new ArrayList<IStats>(total);
-
-        auxStats.add(getMemoryCache().getStatistics());
-
-        for ( AuxiliaryCache<K, V> aux : auxCaches )
-        {
-            auxStats.add(aux.getStatistics());
-        }
-
-        // store the auxiliary stats
-        stats.setAuxiliaryCacheStats( auxStats );
-
-        return stats;
-    }
-
-    /**
-     * Gets the cacheName attribute of the Cache object. This is also known as the region name.
-     * <p>
-     * @return The cacheName value
-     */
-    @Override
-    public String getCacheName()
-    {
-        return cacheAttr.getCacheName();
-    }
-
-    /**
-     * Gets the default element attribute of the Cache object This returns a copy. It does not
-     * return a reference to the attributes.
-     * <p>
-     * @return The attributes value
-     */
-    public IElementAttributes getElementAttributes()
-    {
-        if ( attr != null )
-        {
-            return attr.clone();
-        }
-        return null;
-    }
-
-    /**
-     * Sets the default element attribute of the Cache object.
-     * <p>
-     * @param attr
-     */
-    public void setElementAttributes( IElementAttributes attr )
-    {
-        this.attr = attr;
-    }
-
-    /**
-     * Gets the ICompositeCacheAttributes attribute of the Cache object.
-     * <p>
-     * @return The ICompositeCacheAttributes value
-     */
-    public ICompositeCacheAttributes getCacheAttributes()
-    {
-        return this.cacheAttr;
-    }
-
-    /**
-     * Sets the ICompositeCacheAttributes attribute of the Cache object.
-     * <p>
-     * @param cattr The new ICompositeCacheAttributes value
-     */
-    public void setCacheAttributes( ICompositeCacheAttributes cattr )
-    {
-        this.cacheAttr = cattr;
-        // need a better way to do this, what if it is in error
-        this.memCache.initialize( this );
-    }
-
-    /**
-     * Gets the elementAttributes attribute of the Cache object.
-     * <p>
-     * @param key
-     * @return The elementAttributes value
-     * @throws CacheException
-     * @throws IOException
-     */
-    public IElementAttributes getElementAttributes( K key )
-        throws CacheException, IOException
-    {
-        ICacheElement<K, V> ce = get( key );
-        if ( ce == null )
-        {
-            throw new ObjectNotFoundException( "key " + key + " is not found" );
-        }
-        return ce.getElementAttributes();
-    }
-
-    /**
-     * Determine if the element is expired based on the values of the element attributes
-     *
-     * @param element the element
-     *
-     * @return true if the element is expired
-     */
-    public boolean isExpired( ICacheElement<K, V> element)
-    {
-        return isExpired(element, System.currentTimeMillis(),
-                ElementEventType.EXCEEDED_MAXLIFE_ONREQUEST,
-                ElementEventType.EXCEEDED_IDLETIME_ONREQUEST );
-    }
-
-    /**
-     * Check if the element is expired based on the values of the element attributes
-     *
-     * @param element the element
-     * @param timestamp the timestamp to compare to
-     * @param eventMaxlife the event to fire in case the max life time is exceeded
-     * @param eventIdle the event to fire in case the idle time is exceeded
-     *
-     * @return true if the element is expired
-     */
-    public boolean isExpired(ICacheElement<K, V> element, long timestamp,
-            ElementEventType eventMaxlife, ElementEventType eventIdle)
-    {
-        try
-        {
-            IElementAttributes attributes = element.getElementAttributes();
-
-            if ( !attributes.getIsEternal() )
-            {
-                // Remove if maxLifeSeconds exceeded
-
-                long maxLifeSeconds = attributes.getMaxLife();
-                long createTime = attributes.getCreateTime();
-
-                final long timeFactorForMilliseconds = attributes.getTimeFactorForMilliseconds();
-
-                if ( maxLifeSeconds != -1 && ( timestamp - createTime ) > ( maxLifeSeconds * timeFactorForMilliseconds) )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Exceeded maxLife: " + element.getKey() );
-                    }
-
-                    handleElementEvent( element, eventMaxlife );
-
-                    return true;
-                }
-                long idleTime = attributes.getIdleTime();
-                long lastAccessTime = attributes.getLastAccessTime();
-
-                // Remove if maxIdleTime exceeded
-                // If you have a 0 size memory cache, then the last access will
-                // not get updated.
-                // you will need to set the idle time to -1.
-
-                if ( ( idleTime != -1 ) && ( timestamp - lastAccessTime ) > idleTime * timeFactorForMilliseconds )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.info( "Exceeded maxIdle: " + element.getKey() );
-                    }
-
-                    handleElementEvent( element, eventIdle );
-
-                    return true;
-                }
-            }
-        }
-        catch ( Exception e )
-        {
-            log.error( "Error determining expiration period, expiring", e );
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * If there are event handlers for the item, then create an event and queue it up.
-     * <p>
-     * This does not call handle directly; instead the handler and the event are put into a queue.
-     * This prevents the event handling from blocking normal cache operations.
-     * <p>
-     * @param element the item
-     * @param eventType the event type
-     */
-    public void handleElementEvent( ICacheElement<K, V> element, ElementEventType eventType )
-    {
-        ArrayList<IElementEventHandler> eventHandlers = element.getElementAttributes().getElementEventHandlers();
-        if ( eventHandlers != null )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Element Handlers are registered.  Create event type " + eventType );
-            }
-            if ( elementEventQ == null )
-            {
-                log.warn("No element event queue available for cache " + getCacheName());
-                return;
-            }
-            IElementEvent<ICacheElement<K, V>> event = new ElementEvent<ICacheElement<K, V>>( element, eventType );
-            for (IElementEventHandler hand : eventHandlers)
-            {
-                try
-                {
-                   elementEventQ.addElementEvent( hand, event );
-                }
-                catch ( IOException e )
-                {
-                    log.error( "Trouble adding element event to queue", e );
-                }
-            }
-        }
-    }
-
-    /**
-     * Create the MemoryCache based on the config parameters.
-     * TODO: consider making this an auxiliary, despite its close tie to the CacheHub.
-     * TODO: might want to create a memory cache config file separate from that of the hub -- ICompositeCacheAttributes
-     * <p>
-     * @param cattr
-     */
-    private void createMemoryCache( ICompositeCacheAttributes cattr )
-    {
-        if ( memCache == null )
-        {
-            try
-            {
-                Class<?> c = Class.forName( cattr.getMemoryCacheName() );
-                @SuppressWarnings("unchecked") // Need cast
-                IMemoryCache<K, V> newInstance = (IMemoryCache<K, V>) c.newInstance();
-                memCache = newInstance;
-                memCache.initialize( this );
-            }
-            catch ( Exception e )
-            {
-                log.warn( "Failed to init mem cache, using: LRUMemoryCache", e );
-
-                this.memCache = new LRUMemoryCache<K, V>();
-                this.memCache.initialize( this );
-            }
-        }
-        else
-        {
-            log.warn( "Refusing to create memory cache -- already exists." );
-        }
-    }
-
-    /**
-     * Access to the memory cache for instrumentation.
-     * <p>
-     * @return the MemoryCache implementation
-     */
-    public IMemoryCache<K, V> getMemoryCache()
-    {
-        return memCache;
-    }
-
-    /**
-     * Number of times a requested item was found in the memory cache.
-     * <p>
-     * @return number of hits in memory
-     */
-    public int getHitCountRam()
-    {
-        return hitCountRam.get();
-    }
-
-    /**
-     * Number of times a requested item was found in and auxiliary cache.
-     * @return number of auxiliary hits.
-     */
-    public int getHitCountAux()
-    {
-        return hitCountAux.get();
-    }
-
-    /**
-     * Number of times a requested element was not found.
-     * @return number of misses.
-     */
-    public int getMissCountNotFound()
-    {
-        return missCountNotFound.get();
-    }
-
-    /**
-     * Number of times a requested element was found but was expired.
-     * @return number of found but expired gets.
-     */
-    public int getMissCountExpired()
-    {
-        return missCountExpired.get();
-    }
-
-    /**
-     * @return Returns the updateCount.
-     */
-    public int getUpdateCount()
-    {
-        return updateCount.get();
-    }
-
-    /**
-     * Sets the key matcher used by get matching.
-     * <p>
-     * @param keyMatcher
-     */
-    @Override
-    public void setKeyMatcher( IKeyMatcher<K> keyMatcher )
-    {
-        if ( keyMatcher != null )
-        {
-            this.keyMatcher = keyMatcher;
-        }
-    }
-
-    /**
-     * Returns the key matcher used by get matching.
-     * <p>
-     * @return keyMatcher
-     */
-    public IKeyMatcher<K> getKeyMatcher()
-    {
-        return this.keyMatcher;
-    }
-
-    /**
-     * This returns the stats.
-     * <p>
-     * @return getStats()
-     */
-    @Override
-    public String toString()
-    {
-        return getStats();
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/control/CompositeCacheConfigurator.java b/src/org/apache/commons/jcs/engine/control/CompositeCacheConfigurator.java
deleted file mode 100644
index dc25a84..0000000
--- a/src/org/apache/commons/jcs/engine/control/CompositeCacheConfigurator.java
+++ /dev/null
@@ -1,670 +0,0 @@
-package org.apache.commons.jcs.engine.control;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheConfigurator;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheFactory;
-import org.apache.commons.jcs.engine.behavior.ICache;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.engine.behavior.IRequireScheduler;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.jcs.engine.match.KeyMatcherPatternImpl;
-import org.apache.commons.jcs.engine.match.behavior.IKeyMatcher;
-import org.apache.commons.jcs.utils.config.OptionConverter;
-import org.apache.commons.jcs.utils.config.PropertySetter;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This class configures JCS based on a properties object.
- * <p>
- * This class is based on the log4j class org.apache.log4j.PropertyConfigurator which was made by:
- * "Luke Blanshard" <Luke at quiq.com>"Mark DONSZELMANN" <Mark.Donszelmann at cern.ch>"Anders Kristensen"
- * <akristensen at dynamicsoft.com>
- */
-public class CompositeCacheConfigurator
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( CompositeCacheConfigurator.class );
-
-    /** default region prefix */
-    static final String DEFAULT_REGION = "jcs.default";
-
-    /** normal region prefix */
-    static final String REGION_PREFIX = "jcs.region.";
-
-    /** system region prefix. might not be used */
-    static final String SYSTEM_REGION_PREFIX = "jcs.system.";
-
-    /** auxiliary prefix */
-    static final String AUXILIARY_PREFIX = "jcs.auxiliary.";
-
-    /** .attributes */
-    static final String ATTRIBUTE_PREFIX = ".attributes";
-
-    /** .cacheattributes */
-    static final String CACHE_ATTRIBUTE_PREFIX = ".cacheattributes";
-
-    /** .elementattributes */
-    static final String ELEMENT_ATTRIBUTE_PREFIX = ".elementattributes";
-
-    /**
-     * jcs.auxiliary.NAME.keymatcher=CLASSNAME
-     * <p>
-     * jcs.auxiliary.NAME.keymatcher.attributes.CUSTOMPROPERTY=VALUE
-     */
-    public static final String KEY_MATCHER_PREFIX = ".keymatcher";
-
-    /** Can't operate on the interface. */
-    private final CompositeCacheManager compositeCacheManager;
-
-    /**
-     * Constructor for the CompositeCacheConfigurator object
-     *<p>
-     * @param ccMgr
-     */
-    public CompositeCacheConfigurator( CompositeCacheManager ccMgr )
-    {
-        this.compositeCacheManager = ccMgr;
-    }
-
-    /**
-     * Configure cached for file name.
-     * <p>
-     * This is only used for testing. The manager handles the translation of a file into a
-     * properties object.
-     * <p>
-     * @param configFileName
-     */
-    protected void doConfigure( String configFileName )
-    {
-        Properties props = new Properties();
-        FileInputStream istream = null;
-
-        try
-        {
-            istream = new FileInputStream( configFileName );
-            props.load( istream );
-        }
-        catch ( IOException e )
-        {
-            log.error( "Could not read configuration file, ignored: " + configFileName, e );
-            return;
-        }
-        finally
-        {
-            if (istream != null)
-            {
-                try
-                {
-                    istream.close();
-                }
-                catch (IOException e)
-                {
-                    log.error( "Could not close configuration file " + configFileName, e );
-                }
-            }
-        }
-
-        // If we reach here, then the config file is all right.
-        doConfigure( props );
-    }
-
-    /**
-     * Configure cache for properties object.
-     * <p>
-     * This method proceeds in several steps:
-     * <ul>
-     * <li>Store props for use by non configured caches.
-     * <li>Set default value list
-     * <li>Set default cache attr
-     * <li>Set default element attr
-     * <li>Setup system caches to be used
-     * <li>Setup preconfigured caches
-     * </ul>
-     * @param properties
-     */
-    public void doConfigure( Properties properties )
-    {
-        long start = System.currentTimeMillis();
-
-        // store props for use by non configured caches
-        compositeCacheManager.setConfigurationProperties( properties );
-
-        // set default value list
-        setDefaultAuxValues( properties );
-
-        // set default cache attr
-        setDefaultCompositeCacheAttributes( properties );
-
-        // set default element attr
-        setDefaultElementAttributes( properties );
-
-        // set up system caches to be used by non system caches
-        // need to make sure there is no circularity of reference
-        parseSystemRegions( properties );
-
-        // setup preconfigured caches
-        parseRegions( properties );
-
-        long end = System.currentTimeMillis();
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Finished configuration in " + ( end - start ) + " ms." );
-        }
-
-    }
-
-    /**
-     * Set the default aux list for new caches.
-     * <p>
-     * @param props
-     */
-    protected void setDefaultAuxValues( Properties props )
-    {
-        String value = OptionConverter.findAndSubst( DEFAULT_REGION, props );
-        compositeCacheManager.setDefaultAuxValues(value);
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Setting default auxiliaries to " + value );
-        }
-    }
-
-    /**
-     * Set the default CompositeCacheAttributes for new caches.
-     *<p>
-     * @param props
-     */
-    protected void setDefaultCompositeCacheAttributes( Properties props )
-    {
-        ICompositeCacheAttributes icca = parseCompositeCacheAttributes( props, "",
-                                                                        CompositeCacheConfigurator.DEFAULT_REGION );
-        compositeCacheManager.setDefaultCacheAttributes( icca );
-
-        log.info( "setting defaultCompositeCacheAttributes to " + icca );
-    }
-
-    /**
-     * Set the default ElementAttributes for new caches.
-     *<p>
-     * @param props
-     */
-    protected void setDefaultElementAttributes( Properties props )
-    {
-        IElementAttributes iea = parseElementAttributes( props, "", CompositeCacheConfigurator.DEFAULT_REGION );
-        compositeCacheManager.setDefaultElementAttributes( iea );
-
-        log.info( "setting defaultElementAttributes to " + iea );
-    }
-
-    /**
-     * Create caches used internally. System status gives them creation priority.
-     *<p>
-     * @param props
-     */
-    protected void parseSystemRegions( Properties props )
-    {
-        Enumeration<?> en = props.propertyNames();
-        while ( en.hasMoreElements() )
-        {
-            String key = (String) en.nextElement();
-            if ( key.startsWith( SYSTEM_REGION_PREFIX ) && key.indexOf( "attributes" ) == -1 )
-            {
-                String regionName = key.substring( SYSTEM_REGION_PREFIX.length() );
-                String value = OptionConverter.findAndSubst( key, props );
-                ICache<?, ?> cache;
-                synchronized ( regionName )
-                {
-                    cache = parseRegion( props, regionName, value, null, SYSTEM_REGION_PREFIX );
-                }
-
-                compositeCacheManager.addCache( regionName, cache );
-            }
-        }
-    }
-
-    /**
-     * Parse region elements.
-     *<p>
-     * @param props
-     */
-    protected void parseRegions( Properties props )
-    {
-        List<String> regionNames = new ArrayList<String>();
-
-        Enumeration<?> en = props.propertyNames();
-        while ( en.hasMoreElements() )
-        {
-            String key = (String) en.nextElement();
-            if ( key.startsWith( REGION_PREFIX ) && key.indexOf( "attributes" ) == -1 )
-            {
-                String regionName = key.substring( REGION_PREFIX.length() );
-
-                regionNames.add( regionName );
-
-                String auxiliaryList = OptionConverter.findAndSubst( key, props );
-                ICache<?, ?> cache;
-                synchronized ( regionName )
-                {
-                    cache = parseRegion( props, regionName, auxiliaryList );
-                }
-                compositeCacheManager.addCache( regionName, cache );
-            }
-        }
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Parsed regions " + regionNames );
-        }
-    }
-
-    /**
-     * Create cache region.
-     *<p>
-     * @param props
-     * @param regName
-     * @param value
-     * @return CompositeCache
-     */
-    protected <K, V> CompositeCache<K, V> parseRegion(
-            Properties props, String regName, String value )
-    {
-        return parseRegion( props, regName, value, null, REGION_PREFIX );
-    }
-
-    /**
-     * Get all the properties for a region and configure its cache.
-     * <p>
-     * This method tells the other parse method the name of the region prefix.
-     *<p>
-     * @param props
-     * @param regName
-     * @param value
-     * @param cca
-     * @return CompositeCache
-     */
-    protected <K, V> CompositeCache<K, V> parseRegion(
-            Properties props, String regName, String value, ICompositeCacheAttributes cca )
-    {
-        return parseRegion( props, regName, value, cca, REGION_PREFIX );
-    }
-
-    /**
-     * Get all the properties for a region and configure its cache.
-     *<p>
-     * @param props
-     * @param regName
-     * @param value
-     * @param cca
-     * @param regionPrefix
-     * @return CompositeCache
-     */
-    protected <K, V> CompositeCache<K, V> parseRegion(
-            Properties props, String regName, String value,
-            ICompositeCacheAttributes cca, String regionPrefix )
-    {
-        // First, create or get the cache and element attributes, and create
-        // the cache.
-        IElementAttributes ea = parseElementAttributes( props, regName, regionPrefix );
-
-        CompositeCache<K, V> cache = ( cca == null )
-            ? new CompositeCache<K, V>( parseCompositeCacheAttributes( props, regName, regionPrefix ), ea )
-            : new CompositeCache<K, V>( cca, ea );
-
-        // Inject scheduler service
-        cache.setScheduledExecutorService(compositeCacheManager.getScheduledExecutorService());
-
-        // Inject element event queue
-        cache.setElementEventQueue(compositeCacheManager.getElementEventQueue());
-
-        if (cache.getMemoryCache() instanceof IRequireScheduler)
-        {
-            ((IRequireScheduler)cache.getMemoryCache()).setScheduledExecutorService(
-                    compositeCacheManager.getScheduledExecutorService());
-        }
-
-        if (value != null)
-        {
-            // Next, create the auxiliaries for the new cache
-            List<AuxiliaryCache<K, V>> auxList = new ArrayList<AuxiliaryCache<K, V>>();
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Parsing region name '" + regName + "', value '" + value + "'" );
-            }
-
-            // We must skip over ',' but not white space
-            StringTokenizer st = new StringTokenizer( value, "," );
-
-            // If value is not in the form ", appender.." or "", then we should set
-            // the priority of the category.
-
-            if ( !( value.startsWith( "," ) || value.equals( "" ) ) )
-            {
-                // just to be on the safe side...
-                if ( !st.hasMoreTokens() )
-                {
-                    return null;
-                }
-            }
-
-            AuxiliaryCache<K, V> auxCache;
-            String auxName;
-            while ( st.hasMoreTokens() )
-            {
-                auxName = st.nextToken().trim();
-                if ( auxName == null || auxName.equals( "," ) )
-                {
-                    continue;
-                }
-                log.debug( "Parsing auxiliary named \"" + auxName + "\"." );
-
-                auxCache = parseAuxiliary( props, auxName, regName );
-
-                if ( auxCache != null )
-                {
-                    if (auxCache instanceof IRequireScheduler)
-                    {
-                        ((IRequireScheduler)auxCache).setScheduledExecutorService(
-                                compositeCacheManager.getScheduledExecutorService());
-                    }
-
-                    auxList.add( auxCache );
-                }
-            }
-
-            // Associate the auxiliaries with the cache
-            @SuppressWarnings("unchecked") // No generic arrays in java
-            AuxiliaryCache<K, V>[] auxArray = auxList.toArray( new AuxiliaryCache[0] );
-            cache.setAuxCaches( auxArray );
-        }
-
-        // Return the new cache
-        return cache;
-    }
-
-    /**
-     * Get an ICompositeCacheAttributes for the listed region.
-     *<p>
-     * @param props
-     * @param regName
-     * @return ICompositeCacheAttributes
-     */
-    protected ICompositeCacheAttributes parseCompositeCacheAttributes( Properties props, String regName )
-    {
-        return parseCompositeCacheAttributes( props, regName, REGION_PREFIX );
-    }
-
-    /**
-     * Get the main attributes for a region.
-     *<p>
-     * @param props
-     * @param regName
-     * @param regionPrefix
-     * @return ICompositeCacheAttributes
-     */
-    protected ICompositeCacheAttributes parseCompositeCacheAttributes( Properties props, String regName,
-                                                                       String regionPrefix )
-    {
-        ICompositeCacheAttributes ccAttr;
-
-        String attrName = regionPrefix + regName + CACHE_ATTRIBUTE_PREFIX;
-
-        // auxFactory was not previously initialized.
-        // String prefix = regionPrefix + regName + ATTRIBUTE_PREFIX;
-        ccAttr = OptionConverter.instantiateByKey( props, attrName, null );
-
-        if ( ccAttr == null )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "No special CompositeCacheAttributes class defined for key [" + attrName
-                    + "], using default class." );
-            }
-
-            ICompositeCacheAttributes ccAttr2 = compositeCacheManager.getDefaultCacheAttributes();
-            ccAttr = ccAttr2.clone();
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Parsing options for '" + attrName + "'" );
-        }
-
-        PropertySetter.setProperties( ccAttr, props, attrName + "." );
-        ccAttr.setCacheName( regName );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "End of parsing for \"" + attrName + "\"." );
-        }
-
-        // GET CACHE FROM FACTORY WITH ATTRIBUTES
-        ccAttr.setCacheName( regName );
-        return ccAttr;
-    }
-
-    /**
-     * Create the element attributes from the properties object for a cache region.
-     *<p>
-     * @param props
-     * @param regName
-     * @param regionPrefix
-     * @return IElementAttributes
-     */
-    protected IElementAttributes parseElementAttributes( Properties props, String regName, String regionPrefix )
-    {
-        IElementAttributes eAttr;
-
-        String attrName = regionPrefix + regName + CompositeCacheConfigurator.ELEMENT_ATTRIBUTE_PREFIX;
-
-        // auxFactory was not previously initialized.
-        // String prefix = regionPrefix + regName + ATTRIBUTE_PREFIX;
-        eAttr = OptionConverter.instantiateByKey( props, attrName, null );
-        if ( eAttr == null )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "No special ElementAttribute class defined for key [" + attrName + "], using default class." );
-            }
-
-            IElementAttributes eAttr2 = compositeCacheManager.getDefaultElementAttributes();
-            eAttr = eAttr2.clone();
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Parsing options for '" + attrName + "'" );
-        }
-
-        PropertySetter.setProperties( eAttr, props, attrName + "." );
-        // eAttr.setCacheName( regName );
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "End of parsing for \"" + attrName + "\"." );
-        }
-
-        // GET CACHE FROM FACTORY WITH ATTRIBUTES
-        // eAttr.setCacheName( regName );
-        return eAttr;
-    }
-
-    /**
-     * Get an aux cache for the listed aux for a region.
-     *<p>
-     * @param props the configuration properties
-     * @param auxName the name of the auxiliary cache
-     * @param regName the name of the region.
-     * @return AuxiliaryCache
-     */
-    protected <K, V> AuxiliaryCache<K, V> parseAuxiliary( Properties props, String auxName, String regName )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "parseAuxiliary " + auxName );
-        }
-
-        // GET CACHE
-        @SuppressWarnings("unchecked") // Common map for all caches
-        AuxiliaryCache<K, V> auxCache = (AuxiliaryCache<K, V>)compositeCacheManager.getAuxiliaryCache(auxName, regName);
-
-        if (auxCache == null)
-        {
-            // GET FACTORY
-            AuxiliaryCacheFactory auxFac = compositeCacheManager.registryFacGet( auxName );
-            if ( auxFac == null )
-            {
-                // auxFactory was not previously initialized.
-                String prefix = AUXILIARY_PREFIX + auxName;
-                auxFac = OptionConverter.instantiateByKey( props, prefix, null );
-                if ( auxFac == null )
-                {
-                    log.error( "Could not instantiate auxFactory named \"" + auxName + "\"." );
-                    return null;
-                }
-
-                auxFac.setName( auxName );
-
-                if ( auxFac instanceof IRequireScheduler)
-                {
-                	((IRequireScheduler)auxFac).setScheduledExecutorService(compositeCacheManager.getScheduledExecutorService());
-                }
-
-                auxFac.initialize();
-
-                compositeCacheManager.registryFacPut( auxFac );
-            }
-
-            // GET ATTRIBUTES
-            AuxiliaryCacheAttributes auxAttr = compositeCacheManager.registryAttrGet( auxName );
-            String attrName = AUXILIARY_PREFIX + auxName + ATTRIBUTE_PREFIX;
-            if ( auxAttr == null )
-            {
-                // auxFactory was not previously initialized.
-                String prefix = AUXILIARY_PREFIX + auxName + ATTRIBUTE_PREFIX;
-                auxAttr = OptionConverter.instantiateByKey( props, prefix, null );
-                if ( auxAttr == null )
-                {
-                    log.error( "Could not instantiate auxAttr named '" + attrName + "'" );
-                    return null;
-                }
-                auxAttr.setName( auxName );
-                compositeCacheManager.registryAttrPut( auxAttr );
-            }
-
-            auxAttr = auxAttr.clone();
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Parsing options for '" + attrName + "'" );
-            }
-
-            PropertySetter.setProperties( auxAttr, props, attrName + "." );
-            auxAttr.setCacheName( regName );
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "End of parsing for '" + attrName + "'" );
-            }
-
-            // GET CACHE FROM FACTORY WITH ATTRIBUTES
-            auxAttr.setCacheName( regName );
-
-            String auxPrefix = AUXILIARY_PREFIX + auxName;
-
-            // CONFIGURE THE EVENT LOGGER
-            ICacheEventLogger cacheEventLogger = AuxiliaryCacheConfigurator.parseCacheEventLogger( props, auxPrefix );
-
-            // CONFIGURE THE ELEMENT SERIALIZER
-            IElementSerializer elementSerializer = AuxiliaryCacheConfigurator.parseElementSerializer( props, auxPrefix );
-
-            // CONFIGURE THE KEYMATCHER
-            //IKeyMatcher keyMatcher = parseKeyMatcher( props, auxPrefix );
-            // TODO add to factory interface
-
-            // Consider putting the compositeCache back in the factory interface
-            // since the manager may not know about it at this point.
-            // need to make sure the manager already has the cache
-            // before the auxiliary is created.
-            try
-            {
-                auxCache = auxFac.createCache( auxAttr, compositeCacheManager, cacheEventLogger, elementSerializer );
-            }
-            catch (Exception e)
-            {
-                log.error( "Could not instantiate auxiliary cache named \"" + regName + "\"." );
-                return null;
-            }
-
-            compositeCacheManager.addAuxiliaryCache(auxName, regName, auxCache);
-        }
-
-        return auxCache;
-    }
-
-    /**
-     * Creates a custom key matcher if one is defined.  Else, it uses the default.
-     * <p>
-     * @param props
-     * @param auxPrefix - ex. AUXILIARY_PREFIX + auxName
-     * @return IKeyMatcher
-     */
-    public static <K> IKeyMatcher<K> parseKeyMatcher( Properties props, String auxPrefix )
-    {
-
-        // auxFactory was not previously initialized.
-        String keyMatcherClassName = auxPrefix + KEY_MATCHER_PREFIX;
-        IKeyMatcher<K> keyMatcher = OptionConverter.instantiateByKey( props, keyMatcherClassName, null );
-        if ( keyMatcher != null )
-        {
-            String attributePrefix = auxPrefix + KEY_MATCHER_PREFIX + ATTRIBUTE_PREFIX;
-            PropertySetter.setProperties( keyMatcher, props, attributePrefix + "." );
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Using custom key matcher [" + keyMatcher + "] for auxiliary [" + auxPrefix
-                    + "]" );
-            }
-        }
-        else
-        {
-            // use the default standard serializer
-            keyMatcher = new KeyMatcherPatternImpl<K>();
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Using standard key matcher [" + keyMatcher + "] for auxiliary [" + auxPrefix + "]" );
-            }
-        }
-        return keyMatcher;
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/control/CompositeCacheManager.java b/src/org/apache/commons/jcs/engine/control/CompositeCacheManager.java
deleted file mode 100644
index 982d568..0000000
--- a/src/org/apache/commons/jcs/engine/control/CompositeCacheManager.java
+++ /dev/null
@@ -1,1042 +0,0 @@
-package org.apache.commons.jcs.engine.control;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.management.ManagementFactory;
-import java.security.AccessControlException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.Properties;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.locks.ReentrantLock;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.admin.JCSAdminBean;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.commons.jcs.auxiliary.AuxiliaryCacheFactory;
-import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheConstants;
-import org.apache.commons.jcs.engine.CacheConstants;
-import org.apache.commons.jcs.engine.CompositeCacheAttributes;
-import org.apache.commons.jcs.engine.ElementAttributes;
-import org.apache.commons.jcs.engine.behavior.ICache;
-import org.apache.commons.jcs.engine.behavior.ICacheType.CacheType;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.behavior.IProvideScheduler;
-import org.apache.commons.jcs.engine.behavior.IShutdownObserver;
-import org.apache.commons.jcs.engine.control.event.ElementEventQueue;
-import org.apache.commons.jcs.engine.control.event.behavior.IElementEventQueue;
-import org.apache.commons.jcs.engine.stats.CacheStats;
-import org.apache.commons.jcs.engine.stats.behavior.ICacheStats;
-import org.apache.commons.jcs.utils.threadpool.DaemonThreadFactory;
-import org.apache.commons.jcs.utils.threadpool.ThreadPoolManager;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Manages a composite cache. This provides access to caches and is the primary way to shutdown the
- * caching system as a whole.
- * <p>
- * The composite cache manager is responsible for creating / configuring cache regions. It serves as
- * a factory for the ComositeCache class. The CompositeCache is the core of JCS, the hub for various
- * auxiliaries.
- */
-public class CompositeCacheManager
-    implements IRemoteCacheConstants, ICompositeCacheManager, IProvideScheduler
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( CompositeCacheManager.class );
-
-    /** JMX object name */
-    public static final String JMX_OBJECT_NAME = "org.apache.commons.jcs:type=JCSAdminBean";
-
-    /** Caches managed by this cache manager */
-    private final ConcurrentMap<String, ICache<?, ?>> caches =
-        new ConcurrentHashMap<String, ICache<?, ?>>();
-
-    /** Lock for initialization of caches */
-    private ReentrantLock cacheLock = new ReentrantLock();
-
-    /** Number of clients accessing this cache manager */
-    private int clients;
-
-    /** Default cache attributes for this cache manager */
-    private ICompositeCacheAttributes defaultCacheAttr = new CompositeCacheAttributes();
-
-    /** Default element attributes for this cache manager */
-    private IElementAttributes defaultElementAttr = new ElementAttributes();
-
-    /** Used to keep track of configured auxiliaries */
-    private final ConcurrentMap<String, AuxiliaryCacheFactory> auxiliaryFactoryRegistry =
-        new ConcurrentHashMap<String, AuxiliaryCacheFactory>( 11 );
-
-    /** Used to keep track of attributes for auxiliaries. */
-    private final ConcurrentMap<String, AuxiliaryCacheAttributes> auxiliaryAttributeRegistry =
-        new ConcurrentHashMap<String, AuxiliaryCacheAttributes>( 11 );
-
-    /** Used to keep track of configured auxiliaries */
-    private final ConcurrentMap<String, AuxiliaryCache<?, ?>> auxiliaryCaches =
-        new ConcurrentHashMap<String, AuxiliaryCache<?, ?>>( 11 );
-
-    /** Properties with which this manager was configured. This is exposed for other managers. */
-    private Properties configurationProperties;
-
-    /** The default auxiliary caches to be used if not preconfigured */
-    private String defaultAuxValues;
-
-    /** The Singleton Instance */
-    private static CompositeCacheManager instance;
-
-    /** The prefix of relevant system properties */
-    private static final String SYSTEM_PROPERTY_KEY_PREFIX = "jcs";
-
-    /** Should we use system property substitutions. */
-    private static final boolean DEFAULT_USE_SYSTEM_PROPERTIES = true;
-
-    /** Once configured, you can force a reconfiguration of sorts. */
-    private static final boolean DEFAULT_FORCE_RECONFIGURATION = false;
-
-    /** Those waiting for notification of a shutdown. */
-    private final LinkedHashSet<IShutdownObserver> shutdownObservers = new LinkedHashSet<IShutdownObserver>();
-
-    /** The central background scheduler. */
-    private ScheduledExecutorService scheduledExecutor;
-
-    /** The central event queue. */
-    private IElementEventQueue elementEventQueue;
-
-    /** Shutdown hook thread instance */
-    private ShutdownHook shutdownHook;
-
-    /** Indicates whether the instance has been initialized. */
-    private boolean isInitialized = false;
-
-    /** Indicates whether configure has been called. */
-    private boolean isConfigured = false;
-
-    /** Indicates whether JMX bean has been registered. */
-    private boolean isJMXRegistered = false;
-
-    private String jmxName = JMX_OBJECT_NAME;
-
-    /**
-     * Gets the CacheHub instance. For backward compatibility, if this creates the instance it will
-     * attempt to configure it with the default configuration. If you want to configure from your
-     * own source, use {@link #getUnconfiguredInstance}and then call {@link #configure}
-     * <p>
-     * @return CompositeCacheManager
-     * @throws CacheException if the configuration cannot be loaded
-     */
-    public static synchronized CompositeCacheManager getInstance() throws CacheException
-    {
-        return getInstance( CacheConstants.DEFAULT_CONFIG );
-    }
-
-    /**
-     * Initializes the cache manager using the props file for the given name.
-     * <p>
-     * @param propsFilename
-     * @return CompositeCacheManager configured from the give propsFileName
-     * @throws CacheException if the configuration cannot be loaded
-     */
-    public static synchronized CompositeCacheManager getInstance( String propsFilename ) throws CacheException
-    {
-        if ( instance == null )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Instance is null, creating with config [" + propsFilename + "]" );
-            }
-
-            instance = createInstance();
-        }
-
-        if (!instance.isInitialized())
-        {
-            instance.initialize();
-        }
-
-        if (!instance.isConfigured())
-        {
-            instance.configure( propsFilename );
-        }
-
-        instance.incrementClients();
-
-        return instance;
-    }
-
-    /**
-     * Get a CacheHub instance which is not configured. If an instance already exists, it will be
-     * returned.
-     *<p>
-     * @return CompositeCacheManager
-     */
-    public static synchronized CompositeCacheManager getUnconfiguredInstance()
-    {
-        if ( instance == null )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Instance is null, returning unconfigured instance" );
-            }
-
-            instance = createInstance();
-        }
-
-        if (!instance.isInitialized())
-        {
-            instance.initialize();
-        }
-
-        instance.incrementClients();
-
-        return instance;
-    }
-
-    /**
-     * Simple factory method, must override in subclasses so getInstance creates / returns the
-     * correct object.
-     * <p>
-     * @return CompositeCacheManager
-     */
-    protected static CompositeCacheManager createInstance()
-    {
-        return new CompositeCacheManager();
-    }
-
-    /**
-     * Default constructor
-     */
-    protected CompositeCacheManager()
-    {
-        // empty
-    }
-
-    /** Creates a shutdown hook and starts the scheduler service */
-    protected void initialize()
-    {
-        if (!isInitialized)
-        {
-            this.shutdownHook = new ShutdownHook();
-            try
-            {
-                Runtime.getRuntime().addShutdownHook( shutdownHook );
-            }
-            catch ( AccessControlException e )
-            {
-                log.error( "Could not register shutdown hook.", e );
-            }
-
-            this.scheduledExecutor = Executors.newScheduledThreadPool(4,
-                    new DaemonThreadFactory("JCS-Scheduler-", Thread.MIN_PRIORITY));
-
-            // Register JMX bean
-            if (!isJMXRegistered && jmxName != null)
-            {
-                MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
-                JCSAdminBean adminBean = new JCSAdminBean(this);
-                try
-                {
-                    ObjectName jmxObjectName = new ObjectName(jmxName);
-                    mbs.registerMBean(adminBean, jmxObjectName);
-                    isJMXRegistered = true;
-                }
-                catch (Exception e)
-                {
-                    log.warn( "Could not register JMX bean.", e );
-                }
-            }
-
-            this.elementEventQueue = new ElementEventQueue();
-
-            isInitialized = true;
-        }
-    }
-
-    /**
-     * Get the element event queue
-     *
-     * @return the elementEventQueue
-     */
-    public IElementEventQueue getElementEventQueue()
-    {
-        return elementEventQueue;
-    }
-
-    /**
-     * Get the scheduler service
-     *
-     * @return the scheduledExecutor
-     */
-    @Override
-    public ScheduledExecutorService getScheduledExecutorService()
-    {
-        return scheduledExecutor;
-    }
-
-    /**
-     * Configure with default properties file
-     * @throws CacheException if the configuration cannot be loaded
-     */
-    public void configure() throws CacheException
-    {
-        configure( CacheConstants.DEFAULT_CONFIG );
-    }
-
-    /**
-     * Configure from specific properties file.
-     * <p>
-     * @param propFile Path <u>within classpath </u> to load configuration from
-     * @throws CacheException if the configuration cannot be loaded
-     */
-    public void configure( String propFile ) throws CacheException
-    {
-        log.info( "Creating cache manager from config file: " + propFile );
-
-        Properties props = new Properties();
-
-        InputStream is = getClass().getResourceAsStream( propFile );
-
-        if ( is != null )
-        {
-            try
-            {
-                props.load( is );
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "File [" + propFile + "] contained " + props.size() + " properties" );
-                }
-            }
-            catch ( IOException ex )
-            {
-                throw new CacheException("Failed to load properties for name [" + propFile + "]", ex);
-            }
-            finally
-            {
-                try
-                {
-                    is.close();
-                }
-                catch ( IOException ignore )
-                {
-                    // Ignored
-                }
-            }
-        }
-        else
-        {
-            throw new CacheException( "Failed to read configuration file [" + propFile + "]" );
-        }
-
-        configure( props );
-    }
-
-    /**
-     * Configure from properties object.
-     * <p>
-     * This method will call configure, instructing it to use system properties as a default.
-     * @param props
-     */
-    public void configure( Properties props )
-    {
-        configure( props, DEFAULT_USE_SYSTEM_PROPERTIES );
-    }
-
-    /**
-     * Configure from properties object, overriding with values from the system properties if
-     * instructed.
-     * <p>
-     * You can override a specific value by passing in a system property:
-     * <p>
-     * For example, you could override this value in the cache.ccf file by starting up your program
-     * with the argument: -Djcs.auxiliary.LTCP.attributes.TcpListenerPort=1111
-     * <p>
-     * @param props
-     * @param useSystemProperties -- if true, values starting with jcs will be put into the props
-     *            file prior to configuring the cache.
-     */
-    public void configure( Properties props, boolean useSystemProperties )
-    {
-        configure( props, useSystemProperties, DEFAULT_FORCE_RECONFIGURATION );
-    }
-
-    /**
-     * Configure from properties object, overriding with values from the system properties if
-     * instructed.
-     * <p>
-     * You can override a specific value by passing in a system property:
-     * <p>
-     * For example, you could override this value in the cache.ccf file by starting up your program
-     * with the argument: -Djcs.auxiliary.LTCP.attributes.TcpListenerPort=1111
-     * <p>
-     * @param props
-     * @param useSystemProperties -- if true, values starting with jcs will be put into the props
-     *            file prior to configuring the cache.
-     * @param forceReconfiguration - if the manager is already configured, we will try again. This
-     *            may not work properly.
-     */
-    public synchronized void configure( Properties props, boolean useSystemProperties, boolean forceReconfiguration )
-    {
-        if ( props == null )
-        {
-            log.error( "No properties found.  Please configure the cache correctly." );
-            return;
-        }
-
-        if ( isConfigured )
-        {
-            if ( !forceReconfiguration )
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Configure called after the manager has been configured.  "
-                        + "Force reconfiguration is false.  Doing nothing" );
-                }
-                return;
-            }
-            else
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Configure called after the manager has been configured.  "
-                        + "Force reconfiguration is true.  Reconfiguring as best we can." );
-                }
-            }
-        }
-        if ( useSystemProperties )
-        {
-            overrideWithSystemProperties( props );
-        }
-        doConfigure( props );
-    }
-
-    /**
-     * Any property values will be replaced with system property values that match the key.
-     * <p>
-     * TODO move to a utility.
-     * <p>
-     * @param props
-     */
-    private static void overrideWithSystemProperties( Properties props )
-    {
-        // override any setting with values from the system properties.
-        Properties sysProps = System.getProperties();
-        Set<Object> keys = sysProps.keySet();
-        Iterator<Object> keyIt = keys.iterator();
-        while ( keyIt.hasNext() )
-        {
-            String key = (String) keyIt.next();
-            if ( key.startsWith( SYSTEM_PROPERTY_KEY_PREFIX ) )
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Using system property [[" + key + "] [" + sysProps.getProperty( key ) + "]]" );
-                }
-                props.setProperty( key, sysProps.getProperty( key ) );
-            }
-        }
-    }
-
-    /**
-     * Configure the cache using the supplied properties.
-     * <p>
-     * @param props assumed not null
-     */
-    private void doConfigure( Properties props )
-    {
-        // We will expose this for managers that need raw properties.
-        this.configurationProperties = props;
-
-        // set the props value and then configure the ThreadPoolManager
-        ThreadPoolManager.setProps( props );
-        ThreadPoolManager poolMgr = ThreadPoolManager.getInstance();
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "ThreadPoolManager = " + poolMgr );
-        }
-
-        // configure the cache
-        CompositeCacheConfigurator configurator = new CompositeCacheConfigurator( this );
-
-        configurator.doConfigure( props );
-
-        isConfigured = true;
-    }
-
-    /**
-     * Gets the defaultCacheAttributes attribute of the CacheHub object
-     * <p>
-     * @return The defaultCacheAttributes value
-     */
-    public ICompositeCacheAttributes getDefaultCacheAttributes()
-    {
-        return this.defaultCacheAttr.clone();
-    }
-
-    /**
-     * Sets the defaultCacheAttributes attribute of the CacheHub object
-     * <p>
-     * @param icca The new defaultCacheAttributes value
-     */
-    public void setDefaultCacheAttributes( ICompositeCacheAttributes icca )
-    {
-        this.defaultCacheAttr = icca;
-    }
-
-    /**
-     * Sets the defaultElementAttributes attribute of the CacheHub object
-     * <p>
-     * @param iea The new defaultElementAttributes value
-     */
-    public void setDefaultElementAttributes( IElementAttributes iea )
-    {
-        this.defaultElementAttr = iea;
-    }
-
-    /**
-     * Gets the defaultElementAttributes attribute of the CacheHub object
-     * <p>
-     * @return The defaultElementAttributes value
-     */
-    public IElementAttributes getDefaultElementAttributes()
-    {
-        return this.defaultElementAttr.clone();
-    }
-
-    /**
-     * Gets the cache attribute of the CacheHub object
-     * <p>
-     * @param cacheName
-     * @return CompositeCache -- the cache region controller
-     */
-    @Override
-    public <K, V> CompositeCache<K, V>  getCache( String cacheName )
-    {
-        return getCache( cacheName, this.defaultCacheAttr.clone() );
-    }
-
-    /**
-     * Gets the cache attribute of the CacheHub object
-     * <p>
-     * @param cacheName
-     * @param cattr
-     * @return CompositeCache
-     */
-    public <K, V> CompositeCache<K, V> getCache( String cacheName, ICompositeCacheAttributes cattr )
-    {
-        cattr.setCacheName( cacheName );
-        return getCache( cattr, this.defaultElementAttr );
-    }
-
-    /**
-     * Gets the cache attribute of the CacheHub object
-     * <p>
-     * @param cacheName
-     * @param cattr
-     * @param attr
-     * @return CompositeCache
-     */
-    public <K, V> CompositeCache<K, V>  getCache( String cacheName, ICompositeCacheAttributes cattr, IElementAttributes attr )
-    {
-        cattr.setCacheName( cacheName );
-        return getCache( cattr, attr );
-    }
-
-    /**
-     * Gets the cache attribute of the CacheHub object
-     * <p>
-     * @param cattr
-     * @return CompositeCache
-     */
-    public <K, V> CompositeCache<K, V>  getCache( ICompositeCacheAttributes cattr )
-    {
-        return getCache( cattr, this.defaultElementAttr );
-    }
-
-    /**
-     * If the cache has already been created, then the CacheAttributes and the element Attributes
-     * will be ignored. Currently there is no overriding the CacheAttributes once it is set up. You
-     * can change the default ElementAttributes for a region later.
-     * <p>
-     * Overriding the default elemental attributes will require changing the way the attributes are
-     * assigned to elements. Get cache creates a cache with defaults if none are specified. We might
-     * want to create separate method for creating/getting. . .
-     * <p>
-     * @param cattr
-     * @param attr
-     * @return CompositeCache
-     */
-    @SuppressWarnings("unchecked") // Need to cast because of common map for all caches
-    public <K, V> CompositeCache<K, V>  getCache( ICompositeCacheAttributes cattr, IElementAttributes attr )
-    {
-        CompositeCache<K, V> cache;
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "attr = " + attr );
-        }
-
-        cache = (CompositeCache<K, V>) caches.get( cattr.getCacheName() );
-
-        if (cache == null)
-        {
-            cacheLock.lock();
-
-            try
-            {
-                // double check
-                cache = (CompositeCache<K, V>) caches.get( cattr.getCacheName() );
-
-                if ( cache == null )
-                {
-                    cattr.setCacheName( cattr.getCacheName() );
-
-                    CompositeCacheConfigurator configurator = new CompositeCacheConfigurator( this );
-
-                    cache = configurator.parseRegion( this.getConfigurationProperties(), cattr.getCacheName(),
-                                                      this.defaultAuxValues, cattr );
-
-                    caches.put( cattr.getCacheName(), cache );
-                }
-            }
-            finally
-            {
-                cacheLock.unlock();
-            }
-        }
-
-        return cache;
-    }
-
-    /**
-     * @param name
-     */
-    public void freeCache( String name )
-    {
-        freeCache( name, false );
-    }
-
-    /**
-     * @param name
-     * @param fromRemote
-     */
-    public void freeCache( String name, boolean fromRemote )
-    {
-        CompositeCache<?, ?> cache = (CompositeCache<?, ?>) caches.remove( name );
-
-        if ( cache != null )
-        {
-            cache.dispose( fromRemote );
-        }
-    }
-
-    /**
-     * Calls freeCache on all regions
-     */
-    public void shutDown()
-    {
-        synchronized (CompositeCacheManager.class)
-        {
-            // shutdown element event queue
-            this.elementEventQueue.dispose();
-
-            // shutdown all scheduled jobs
-            this.scheduledExecutor.shutdownNow();
-
-            // shutdown all thread pools
-            ThreadPoolManager.dispose();
-
-            // notify any observers
-            synchronized ( shutdownObservers )
-            {
-                // We don't need to worry about locking the set.
-                // since this is a shutdown command, nor do we need
-                // to queue these up.
-                for (IShutdownObserver observer : shutdownObservers)
-                {
-                    observer.shutdown();
-                }
-            }
-
-            // Unregister JMX bean
-            if (isJMXRegistered)
-            {
-                MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
-                try
-                {
-                    ObjectName jmxObjectName = new ObjectName(jmxName);
-                    mbs.unregisterMBean(jmxObjectName);
-                }
-                catch (Exception e)
-                {
-                    log.warn( "Could not unregister JMX bean.", e );
-                }
-
-                isJMXRegistered = false;
-            }
-
-            // do the traditional shutdown of the regions.
-            for (String name : getCacheNames())
-            {
-                freeCache( name );
-            }
-
-            // shut down factories
-            for (AuxiliaryCacheFactory factory : auxiliaryFactoryRegistry.values())
-            {
-                factory.dispose();
-            }
-
-            auxiliaryAttributeRegistry.clear();
-            auxiliaryFactoryRegistry.clear();
-
-            if (shutdownHook != null)
-            {
-                try
-                {
-                    Runtime.getRuntime().removeShutdownHook(shutdownHook);
-                }
-                catch (IllegalStateException e)
-                {
-                    // May fail if the JVM is already shutting down
-                }
-
-                this.shutdownHook = null;
-            }
-
-            isConfigured = false;
-            isInitialized = false;
-        }
-    }
-
-    /** */
-    private void incrementClients()
-    {
-        clients++;
-    }
-
-    /** */
-    public void release()
-    {
-        release( false );
-    }
-
-    /**
-     * @param fromRemote
-     */
-    private void release( boolean fromRemote )
-    {
-        synchronized ( CompositeCacheManager.class )
-        {
-            // Wait until called by the last client
-            if ( --clients > 0 )
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Release called, but " + clients + " remain" );
-                    return;
-                }
-            }
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Last client called release. There are " + caches.size() + " caches which will be disposed" );
-            }
-
-            for (ICache<?, ?> c : caches.values() )
-            {
-                CompositeCache<?, ?> cache = (CompositeCache<?, ?>) c;
-
-                if ( cache != null )
-                {
-                    cache.dispose( fromRemote );
-                }
-            }
-        }
-    }
-
-    /**
-     * Returns a list of the current cache names.
-     * @return String[]
-     */
-    public String[] getCacheNames()
-    {
-        return caches.keySet().toArray(new String[caches.size()]);
-    }
-
-    /**
-     * @return ICacheType.CACHE_HUB
-     */
-    public CacheType getCacheType()
-    {
-        return CacheType.CACHE_HUB;
-    }
-
-    /**
-     * @return ICompositeCacheAttributes
-     */
-    public ICompositeCacheAttributes getDefaultCattr()
-    {
-        return this.defaultCacheAttr;
-    }
-
-    /**
-     * @param auxFac
-     */
-    public void registryFacPut( AuxiliaryCacheFactory auxFac )
-    {
-        auxiliaryFactoryRegistry.put( auxFac.getName(), auxFac );
-    }
-
-    /**
-     * @param name
-     * @return AuxiliaryCacheFactory
-     */
-    public AuxiliaryCacheFactory registryFacGet( String name )
-    {
-        return auxiliaryFactoryRegistry.get( name );
-    }
-
-    /**
-     * @param auxAttr
-     */
-    public void registryAttrPut( AuxiliaryCacheAttributes auxAttr )
-    {
-        auxiliaryAttributeRegistry.put( auxAttr.getName(), auxAttr );
-    }
-
-    /**
-     * @param name
-     * @return AuxiliaryCacheAttributes
-     */
-    public AuxiliaryCacheAttributes registryAttrGet( String name )
-    {
-        return auxiliaryAttributeRegistry.get( name );
-    }
-
-    /**
-     * Add a cache to the map of registered caches
-     *
-     * @param cacheName the region name
-     * @param cache the cache instance
-     */
-    public void addCache(String cacheName, ICache<?, ?> cache)
-    {
-        caches.put(cacheName, cache);
-    }
-
-    /**
-     * Add a cache to the map of registered auxiliary caches
-     *
-     * @param auxName the auxiliary name
-     * @param cacheName the region name
-     * @param cache the cache instance
-     */
-    public void addAuxiliaryCache(String auxName, String cacheName, AuxiliaryCache<?, ?> cache)
-    {
-        String key = String.format("aux.%s.region.%s", auxName, cacheName);
-        auxiliaryCaches.put(key, cache);
-    }
-
-    /**
-     * Get a cache from the map of registered auxiliary caches
-     *
-     * @param auxName the auxiliary name
-     * @param cacheName the region name
-     *
-     * @return the cache instance
-     */
-    @Override
-    @SuppressWarnings("unchecked") // because of common map for all auxiliary caches
-    public <K, V> AuxiliaryCache<K, V> getAuxiliaryCache(String auxName, String cacheName)
-    {
-        String key = String.format("aux.%s.region.%s", auxName, cacheName);
-        return (AuxiliaryCache<K, V>) auxiliaryCaches.get(key);
-    }
-
-    /**
-     * @param defaultAuxValues the defaultAuxValues to set
-     */
-    public void setDefaultAuxValues(String defaultAuxValues)
-    {
-        this.defaultAuxValues = defaultAuxValues;
-    }
-
-    /**
-     * Gets stats for debugging. This calls gets statistics and then puts all the results in a
-     * string. This returns data for all regions.
-     * <p>
-     * @return String
-     */
-    @Override
-    public String getStats()
-    {
-        ICacheStats[] stats = getStatistics();
-        if ( stats == null )
-        {
-            return "NONE";
-        }
-
-        // force the array elements into a string.
-        StringBuilder buf = new StringBuilder();
-        int statsLen = stats.length;
-        for ( int i = 0; i < statsLen; i++ )
-        {
-            buf.append( "\n---------------------------\n" );
-            buf.append( stats[i] );
-        }
-        return buf.toString();
-    }
-
-    /**
-     * This returns data gathered for all regions and all the auxiliaries they currently uses.
-     * <p>
-     * @return ICacheStats[]
-     */
-    public ICacheStats[] getStatistics()
-    {
-        ArrayList<ICacheStats> cacheStats = new ArrayList<ICacheStats>();
-        for (ICache<?, ?> c :  caches.values())
-        {
-            CompositeCache<?, ?> cache = (CompositeCache<?, ?>) c;
-            if ( cache != null )
-            {
-                cacheStats.add( cache.getStatistics() );
-            }
-        }
-        ICacheStats[] stats = cacheStats.toArray( new CacheStats[0] );
-        return stats;
-    }
-
-    /**
-     * Perhaps the composite cache itself should be the observable object. It doesn't make much of a
-     * difference. There are some problems with region by region shutdown. Some auxiliaries are
-     * global. They will need to track when every region has shutdown before doing things like
-     * closing the socket with a lateral.
-     * <p>
-     * @param observer
-     */
-    @Override
-    public void registerShutdownObserver( IShutdownObserver observer )
-    {
-        // synchronized to take care of iteration safety
-        // during shutdown.
-        synchronized ( shutdownObservers )
-        {
-            // the set will take care of duplication protection
-            shutdownObservers.add( observer );
-        }
-    }
-
-    /**
-     * @param observer
-     */
-    @Override
-    public void deregisterShutdownObserver( IShutdownObserver observer )
-    {
-        synchronized ( shutdownObservers )
-        {
-            shutdownObservers.remove( observer );
-        }
-    }
-
-    /**
-     * This is exposed so other manager can get access to the props.
-     * <p>
-     * @param props
-     */
-    void setConfigurationProperties( Properties props )
-    {
-        this.configurationProperties = props;
-    }
-
-    /**
-     * This is exposed so other manager can get access to the props.
-     * <p>
-     * @return the configurationProperties
-     */
-    @Override
-    public Properties getConfigurationProperties()
-    {
-        return configurationProperties;
-    }
-
-    /**
-     * @return the isInitialized
-     */
-    public boolean isInitialized()
-    {
-        return isInitialized;
-    }
-
-    /**
-     * @return the isConfigured
-     */
-    public boolean isConfigured()
-    {
-        return isConfigured;
-    }
-
-    public void setJmxName(final String name) {
-        if (isJMXRegistered)
-        {
-            throw new IllegalStateException("Too late, MBean registration is done");
-        }
-        jmxName = name;
-    }
-
-    /**
-     * Called on shutdown. This gives use a chance to store the keys and to optimize even if the
-     * cache manager's shutdown method was not called manually.
-     */
-    class ShutdownHook
-        extends Thread
-    {
-        /**
-         * This will persist the keys on shutdown.
-         * <p>
-         * @see java.lang.Thread#run()
-         */
-        @SuppressWarnings("synthetic-access")
-        @Override
-        public void run()
-        {
-            if ( isInitialized() )
-            {
-                log.info( "Shutdown hook activated.  Shutdown was not called.  Shutting down JCS." );
-                shutDown();
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/control/event/ElementEvent.java b/src/org/apache/commons/jcs/engine/control/event/ElementEvent.java
deleted file mode 100644
index e25a603..0000000
--- a/src/org/apache/commons/jcs/engine/control/event/ElementEvent.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.apache.commons.jcs.engine.control.event;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.EventObject;
-
-import org.apache.commons.jcs.engine.control.event.behavior.ElementEventType;
-import org.apache.commons.jcs.engine.control.event.behavior.IElementEvent;
-
-/**
- * Element events will trigger the creation of Element Event objects. This is a wrapper around the
- * cache element that indicates the event triggered.
- */
-public class ElementEvent<T>
-    extends EventObject
-    implements IElementEvent<T>
-{
-    /** Don't change */
-    private static final long serialVersionUID = -5364117411457467056L;
-
-    /** default event code */
-    private ElementEventType elementEvent = ElementEventType.EXCEEDED_MAXLIFE_BACKGROUND;
-
-    /**
-     * Constructor for the ElementEvent object
-     * <p>
-     * @param source The Cache Element
-     * @param elementEvent The event id defined in the enum class.
-     */
-    public ElementEvent( T source, ElementEventType elementEvent )
-    {
-        super( source );
-        this.elementEvent = elementEvent;
-    }
-
-    /**
-     * Gets the elementEvent attribute of the ElementEvent object
-     * <p>
-     * @return The elementEvent value. The List of values is defined in ElementEventType.
-     */
-    @Override
-    public ElementEventType getElementEvent()
-    {
-        return elementEvent;
-    }
-
-    /**
-     * @return the source of the event.
-     */
-    @SuppressWarnings("unchecked") // Generified
-    @Override
-    public T getSource()
-    {
-        return (T) super.getSource();
-
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/control/event/ElementEventQueue.java b/src/org/apache/commons/jcs/engine/control/event/ElementEventQueue.java
deleted file mode 100644
index 1a6e9bd..0000000
--- a/src/org/apache/commons/jcs/engine/control/event/ElementEventQueue.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.apache.commons.jcs.engine.control.event;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.commons.jcs.engine.control.event.behavior.IElementEvent;
-import org.apache.commons.jcs.engine.control.event.behavior.IElementEventHandler;
-import org.apache.commons.jcs.engine.control.event.behavior.IElementEventQueue;
-import org.apache.commons.jcs.utils.threadpool.DaemonThreadFactory;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * An event queue is used to propagate ordered cache events to one and only one target listener.
- */
-public class ElementEventQueue
-    implements IElementEventQueue
-{
-    private static final String THREAD_PREFIX = "JCS-ElementEventQueue-";
-
-    /** The logger */
-    private static final Log log = LogFactory.getLog( ElementEventQueue.class );
-
-    /** shutdown or not */
-    private boolean destroyed = false;
-
-    /** The event queue */
-    private LinkedBlockingQueue<Runnable> queue;
-
-    /** The worker thread pool. */
-    private ThreadPoolExecutor queueProcessor;
-
-    /**
-     * Constructor for the ElementEventQueue object
-     */
-    public ElementEventQueue()
-    {
-        queue = new LinkedBlockingQueue<Runnable>();
-        queueProcessor = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS,
-                queue, new DaemonThreadFactory(THREAD_PREFIX));
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Constructed: " + this );
-        }
-    }
-
-    /**
-     * Dispose queue
-     */
-    @Override
-    public void dispose()
-    {
-        if ( !destroyed )
-        {
-            destroyed = true;
-
-            // synchronize on queue so the thread will not wait forever,
-            // and then interrupt the QueueProcessor
-            queueProcessor.shutdownNow();
-            queueProcessor = null;
-
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Element event queue destroyed: " + this );
-            }
-        }
-    }
-
-    /**
-     * Adds an ElementEvent to be handled
-     * @param hand The IElementEventHandler
-     * @param event The IElementEventHandler IElementEvent event
-     * @throws IOException
-     */
-    @Override
-    public <T> void addElementEvent( IElementEventHandler hand, IElementEvent<T> event )
-        throws IOException
-    {
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Adding Event Handler to QUEUE, !destroyed = " + !destroyed );
-        }
-
-        if (destroyed)
-        {
-            log.warn("Event submitted to disposed element event queue " + event);
-        }
-        else
-        {
-            ElementEventRunner runner = new ElementEventRunner( hand, event );
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "runner = " + runner );
-            }
-
-            queueProcessor.execute(runner);
-        }
-    }
-
-    // /////////////////////////// Inner classes /////////////////////////////
-
-    /**
-     * Retries before declaring failure.
-     */
-    protected abstract class AbstractElementEventRunner
-        implements Runnable
-    {
-        /**
-         * Main processing method for the AbstractElementEvent object
-         */
-        @SuppressWarnings("synthetic-access")
-        @Override
-        public void run()
-        {
-            try
-            {
-                doRun();
-                // happy and done.
-            }
-            catch ( IOException e )
-            {
-                // Too bad. The handler has problems.
-                log.warn( "Giving up element event handling " + ElementEventQueue.this, e );
-            }
-        }
-
-        /**
-         * This will do the work or trigger the work to be done.
-         * <p>
-         * @throws IOException
-         */
-        protected abstract void doRun()
-            throws IOException;
-    }
-
-    /**
-     * ElementEventRunner.
-     */
-    private class ElementEventRunner
-        extends AbstractElementEventRunner
-    {
-        /** the handler */
-        private final IElementEventHandler hand;
-
-        /** event */
-        private final IElementEvent<?> event;
-
-        /**
-         * Constructor for the PutEvent object.
-         * <p>
-         * @param hand
-         * @param event
-         * @throws IOException
-         */
-        @SuppressWarnings("synthetic-access")
-        ElementEventRunner( IElementEventHandler hand, IElementEvent<?> event )
-            throws IOException
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Constructing " + this );
-            }
-            this.hand = hand;
-            this.event = event;
-        }
-
-        /**
-         * Tells the handler to handle the event.
-         * <p>
-         * @throws IOException
-         */
-        @Override
-        protected void doRun()
-            throws IOException
-        {
-            hand.handleElementEvent( event );
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/control/event/behavior/ElementEventType.java b/src/org/apache/commons/jcs/engine/control/event/behavior/ElementEventType.java
deleted file mode 100644
index 52b0fe8..0000000
--- a/src/org/apache/commons/jcs/engine/control/event/behavior/ElementEventType.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.apache.commons.jcs.engine.control.event.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This describes the events that an item can encounter.
- */
-public enum ElementEventType
-{
-    /** Background expiration */
-    EXCEEDED_MAXLIFE_BACKGROUND,
-
-    /*** Expiration discovered on request */
-    EXCEEDED_MAXLIFE_ONREQUEST,
-
-    /** Background expiration */
-    EXCEEDED_IDLETIME_BACKGROUND,
-
-    /** Expiration discovered on request */
-    EXCEEDED_IDLETIME_ONREQUEST,
-
-    /** Moving from memory to disk (what if no disk?) */
-    SPOOLED_DISK_AVAILABLE,
-
-    /** Moving from memory to disk (what if no disk?) */
-    SPOOLED_DISK_NOT_AVAILABLE,
-
-    /** Moving from memory to disk, but item is not spoolable */
-    SPOOLED_NOT_ALLOWED //,
-
-    /** Removed actively by a remove command. (Could distinguish between local and remote) */
-    //REMOVED,
-    /**
-     * Element was requested from cache. Not sure we ever want to implement this.
-     */
-    //GET
-}
diff --git a/src/org/apache/commons/jcs/engine/control/event/behavior/IElementEvent.java b/src/org/apache/commons/jcs/engine/control/event/behavior/IElementEvent.java
deleted file mode 100644
index 74b9c7f..0000000
--- a/src/org/apache/commons/jcs/engine/control/event/behavior/IElementEvent.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.commons.jcs.engine.control.event.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-/**
- * Defines how an element event object should behave.
- */
-public interface IElementEvent<T>
-    extends Serializable
-{
-    /**
-     * Gets the elementEvent attribute of the IElementEvent object. This code is Contained in the
-     * IElememtEventConstants class.
-     *<p>
-     * @return The elementEvent value
-     */
-    ElementEventType getElementEvent();
-
-    /**
-     * @return the source of the event.
-     */
-    T getSource();
-}
diff --git a/src/org/apache/commons/jcs/engine/control/event/behavior/IElementEventHandler.java b/src/org/apache/commons/jcs/engine/control/event/behavior/IElementEventHandler.java
deleted file mode 100644
index 3aed8b7..0000000
--- a/src/org/apache/commons/jcs/engine/control/event/behavior/IElementEventHandler.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.commons.jcs.engine.control.event.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This interface defines the behavior for event handler. Event handlers are
- * transient. They are not replicated and are not written to disk.
- * <p>
- * If you want an event handler by default for all elements in a region, then
- * you can add it to the default element attributes. This way it will get created
- * whenever an item gets put into the cache.
- *
- */
-public interface IElementEventHandler
-{
-    /**
-     * Handle events for this element. The events are typed.
-     *
-     * @param event
-     *            The event created by the cache.
-     */
-    <T> void handleElementEvent( IElementEvent<T> event );
-}
diff --git a/src/org/apache/commons/jcs/engine/control/event/behavior/IElementEventQueue.java b/src/org/apache/commons/jcs/engine/control/event/behavior/IElementEventQueue.java
deleted file mode 100644
index fc5f84e..0000000
--- a/src/org/apache/commons/jcs/engine/control/event/behavior/IElementEventQueue.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.commons.jcs.engine.control.event.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-
-/**
- * Interface for an element event queue. An event queue is used to propagate
- * ordered element events in one region.
- *
- */
-public interface IElementEventQueue
-{
-    /**
-     * Adds an ElementEvent to be handled
-     *
-     * @param hand
-     *            The IElementEventHandler
-     * @param event
-     *            The IElementEventHandler IElementEvent event
-     * @throws IOException
-     */
-    <T> void addElementEvent( IElementEventHandler hand, IElementEvent<T> event )
-        throws IOException;
-
-    /**
-     * Destroy the event queue
-     *
-     */
-    void dispose();
-}
diff --git a/src/org/apache/commons/jcs/engine/control/group/GroupAttrName.java b/src/org/apache/commons/jcs/engine/control/group/GroupAttrName.java
deleted file mode 100644
index 8da08eb..0000000
--- a/src/org/apache/commons/jcs/engine/control/group/GroupAttrName.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.apache.commons.jcs.engine.control.group;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-/**
- * Description of the Class
- */
-public class GroupAttrName<T>
-    implements Serializable
-{
-    /** Don't change */
-    private static final long serialVersionUID = 1586079686300744198L;
-
-    /** Description of the Field */
-    public final GroupId groupId;
-
-    /** the name of the attribute */
-    public final T attrName;
-
-    /** Cached toString value */
-    private String toString;
-
-    /**
-     * Constructor for the GroupAttrName object
-     * @param groupId
-     * @param attrName
-     */
-    public GroupAttrName( GroupId groupId, T attrName )
-    {
-        this.groupId = groupId;
-        this.attrName = attrName;
-
-        if ( groupId == null )
-        {
-            throw new IllegalArgumentException( "groupId must not be null." );
-        }
-    }
-
-    /**
-     * Tests object equality.
-     * @param obj The <code>GroupAttrName</code> instance to test.
-     * @return Whether equal.
-     */
-    @Override
-    public boolean equals( Object obj )
-    {
-        if ( obj == null || !( obj instanceof GroupAttrName ) )
-        {
-            return false;
-        }
-        GroupAttrName<?> to = (GroupAttrName<?>) obj;
-
-        if (groupId.equals( to.groupId ))
-        {
-            if (attrName == null && to.attrName == null)
-            {
-                return true;
-            }
-            else if (attrName == null || to.attrName == null)
-            {
-                return false;
-            }
-
-            return  attrName.equals( to.attrName );
-        }
-
-        return false;
-    }
-
-    /**
-     * @return A hash code based on the hash code of @ #groupid} and {@link #attrName}.
-     */
-    @Override
-    public int hashCode()
-    {
-        if (attrName == null)
-        {
-            return groupId.hashCode();
-        }
-
-        return groupId.hashCode() ^ attrName.hashCode();
-    }
-
-    /**
-     * @return the cached value.
-     */
-    @Override
-    public String toString()
-    {
-        if ( toString == null )
-        {
-            toString = "[GAN: groupId=" + groupId + ", attrName=" + attrName + "]";
-        }
-
-        return toString;
-    }
-
-}
diff --git a/src/org/apache/commons/jcs/engine/control/group/GroupId.java b/src/org/apache/commons/jcs/engine/control/group/GroupId.java
deleted file mode 100644
index 7e243d5..0000000
--- a/src/org/apache/commons/jcs/engine/control/group/GroupId.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.apache.commons.jcs.engine.control.group;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-/**
- * Used to avoid name conflict when group cache items are mixed with non-group cache items in the
- * same cache.
- */
-public class GroupId
-    implements Serializable
-{
-    /** Don't change. */
-    private static final long serialVersionUID = 4626368486444860133L;
-
-    /** Description of the Field */
-    public final String groupName;
-
-    /** the name of the region. */
-    public final String cacheName;
-
-    /** Cached toString value. */
-    private String toString;
-
-    /**
-     * Constructor for the GroupId object
-     * <p>
-     * @param cacheName
-     * @param groupName
-     */
-    public GroupId( String cacheName, String groupName )
-    {
-        this.cacheName = cacheName;
-        this.groupName = groupName;
-
-        if ( cacheName == null )
-        {
-            throw new IllegalArgumentException( "cacheName must not be null." );
-        }
-        if ( groupName == null )
-        {
-            throw new IllegalArgumentException( "groupName must not be null." );
-        }
-    }
-
-    /**
-     * @param obj
-     * @return cacheName.equals( g.cacheName ) && groupName.equals( g.groupName );
-     */
-    @Override
-    public boolean equals( Object obj )
-    {
-        if ( obj == null || !( obj instanceof GroupId ) )
-        {
-            return false;
-        }
-        GroupId g = (GroupId) obj;
-        return cacheName.equals( g.cacheName ) && groupName.equals( g.groupName );
-    }
-
-    /**
-     * @return cacheName.hashCode() + groupName.hashCode();
-     */
-    @Override
-    public int hashCode()
-    {
-        return cacheName.hashCode() + groupName.hashCode();
-    }
-
-    /**
-     * Caches the value.
-     * <p>
-     * @return debugging string.
-     */
-    @Override
-    public String toString()
-    {
-        if ( toString == null )
-        {
-            toString = "[groupId=" + cacheName + ", " + groupName + ']';
-        }
-
-        return toString;
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/control/package.html b/src/org/apache/commons/jcs/engine/control/package.html
deleted file mode 100644
index 82b9a4c..0000000
--- a/src/org/apache/commons/jcs/engine/control/package.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-      The primary cache classes and the hub.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/engine/logging/CacheEvent.java b/src/org/apache/commons/jcs/engine/logging/CacheEvent.java
deleted file mode 100644
index c07ecac..0000000
--- a/src/org/apache/commons/jcs/engine/logging/CacheEvent.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package org.apache.commons.jcs.engine.logging;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEvent;
-
-import java.util.Date;
-
-/** It's returned from create and passed into log. */
-public class CacheEvent<K>
-    implements ICacheEvent<K>
-{
-    /** Don't change. */
-    private static final long serialVersionUID = -5913139566421714330L;
-
-    /** The time at which this object was created. */
-    private final long createTime = System.currentTimeMillis();
-
-    /** The auxiliary or other source of the event. */
-    private String source;
-
-    /** The cache region */
-    private String region;
-
-    /** The event name: update, get, remove, etc. */
-    private String eventName;
-
-    /** disk location, ip, etc. */
-    private String optionalDetails;
-
-    /** The key that was put or retrieved. */
-    private K key;
-
-    /**
-     * @param source the source to set
-     */
-    @Override
-	public void setSource( String source )
-    {
-        this.source = source;
-    }
-
-    /**
-     * @return the source
-     */
-    @Override
-	public String getSource()
-    {
-        return source;
-    }
-
-    /**
-     * @param region the region to set
-     */
-    @Override
-	public void setRegion( String region )
-    {
-        this.region = region;
-    }
-
-    /**
-     * @return the region
-     */
-    @Override
-	public String getRegion()
-    {
-        return region;
-    }
-
-    /**
-     * @param eventName the eventName to set
-     */
-    @Override
-	public void setEventName( String eventName )
-    {
-        this.eventName = eventName;
-    }
-
-    /**
-     * @return the eventName
-     */
-    @Override
-	public String getEventName()
-    {
-        return eventName;
-    }
-
-    /**
-     * @param optionalDetails the optionalDetails to set
-     */
-    @Override
-	public void setOptionalDetails( String optionalDetails )
-    {
-        this.optionalDetails = optionalDetails;
-    }
-
-    /**
-     * @return the optionalDetails
-     */
-    @Override
-	public String getOptionalDetails()
-    {
-        return optionalDetails;
-    }
-
-    /**
-     * @param key the key to set
-     */
-    @Override
-	public void setKey( K key )
-    {
-        this.key = key;
-    }
-
-    /**
-     * @return the key
-     */
-    @Override
-	public K getKey()
-    {
-        return key;
-    }
-
-    /**
-     * The time at which this object was created.
-     * <p>
-     * @return the createTime
-     */
-    public long getCreateTime()
-    {
-        return createTime;
-    }
-
-    /**
-     * @return reflection toString
-     */
-    @Override
-    public String toString()
-    {
-    	StringBuilder sb = new StringBuilder();
-    	sb.append("CacheEvent: ").append(eventName).append(" Created: ").append(new Date(createTime));
-    	if (source != null)
-    	{
-        	sb.append(" Source: ").append(source);
-    	}
-    	if (region != null)
-    	{
-        	sb.append(" Region: ").append(region);
-    	}
-    	if (key != null)
-    	{
-        	sb.append(" Key: ").append(key);
-    	}
-    	if (optionalDetails != null)
-    	{
-        	sb.append(" Details: ").append(optionalDetails);
-    	}
-        return sb.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/logging/CacheEventLoggerDebugLogger.java b/src/org/apache/commons/jcs/engine/logging/CacheEventLoggerDebugLogger.java
deleted file mode 100644
index e38a9c5..0000000
--- a/src/org/apache/commons/jcs/engine/logging/CacheEventLoggerDebugLogger.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.apache.commons.jcs.engine.logging;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEvent;
-import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This implementation simple logs to a commons logger at debug level, for all events. It's mainly
- * for testing. It isn't very useful otherwise.
- */
-public class CacheEventLoggerDebugLogger
-    implements ICacheEventLogger
-{
-    /** This is the name of the category. */
-    private String logCategoryName = CacheEventLoggerDebugLogger.class.getName();
-
-    /** The logger. This is recreated on set logCategoryName */
-    private Log log = LogFactory.getLog( logCategoryName );
-
-    /**
-     * @param source
-     * @param region
-     * @param eventName
-     * @param optionalDetails
-     * @param key
-     * @return ICacheEvent
-     */
-    @Override
-    public <T> ICacheEvent<T> createICacheEvent( String source, String region, String eventName,
-            String optionalDetails, T key )
-    {
-        ICacheEvent<T> event = new CacheEvent<T>();
-        event.setSource( source );
-        event.setRegion( region );
-        event.setEventName( eventName );
-        event.setOptionalDetails( optionalDetails );
-        event.setKey( key );
-
-        return event;
-    }
-
-    /**
-     * @param source
-     * @param eventName
-     * @param optionalDetails
-     */
-    @Override
-    public void logApplicationEvent( String source, String eventName, String optionalDetails )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( source + " | " + eventName + " | " + optionalDetails );
-        }
-    }
-
-    /**
-     * @param source
-     * @param eventName
-     * @param errorMessage
-     */
-    @Override
-    public void logError( String source, String eventName, String errorMessage )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( source + " | " + eventName + " | " + errorMessage );
-        }
-    }
-
-    /**
-     * @param event
-     */
-    @Override
-    public <T> void logICacheEvent( ICacheEvent<T> event )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( event );
-        }
-    }
-
-    /**
-     * @param logCategoryName
-     */
-    public synchronized void setLogCategoryName( String logCategoryName )
-    {
-        if ( logCategoryName != null && !logCategoryName.equals( this.logCategoryName ) )
-        {
-            this.logCategoryName = logCategoryName;
-            log = LogFactory.getLog( logCategoryName );
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/logging/behavior/ICacheEvent.java b/src/org/apache/commons/jcs/engine/logging/behavior/ICacheEvent.java
deleted file mode 100644
index 82238f2..0000000
--- a/src/org/apache/commons/jcs/engine/logging/behavior/ICacheEvent.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.apache.commons.jcs.engine.logging.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-/** Defines the common fields required by a cache event. */
-public interface ICacheEvent<K>
-    extends Serializable
-{
-    /**
-     * @param source the source to set
-     */
-    void setSource( String source );
-
-    /**
-     * @return the source
-     */
-    String getSource();
-
-    /**
-     * @param region the region to set
-     */
-    void setRegion( String region );
-
-    /**
-     * @return the region
-     */
-    String getRegion();
-
-    /**
-     * @param eventName the eventName to set
-     */
-    void setEventName( String eventName );
-
-    /**
-     * @return the eventName
-     */
-    String getEventName();
-
-    /**
-     * @param optionalDetails the optionalDetails to set
-     */
-    void setOptionalDetails( String optionalDetails );
-
-    /**
-     * @return the optionalDetails
-     */
-    String getOptionalDetails();
-
-    /**
-     * @param key the key to set
-     */
-    void setKey( K key );
-
-    /**
-     * @return the key
-     */
-    K getKey();
-}
diff --git a/src/org/apache/commons/jcs/engine/logging/behavior/ICacheEventLogger.java b/src/org/apache/commons/jcs/engine/logging/behavior/ICacheEventLogger.java
deleted file mode 100644
index 7b08c67..0000000
--- a/src/org/apache/commons/jcs/engine/logging/behavior/ICacheEventLogger.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.apache.commons.jcs.engine.logging.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This defines the behavior for event logging. Auxiliaries will send events to injected event
- * loggers.
- * <p>
- * In general all ICache interface methods should call the logger if one is configured. This will be
- * done on an ad hoc basis for now. Various auxiliaries may have additional events.
- */
-public interface ICacheEventLogger
-{
-	// TODO: Use enum
-    /** ICache update */
-    String UPDATE_EVENT = "update";
-
-    /** ICache get */
-    String GET_EVENT = "get";
-
-    /** ICache getMultiple */
-    String GETMULTIPLE_EVENT = "getMultiple";
-
-    /** ICache getMatching */
-    String GETMATCHING_EVENT = "getMatching";
-
-    /** ICache remove */
-    String REMOVE_EVENT = "remove";
-
-    /** ICache removeAll */
-    String REMOVEALL_EVENT = "removeAll";
-
-    /** ICache dispose */
-    String DISPOSE_EVENT = "dispose";
-
-    /** ICache enqueue. The time in the queue. */
-    //String ENQUEUE_EVENT = "enqueue";
-    /**
-     * Creates an event.
-     * <p>
-     * @param source - e.g. RemoteCacheServer
-     * @param region - the name of the region
-     * @param eventName - e.g. update, get, put, remove
-     * @param optionalDetails - any extra message
-     * @param key - the cache key
-     * @return ICacheEvent
-     */
-    <T> ICacheEvent<T> createICacheEvent( String source, String region,
-            String eventName, String optionalDetails, T key );
-
-    /**
-     * Logs an event.
-     * <p>
-     * @param event - the event created in createICacheEvent
-     */
-    <T> void logICacheEvent( ICacheEvent<T> event );
-
-    /**
-     * Logs an event. These are internal application events that do not correspond to ICache calls.
-     * <p>
-     * @param source - e.g. RemoteCacheServer
-     * @param eventName - e.g. update, get, put, remove
-     * @param optionalDetails - any extra message
-     */
-    void logApplicationEvent( String source, String eventName, String optionalDetails );
-
-    /**
-     * Logs an error.
-     * <p>
-     * @param source - e.g. RemoteCacheServer
-     * @param eventName - e.g. update, get, put, remove
-     * @param errorMessage - any error message
-     */
-    void logError( String source, String eventName, String errorMessage );
-}
diff --git a/src/org/apache/commons/jcs/engine/match/KeyMatcherPatternImpl.java b/src/org/apache/commons/jcs/engine/match/KeyMatcherPatternImpl.java
deleted file mode 100644
index 4bd235a..0000000
--- a/src/org/apache/commons/jcs/engine/match/KeyMatcherPatternImpl.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.commons.jcs.engine.match;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.match.behavior.IKeyMatcher;
-
-import java.util.HashSet;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/** This implementation of the KeyMatcher uses standard Java Pattern matching. */
-public class KeyMatcherPatternImpl<K>
-    implements IKeyMatcher<K>
-{
-    /** Serial version */
-    private static final long serialVersionUID = 6667352064144381264L;
-
-    /**
-     * Creates a pattern and find matches on the array.
-     * <p>
-     * @param pattern
-     * @param keyArray
-     * @return Set of the matching keys
-     */
-    @Override
-    public Set<K> getMatchingKeysFromArray( String pattern, Set<K> keyArray )
-    {
-        Pattern compiledPattern = Pattern.compile( pattern );
-
-        Set<K> matchingKeys = new HashSet<K>();
-
-        // Look for matches
-        for (K key : keyArray)
-        {
-            // TODO we might want to match on the toString.
-            if ( key instanceof String )
-            {
-                Matcher matcher = compiledPattern.matcher( (String) key );
-                if ( matcher.matches() )
-                {
-                    matchingKeys.add( key );
-                }
-            }
-        }
-
-        return matchingKeys;
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/match/behavior/IKeyMatcher.java b/src/org/apache/commons/jcs/engine/match/behavior/IKeyMatcher.java
deleted file mode 100644
index 74e9d01..0000000
--- a/src/org/apache/commons/jcs/engine/match/behavior/IKeyMatcher.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.apache.commons.jcs.engine.match.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-import java.util.Set;
-
-/** Key matchers need to implement this interface. */
-public interface IKeyMatcher<K> extends Serializable
-{
-    /**
-     * Creates a pattern and find matches on the array.
-     * <p>
-     * @param pattern
-     * @param keyArray
-     * @return Set of the matching keys
-     */
-    Set<K> getMatchingKeysFromArray( String pattern, Set<K> keyArray );
-}
diff --git a/src/org/apache/commons/jcs/engine/memory/AbstractDoubleLinkedListMemoryCache.java b/src/org/apache/commons/jcs/engine/memory/AbstractDoubleLinkedListMemoryCache.java
deleted file mode 100644
index 515c1df..0000000
--- a/src/org/apache/commons/jcs/engine/memory/AbstractDoubleLinkedListMemoryCache.java
+++ /dev/null
@@ -1,698 +0,0 @@
-package org.apache.commons.jcs.engine.memory;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.commons.jcs.engine.CacheConstants;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.control.group.GroupAttrName;
-import org.apache.commons.jcs.engine.memory.util.MemoryElementDescriptor;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.jcs.utils.struct.DoubleLinkedList;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This class contains methods that are common to memory caches using the double linked list, such
- * as the LRU, MRU, FIFO, and LIFO caches.
- * <p>
- * Children can control the expiration algorithm by controlling the update and get. The last item in the list will be the one
- * removed when the list fills. For instance LRU should more items to the front as they are used. FIFO should simply add new items
- * to the front of the list.
- */
-public abstract class AbstractDoubleLinkedListMemoryCache<K, V> extends AbstractMemoryCache<K, V>
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog(AbstractDoubleLinkedListMemoryCache.class);
-
-    /** thread-safe double linked list for lru */
-    protected DoubleLinkedList<MemoryElementDescriptor<K, V>> list; // TODO privatise
-
-    /** number of hits */
-    private AtomicInteger hitCnt;
-
-    /** number of misses */
-    private AtomicInteger missCnt;
-
-    /** number of puts */
-    private AtomicInteger putCnt;
-
-    /**
-     * For post reflection creation initialization.
-     * <p>
-     *
-     * @param hub
-     */
-    @Override
-    public void initialize(CompositeCache<K, V> hub)
-    {
-        lock.lock();
-        try
-        {
-            super.initialize(hub);
-            hitCnt = new AtomicInteger(0);
-            missCnt = new AtomicInteger(0);
-            putCnt = new AtomicInteger(0);
-            list = new DoubleLinkedList<MemoryElementDescriptor<K, V>>();
-            log.info("initialized MemoryCache for " + getCacheName());
-        }
-        finally
-        {
-            lock.unlock();
-        }
-    }
-
-    /**
-     * This is called by super initialize.
-     *
-     * NOTE: should return a thread safe map
-     *
-     * <p>
-     *
-     * @return new ConcurrentHashMap()
-     */
-    @Override
-    public Map<K, MemoryElementDescriptor<K, V>> createMap()
-    {
-        return new ConcurrentHashMap<K, MemoryElementDescriptor<K, V>>();
-    }
-
-    /**
-     * Calls the abstract method updateList.
-     * <p>
-     * If the max size is reached, an element will be put to disk.
-     * <p>
-     *
-     * @param ce
-     *            The cache element, or entry wrapper
-     * @throws IOException
-     */
-    @Override
-    public final void update(ICacheElement<K, V> ce) throws IOException
-    {
-        putCnt.incrementAndGet();
-
-        lock.lock();
-        try
-        {
-            MemoryElementDescriptor<K, V> newNode = adjustListForUpdate(ce);
-
-            // this should be synchronized if we were not using a ConcurrentHashMap
-            MemoryElementDescriptor<K, V> oldNode = map.put(newNode.ce.getKey(), newNode);
-
-            // If the node was the same as an existing node, remove it.
-            if (oldNode != null && newNode.ce.getKey().equals(oldNode.ce.getKey()))
-            {
-                list.remove(oldNode);
-            }
-        }
-        finally
-        {
-            lock.unlock();
-        }
-
-        // If we are over the max spool some
-        spoolIfNeeded();
-    }
-
-    /**
-     * Children implement this to control the cache expiration algorithm
-     * <p>
-     *
-     * @param ce
-     * @return MemoryElementDescriptor the new node
-     * @throws IOException
-     */
-    protected abstract MemoryElementDescriptor<K, V> adjustListForUpdate(ICacheElement<K, V> ce) throws IOException;
-
-    /**
-     * If the max size has been reached, spool.
-     * <p>
-     *
-     * @throws Error
-     */
-    private void spoolIfNeeded() throws Error
-    {
-        int size = map.size();
-        // If the element limit is reached, we need to spool
-
-        if (size <= this.getCacheAttributes().getMaxObjects())
-        {
-            return;
-        }
-
-        if (log.isDebugEnabled())
-        {
-            log.debug("In memory limit reached, spooling");
-        }
-
-        // Write the last 'chunkSize' items to disk.
-        int chunkSizeCorrected = Math.min(size, chunkSize);
-
-        if (log.isDebugEnabled())
-        {
-            log.debug("About to spool to disk cache, map size: " + size + ", max objects: "
-                + this.getCacheAttributes().getMaxObjects() + ", maximum items to spool: " + chunkSizeCorrected);
-        }
-
-        // The spool will put them in a disk event queue, so there is no
-        // need to pre-queue the queuing. This would be a bit wasteful
-        // and wouldn't save much time in this synchronous call.
-        lock.lock();
-
-        try
-        {
-            for (int i = 0; i < chunkSizeCorrected; i++)
-            {
-                ICacheElement<K, V> lastElement = spoolLastElement();
-                if (lastElement == null)
-                {
-                    break;
-                }
-            }
-
-            // If this is out of the sync block it can detect a mismatch
-            // where there is none.
-            if (log.isDebugEnabled() && map.size() != list.size())
-            {
-                log.debug("update: After spool, size mismatch: map.size() = " + map.size() + ", linked list size = " + list.size());
-            }
-        }
-        finally
-        {
-            lock.unlock();
-        }
-
-        if (log.isDebugEnabled())
-        {
-            log.debug("update: After spool map size: " + map.size() + " linked list size = " + list.size());
-        }
-    }
-
-    /**
-     * Get an item from the cache If the item is found, it is removed from the list and added first.
-     * <p>
-     *
-     * @param key
-     *            Identifies item to find
-     * @return ICacheElement<K, V> if found, else null
-     * @throws IOException
-     */
-    @Override
-    public final ICacheElement<K, V> get(K key) throws IOException
-    {
-        ICacheElement<K, V> ce = null;
-
-        if (log.isDebugEnabled())
-        {
-            log.debug(getCacheName() + ": getting item for key " + key);
-        }
-
-        MemoryElementDescriptor<K, V> me = map.get(key);
-
-        if (me != null)
-        {
-            hitCnt.incrementAndGet();
-
-            lock.lock();
-            try
-            {
-                ce = me.ce;
-                // ABSTRACT
-                adjustListForGet(me);
-            }
-            finally
-            {
-                lock.unlock();
-            }
-
-            if (log.isDebugEnabled())
-            {
-                log.debug(getCacheName() + ": LRUMemoryCache hit for " + key);
-            }
-        }
-        else
-        {
-            missCnt.incrementAndGet();
-
-            if (log.isDebugEnabled())
-            {
-                log.debug(getCacheName() + ": LRUMemoryCache miss for " + key);
-            }
-        }
-
-        if (log.isDebugEnabled())
-        {
-            verifyCache();
-        }
-
-        return ce;
-    }
-
-    /**
-     * Adjust the list as needed for a get. This allows children to control the algorithm
-     * <p>
-     *
-     * @param me
-     */
-    protected abstract void adjustListForGet(MemoryElementDescriptor<K, V> me);
-
-    /**
-     * This instructs the memory cache to remove the <i>numberToFree</i> according to its eviction
-     * policy. For example, the LRUMemoryCache will remove the <i>numberToFree</i> least recently
-     * used items. These will be spooled to disk if a disk auxiliary is available.
-     * <p>
-     *
-     * @param numberToFree
-     * @return the number that were removed. if you ask to free 5, but there are only 3, you will
-     *         get 3.
-     * @throws IOException
-     */
-    @Override
-    public int freeElements(int numberToFree) throws IOException
-    {
-        int freed = 0;
-
-        lock.lock();
-
-        try
-        {
-            for (; freed < numberToFree; freed++)
-            {
-                ICacheElement<K, V> element = spoolLastElement();
-                if (element == null)
-                {
-                    break;
-                }
-            }
-        }
-        finally
-        {
-            lock.unlock();
-        }
-
-        return freed;
-    }
-
-    /**
-     * This spools the last element in the LRU, if one exists.
-     * <p>
-     *
-     * @return ICacheElement<K, V> if there was a last element, else null.
-     * @throws Error
-     */
-    private ICacheElement<K, V> spoolLastElement() throws Error
-    {
-        ICacheElement<K, V> toSpool = null;
-
-        final MemoryElementDescriptor<K, V> last = list.getLast();
-        if (last != null)
-        {
-            toSpool = last.ce;
-            if (toSpool != null)
-            {
-                getCompositeCache().spoolToDisk(toSpool);
-                if (map.remove(toSpool.getKey()) == null)
-                {
-                    log.warn("update: remove failed for key: " + toSpool.getKey());
-
-                    if (log.isDebugEnabled())
-                    {
-                        verifyCache();
-                    }
-                }
-            }
-            else
-            {
-                throw new Error("update: last.ce is null!");
-            }
-
-            list.remove(last);
-        }
-
-        return toSpool;
-    }
-
-    /**
-     * Removes an item from the cache. This method handles hierarchical removal. If the key is a
-     * String and ends with the CacheConstants.NAME_COMPONENT_DELIMITER, then all items with keys
-     * starting with the argument String will be removed.
-     * <p>
-     *
-     * @param key
-     * @return true if the removal was successful
-     * @throws IOException
-     */
-    @Override
-    public boolean remove(K key) throws IOException
-    {
-        if (log.isDebugEnabled())
-        {
-            log.debug("removing item for key: " + key);
-        }
-
-        boolean removed = false;
-
-        // handle partial removal
-        if (key instanceof String && ((String) key).endsWith(CacheConstants.NAME_COMPONENT_DELIMITER))
-        {
-            // remove all keys of the same name hierarchy.
-            for (Iterator<Map.Entry<K, MemoryElementDescriptor<K, V>>> itr = map.entrySet().iterator(); itr.hasNext();)
-            {
-                Map.Entry<K, MemoryElementDescriptor<K, V>> entry = itr.next();
-                K k = entry.getKey();
-
-                if (k instanceof String && ((String) k).startsWith(key.toString()))
-                {
-                    lock.lock();
-                    try
-                    {
-                        list.remove(entry.getValue());
-                        itr.remove();
-                        removed = true;
-                    }
-                    finally
-                    {
-                        lock.unlock();
-                    }
-                }
-            }
-        }
-        else if (key instanceof GroupAttrName && ((GroupAttrName<?>) key).attrName == null)
-        {
-            // remove all keys of the same name hierarchy.
-            for (Iterator<Map.Entry<K, MemoryElementDescriptor<K, V>>> itr = map.entrySet().iterator(); itr.hasNext();)
-            {
-                Map.Entry<K, MemoryElementDescriptor<K, V>> entry = itr.next();
-                K k = entry.getKey();
-
-                if (k instanceof GroupAttrName && ((GroupAttrName<?>) k).groupId.equals(((GroupAttrName<?>) key).groupId))
-                {
-                    lock.lock();
-                    try
-                    {
-                        list.remove(entry.getValue());
-                        itr.remove();
-                        removed = true;
-                    }
-                    finally
-                    {
-                        lock.unlock();
-                    }
-                }
-            }
-        }
-        else
-        {
-            // remove single item.
-            lock.lock();
-            try
-            {
-                MemoryElementDescriptor<K, V> me = map.remove(key);
-                if (me != null)
-                {
-                    list.remove(me);
-                    removed = true;
-                }
-            }
-            finally
-            {
-                lock.unlock();
-            }
-        }
-
-        return removed;
-    }
-
-    /**
-     * Remove all of the elements from both the Map and the linked list implementation. Overrides
-     * base class.
-     * <p>
-     *
-     * @throws IOException
-     */
-    @Override
-    public void removeAll() throws IOException
-    {
-        lock.lock();
-        try
-        {
-            list.removeAll();
-            map.clear();
-        }
-        finally
-        {
-            lock.unlock();
-        }
-    }
-
-    // --------------------------- internal methods (linked list implementation)
-    /**
-     * Adds a new node to the start of the link list.
-     * <p>
-     *
-     * @param ce
-     *            The feature to be added to the First
-     * @return MemoryElementDescriptor
-     */
-    protected MemoryElementDescriptor<K, V> addFirst(ICacheElement<K, V> ce)
-    {
-        lock.lock();
-        try
-        {
-            MemoryElementDescriptor<K, V> me = new MemoryElementDescriptor<K, V>(ce);
-            list.addFirst(me);
-            if ( log.isDebugEnabled() )
-            {
-                verifyCache(ce.getKey());
-            }
-            return me;
-        }
-        finally
-        {
-            lock.unlock();
-        }
-    }
-
-    /**
-     * Adds a new node to the end of the link list.
-     * <p>
-     *
-     * @param ce
-     *            The feature to be added to the First
-     * @return MemoryElementDescriptor
-     */
-    protected MemoryElementDescriptor<K, V> addLast(ICacheElement<K, V> ce)
-    {
-        lock.lock();
-        try
-        {
-            MemoryElementDescriptor<K, V> me = new MemoryElementDescriptor<K, V>(ce);
-            list.addLast(me);
-            if ( log.isDebugEnabled() )
-            {
-                verifyCache(ce.getKey());
-            }
-            return me;
-        }
-        finally
-        {
-            lock.unlock();
-        }
-    }
-
-    // ---------------------------------------------------------- debug methods
-
-    /**
-     * Dump the cache entries from first to list for debugging.
-     */
-    @SuppressWarnings("unchecked")
-    // No generics for public fields
-    private void dumpCacheEntries()
-    {
-        log.debug("dumpingCacheEntries");
-        for (MemoryElementDescriptor<K, V> me = list.getFirst(); me != null; me = (MemoryElementDescriptor<K, V>) me.next)
-        {
-            log.debug("dumpCacheEntries> key=" + me.ce.getKey() + ", val=" + me.ce.getVal());
-        }
-    }
-
-    /**
-     * Checks to see if all the items that should be in the cache are. Checks consistency between
-     * List and map.
-     */
-    @SuppressWarnings("unchecked")
-    // No generics for public fields
-    private void verifyCache()
-    {
-        boolean found = false;
-        log.debug("verifycache[" + getCacheName() + "]: mapContains " + map.size() + " elements, linked list contains "
-            + list.size() + " elements");
-        log.debug("verifycache: checking linked list by key ");
-        for (MemoryElementDescriptor<K, V> li = list.getFirst(); li != null; li = (MemoryElementDescriptor<K, V>) li.next)
-        {
-            Object key = li.ce.getKey();
-            if (!map.containsKey(key))
-            {
-                log.error("verifycache[" + getCacheName() + "]: map does not contain key : " + li.ce.getKey());
-                log.error("li.hashcode=" + li.ce.getKey().hashCode());
-                log.error("key class=" + key.getClass());
-                log.error("key hashcode=" + key.hashCode());
-                log.error("key toString=" + key.toString());
-                if (key instanceof GroupAttrName)
-                {
-                    GroupAttrName<?> name = (GroupAttrName<?>) key;
-                    log.error("GroupID hashcode=" + name.groupId.hashCode());
-                    log.error("GroupID.class=" + name.groupId.getClass());
-                    log.error("AttrName hashcode=" + name.attrName.hashCode());
-                    log.error("AttrName.class=" + name.attrName.getClass());
-                }
-                dumpMap();
-            }
-            else if (map.get(li.ce.getKey()) == null)
-            {
-                log.error("verifycache[" + getCacheName() + "]: linked list retrieval returned null for key: " + li.ce.getKey());
-            }
-        }
-
-        log.debug("verifycache: checking linked list by value ");
-        for (MemoryElementDescriptor<K, V> li3 = list.getFirst(); li3 != null; li3 = (MemoryElementDescriptor<K, V>) li3.next)
-        {
-            if (map.containsValue(li3) == false)
-            {
-                log.error("verifycache[" + getCacheName() + "]: map does not contain value : " + li3);
-                dumpMap();
-            }
-        }
-
-        log.debug("verifycache: checking via keysets!");
-        for (Object val : map.keySet())
-        {
-            found = false;
-
-            for (MemoryElementDescriptor<K, V> li2 = list.getFirst(); li2 != null; li2 = (MemoryElementDescriptor<K, V>) li2.next)
-            {
-                if (val.equals(li2.ce.getKey()))
-                {
-                    found = true;
-                    break;
-                }
-            }
-            if (!found)
-            {
-                log.error("verifycache[" + getCacheName() + "]: key not found in list : " + val);
-                dumpCacheEntries();
-                if (map.containsKey(val))
-                {
-                    log.error("verifycache: map contains key");
-                }
-                else
-                {
-                    log.error("verifycache: map does NOT contain key, what the HECK!");
-                }
-            }
-        }
-    }
-
-    /**
-     * Logs an error if an element that should be in the cache is not.
-     * <p>
-     *
-     * @param key
-     */
-    @SuppressWarnings("unchecked")
-    // No generics for public fields
-    private void verifyCache(K key)
-    {
-        boolean found = false;
-
-        // go through the linked list looking for the key
-        for (MemoryElementDescriptor<K, V> li = list.getFirst(); li != null; li = (MemoryElementDescriptor<K, V>) li.next)
-        {
-            if (li.ce.getKey() == key)
-            {
-                found = true;
-                log.debug("verifycache(key) key match: " + key);
-                break;
-            }
-        }
-        if (!found)
-        {
-            log.error("verifycache(key)[" + getCacheName() + "], couldn't find key! : " + key);
-        }
-    }
-
-    /**
-     * Get an Array of the keys for all elements in the memory cache
-     *
-     * @return An Object[]
-     */
-    @Override
-    public Set<K> getKeySet()
-    {
-        return new LinkedHashSet<K>(map.keySet());
-    }
-
-    /**
-     * This returns semi-structured information on the memory cache, such as the size, put count,
-     * hit count, and miss count.
-     * <p>
-     *
-     * @see org.apache.commons.jcs.engine.memory.behavior.IMemoryCache#getStatistics()
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( /* add algorithm name */"Memory Cache");
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        lock.lock(); // not sure that's really relevant here but not that important
-        try
-        {
-            elems.add(new StatElement<Integer>("List Size", Integer.valueOf(list.size())));
-            elems.add(new StatElement<Integer>("Map Size", Integer.valueOf(map.size())));
-            elems.add(new StatElement<AtomicInteger>("Put Count", putCnt));
-            elems.add(new StatElement<AtomicInteger>("Hit Count", hitCnt));
-            elems.add(new StatElement<AtomicInteger>("Miss Count", missCnt));
-        }
-        finally
-        {
-            lock.unlock();
-        }
-
-        stats.setStatElements(elems);
-
-        return stats;
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/memory/AbstractMemoryCache.java b/src/org/apache/commons/jcs/engine/memory/AbstractMemoryCache.java
deleted file mode 100644
index f5b309a..0000000
--- a/src/org/apache/commons/jcs/engine/memory/AbstractMemoryCache.java
+++ /dev/null
@@ -1,335 +0,0 @@
-package org.apache.commons.jcs.engine.memory;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.apache.commons.jcs.engine.CacheStatus;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.memory.behavior.IMemoryCache;
-import org.apache.commons.jcs.engine.memory.util.MemoryElementDescriptor;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This base includes some common code for memory caches.
- * <p>
- * This keeps a static reference to a memory shrinker clock daemon. If this region is configured to
- * use the shrinker, the clock daemon will be setup to run the shrinker on this region.
- */
-public abstract class AbstractMemoryCache<K, V>
-    implements IMemoryCache<K, V>
-{
-    /** Log instance */
-    private static final Log log = LogFactory.getLog( AbstractMemoryCache.class );
-
-    /** The region name. This defines a namespace of sorts. */
-    private String cacheName;
-
-    /** Cache Attributes.  Regions settings. */
-    private ICompositeCacheAttributes cacheAttributes;
-
-    /** The cache region this store is associated with */
-    private CompositeCache<K, V> cache;
-
-    /** status */
-    private CacheStatus status;
-
-    /** How many to spool at a time. */
-    protected int chunkSize;
-
-    protected final Lock lock = new ReentrantLock();
-
-    /** Map where items are stored by key.  This is created by the concrete child class. */
-    protected Map<K, MemoryElementDescriptor<K, V>> map;// TODO privatise
-
-    /**
-     * For post reflection creation initialization
-     * <p>
-     * @param hub
-     */
-    @Override
-    public void initialize( CompositeCache<K, V> hub )
-    {
-        lock.lock();
-        try
-        {
-            this.cacheName = hub.getCacheName();
-            this.cacheAttributes = hub.getCacheAttributes();
-            this.cache = hub;
-            map = createMap();
-
-            chunkSize = cacheAttributes.getSpoolChunkSize();
-            status = CacheStatus.ALIVE;
-        }
-        finally
-        {
-            lock.unlock();
-        }
-    }
-
-    /**
-     * Children must implement this method. A FIFO implementation may use a tree map. An LRU might
-     * use a hashtable. The map returned should be threadsafe.
-     * <p>
-     * @return a threadsafe Map
-     */
-    public abstract Map<K, MemoryElementDescriptor<K, V>> createMap();
-
-    /**
-     * Removes an item from the cache
-     * <p>
-     * @param key Identifies item to be removed
-     * @return Description of the Return Value
-     * @throws IOException Description of the Exception
-     */
-    @Override
-    public abstract boolean remove( K key )
-        throws IOException;
-
-    /**
-     * Get an item from the cache
-     * <p>
-     * @param key Description of the Parameter
-     * @return Description of the Return Value
-     * @throws IOException Description of the Exception
-     */
-    @Override
-    public abstract ICacheElement<K, V> get( K key )
-        throws IOException;
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map if there is no
-     *         data in cache for any of these keys
-     * @throws IOException
-     */
-    @Override
-    public Map<K, ICacheElement<K, V>> getMultiple( Set<K> keys )
-        throws IOException
-    {
-        Map<K, ICacheElement<K, V>> elements = new HashMap<K, ICacheElement<K, V>>();
-
-        if ( keys != null && !keys.isEmpty() )
-        {
-            for (K key : keys)
-            {
-                ICacheElement<K, V> element = get( key );
-
-                if ( element != null )
-                {
-                    elements.put( key, element );
-                }
-            }
-        }
-
-        return elements;
-    }
-
-    /**
-     * Get an item from the cache without affecting its last access time or position. Not all memory
-     * cache implementations can get quietly.
-     * <p>
-     * @param key Identifies item to find
-     * @return Element matching key if found, or null
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> getQuiet( K key )
-        throws IOException
-    {
-        ICacheElement<K, V> ce = null;
-
-        MemoryElementDescriptor<K, V> me = map.get( key );
-        if ( me != null )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( cacheName + ": MemoryCache quiet hit for " + key );
-            }
-
-            ce = me.ce;
-        }
-        else if ( log.isDebugEnabled() )
-        {
-            log.debug( cacheName + ": MemoryCache quiet miss for " + key );
-        }
-
-        return ce;
-    }
-
-    /**
-     * Puts an item to the cache.
-     * <p>
-     * @param ce Description of the Parameter
-     * @throws IOException Description of the Exception
-     */
-    @Override
-    public abstract void update( ICacheElement<K, V> ce )
-        throws IOException;
-
-    /**
-     * Get a set of the keys for all elements in the memory cache
-     * <p>
-     * @return A set of the key type
-     */
-    @Override
-    public abstract Set<K> getKeySet();
-
-    /**
-     * Removes all cached items from the cache.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public void removeAll()
-        throws IOException
-    {
-        map.clear();
-    }
-
-    /**
-     * Prepares for shutdown.
-     * <p>
-     * @throws IOException
-     */
-    @Override
-    public void dispose()
-        throws IOException
-    {
-        log.info( "Memory Cache dispose called." );
-    }
-
-    /**
-     * @return statistics about the cache
-     */
-    @Override
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "Abstract Memory Cache" );
-        return stats;
-    }
-
-    /**
-     * Returns the current cache size.
-     * <p>
-     * @return The size value
-     */
-    @Override
-    public int getSize()
-    {
-        return this.map.size();
-    }
-
-    /**
-     * Returns the cache status.
-     * <p>
-     * @return The status value
-     */
-    public CacheStatus getStatus()
-    {
-        return this.status;
-    }
-
-    /**
-     * Returns the cache (aka "region") name.
-     * <p>
-     * @return The cacheName value
-     */
-    public String getCacheName()
-    {
-        String attributeCacheName = this.cacheAttributes.getCacheName();
-        if(attributeCacheName != null)
-            return attributeCacheName;
-        return cacheName;
-    }
-
-    /**
-     * Puts an item to the cache.
-     * <p>
-     * @param ce
-     * @throws IOException
-     */
-    @Override
-    public void waterfal( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        this.cache.spoolToDisk( ce );
-    }
-
-    // ---------------------------------------------------------- debug method
-    /**
-     * Dump the cache map for debugging.
-     */
-    public void dumpMap()
-    {
-        log.debug( "dumpingMap" );
-        for (Map.Entry<K, MemoryElementDescriptor<K, V>> e : map.entrySet())
-        {
-            MemoryElementDescriptor<K, V> me = e.getValue();
-            log.debug( "dumpMap> key=" + e.getKey() + ", val=" + me.ce.getVal() );
-        }
-    }
-
-    /**
-     * Returns the CacheAttributes.
-     * <p>
-     * @return The CacheAttributes value
-     */
-    @Override
-    public ICompositeCacheAttributes getCacheAttributes()
-    {
-        return this.cacheAttributes;
-    }
-
-    /**
-     * Sets the CacheAttributes.
-     * <p>
-     * @param cattr The new CacheAttributes value
-     */
-    @Override
-    public void setCacheAttributes( ICompositeCacheAttributes cattr )
-    {
-        this.cacheAttributes = cattr;
-    }
-
-    /**
-     * Gets the cache hub / region that the MemoryCache is used by
-     * <p>
-     * @return The cache value
-     */
-    @Override
-    public CompositeCache<K, V> getCompositeCache()
-    {
-        return this.cache;
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/memory/behavior/IMemoryCache.java b/src/org/apache/commons/jcs/engine/memory/behavior/IMemoryCache.java
deleted file mode 100644
index fa21393..0000000
--- a/src/org/apache/commons/jcs/engine/memory/behavior/IMemoryCache.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package org.apache.commons.jcs.engine.memory.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.Set;
-
-/** For the framework. Insures methods a MemoryCache needs to access. */
-public interface IMemoryCache<K, V>
-{
-    /**
-     * Initialize the memory cache
-     * <p>
-     * @param cache The cache (region) this memory store is attached to.
-     */
-    void initialize( CompositeCache<K, V> cache );
-
-    /**
-     * Destroy the memory cache
-     * <p>
-     * @throws IOException
-     */
-    void dispose()
-        throws IOException;
-
-    /**
-     * Get the number of elements contained in the memory store
-     * <p>
-     * @return Element count
-     */
-    int getSize();
-
-    /**
-     * Returns the historical and statistical data for a region's memory cache.
-     * <p>
-     * @return Statistics and Info for the Memory Cache.
-     */
-    IStats getStatistics();
-
-    /**
-     * Get a set of the keys for all elements in the memory cache.
-     * <p>
-     * @return a set of the key type
-     * TODO This should probably be done in chunks with a range passed in. This
-     *       will be a problem if someone puts a 1,000,000 or so items in a
-     *       region.
-     */
-    Set<K> getKeySet();
-
-    /**
-     * Removes an item from the cache
-     * <p>
-     * @param key
-     *            Identifies item to be removed
-     * @return Description of the Return Value
-     * @throws IOException
-     *                Description of the Exception
-     */
-    boolean remove( K key )
-        throws IOException;
-
-    /**
-     * Removes all cached items from the cache.
-     * <p>
-     * @throws IOException
-     *                Description of the Exception
-     */
-    void removeAll()
-        throws IOException;
-
-    /**
-     * This instructs the memory cache to remove the <i>numberToFree</i>
-     * according to its eviction policy. For example, the LRUMemoryCache will
-     * remove the <i>numberToFree</i> least recently used items. These will be
-     * spooled to disk if a disk auxiliary is available.
-     * <p>
-     * @param numberToFree
-     * @return the number that were removed. if you ask to free 5, but there are
-     *         only 3, you will get 3.
-     * @throws IOException
-     */
-    int freeElements( int numberToFree )
-        throws IOException;
-
-    /**
-     * Get an item from the cache
-     * <p>
-     * @param key
-     *            Description of the Parameter
-     * @return Description of the Return Value
-     * @throws IOException
-     *                Description of the Exception
-     */
-    ICacheElement<K, V> get( K key )
-        throws IOException;
-
-    /**
-     * Gets multiple items from the cache based on the given set of keys.
-     * <p>
-     * @param keys
-     * @return a map of K key to ICacheElement<K, V> element, or an empty map
-     * if there is no data in cache for any of these keys
-     * @throws IOException
-     */
-    Map<K, ICacheElement<K, V>> getMultiple( Set<K> keys )
-        throws IOException;
-
-    /**
-     * Get an item from the cache without effecting its order or last access
-     * time
-     * <p>
-     * @param key
-     *            Description of the Parameter
-     * @return The quiet value
-     * @throws IOException
-     *                Description of the Exception
-     */
-    ICacheElement<K, V> getQuiet( K key )
-        throws IOException;
-
-    /**
-     * Spools the item contained in the provided element to disk
-     * <p>
-     * @param ce
-     *            Description of the Parameter
-     * @throws IOException
-     *                Description of the Exception
-     */
-    void waterfal( ICacheElement<K, V> ce )
-        throws IOException;
-
-    /**
-     * Puts an item to the cache.
-     * <p>
-     * @param ce
-     *            Description of the Parameter
-     * @throws IOException
-     *                Description of the Exception
-     */
-    void update( ICacheElement<K, V> ce )
-        throws IOException;
-
-    /**
-     * Returns the CacheAttributes for the region.
-     * <p>
-     * @return The cacheAttributes value
-     */
-    ICompositeCacheAttributes getCacheAttributes();
-
-    /**
-     * Sets the CacheAttributes of the region.
-     * <p>
-     * @param cattr
-     *            The new cacheAttributes value
-     */
-    void setCacheAttributes( ICompositeCacheAttributes cattr );
-
-    /**
-     * Gets the cache hub / region that uses the MemoryCache.
-     * <p>
-     * @return The cache value
-     */
-    CompositeCache<K, V> getCompositeCache();
-}
diff --git a/src/org/apache/commons/jcs/engine/memory/fifo/FIFOMemoryCache.java b/src/org/apache/commons/jcs/engine/memory/fifo/FIFOMemoryCache.java
deleted file mode 100644
index c7e9746..0000000
--- a/src/org/apache/commons/jcs/engine/memory/fifo/FIFOMemoryCache.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.commons.jcs.engine.memory.fifo;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.memory.AbstractDoubleLinkedListMemoryCache;
-import org.apache.commons.jcs.engine.memory.util.MemoryElementDescriptor;
-
-import java.io.IOException;
-import java.io.Serializable;
-
-/**
- * The items are spooled in the order they are added. No adjustments to the list are made on get.
- */
-public class FIFOMemoryCache<K extends Serializable, V extends Serializable>
-    extends AbstractDoubleLinkedListMemoryCache<K, V>
-{
-    /**
-     * Puts an item to the cache. Removes any pre-existing entries of the same key from the linked
-     * list and adds this one first.
-     * <p>
-     * @param ce The cache element, or entry wrapper
-     * @return MemoryElementDescriptor the new node
-     * @throws IOException
-     */
-    @Override
-    protected MemoryElementDescriptor<K, V> adjustListForUpdate( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        return addFirst( ce );
-    }
-
-    /**
-     * Does nothing.
-     * <p>
-     * @param me
-     */
-    @Override
-    protected void adjustListForGet( MemoryElementDescriptor<K, V> me )
-    {
-        // DO NOTHING
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/memory/lru/LHMLRUMemoryCache.java b/src/org/apache/commons/jcs/engine/memory/lru/LHMLRUMemoryCache.java
deleted file mode 100644
index a83a283..0000000
--- a/src/org/apache/commons/jcs/engine/memory/lru/LHMLRUMemoryCache.java
+++ /dev/null
@@ -1,368 +0,0 @@
-package org.apache.commons.jcs.engine.memory.lru;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.commons.jcs.engine.CacheConstants;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.control.group.GroupAttrName;
-import org.apache.commons.jcs.engine.memory.AbstractMemoryCache;
-import org.apache.commons.jcs.engine.memory.util.MemoryElementDescriptor;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This is a test memory manager using the jdk1.4 LinkedHashMap.
- */
-public class LHMLRUMemoryCache<K extends Serializable, V extends Serializable>
-    extends AbstractMemoryCache<K, V>
-{
-    /** The Logger. */
-    private static final Log log = LogFactory.getLog( LRUMemoryCache.class );
-
-    /** number of hits */
-    private AtomicInteger hitCnt;
-
-    /** number of misses */
-    private AtomicInteger missCnt;
-
-    /** number of puts */
-    private AtomicInteger putCnt;
-
-    /**
-     * For post reflection creation initialization
-     * <p>
-     * @param hub
-     */
-    @Override
-    public synchronized void initialize( CompositeCache<K, V> hub )
-    {
-        super.initialize( hub );
-        hitCnt = new AtomicInteger(0);
-        missCnt = new AtomicInteger(0);
-        putCnt = new AtomicInteger(0);
-        log.info( "initialized LHMLRUMemoryCache for " + getCacheName() );
-    }
-
-    /**
-     * Returns a synchronized LHMSpooler
-     * <p>
-     * @return Collections.synchronizedMap( new LHMSpooler() )
-     */
-    @Override
-    public Map<K, MemoryElementDescriptor<K, V>> createMap()
-    {
-        return Collections.synchronizedMap( new LHMSpooler() );
-    }
-
-    /**
-     * Puts an item to the cache.
-     * <p>
-     * @param ce Description of the Parameter
-     * @throws IOException
-     */
-    @Override
-    public void update( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        putCnt.incrementAndGet();
-        map.put( ce.getKey(), new MemoryElementDescriptor<K, V>(ce) );
-    }
-
-    /**
-     * Get an item from the cache without affecting its last access time or position. There is no
-     * way to do this with the LinkedHashMap!
-     * <p>
-     * @param key Identifies item to find
-     * @return Element matching key if found, or null
-     * @throws IOException
-     */
-    @Override
-    public ICacheElement<K, V> getQuiet( K key )
-        throws IOException
-    {
-        return map.get( key ).ce;
-    }
-
-    /**
-     * Get an item from the cache
-     * <p>
-     * @param key Identifies item to find
-     * @return ICacheElement<K, V> if found, else null
-     * @throws IOException
-     */
-    @Override
-    public synchronized ICacheElement<K, V> get( K key )
-        throws IOException
-    {
-        MemoryElementDescriptor<K, V> me = null;
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "getting item from cache " + getCacheName() + " for key " + key );
-        }
-
-        me = map.get( key );
-
-        if ( me != null )
-        {
-            hitCnt.incrementAndGet();
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( getCacheName() + ": LHMLRUMemoryCache hit for " + key );
-            }
-            return me.ce;
-        }
-        else
-        {
-            missCnt.incrementAndGet();
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( getCacheName() + ": LHMLRUMemoryCache miss for " + key );
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * Removes an item from the cache. This method handles hierarchical removal. If the key is a
-     * String and ends with the CacheConstants.NAME_COMPONENT_DELIMITER, then all items with keys
-     * starting with the argument String will be removed.
-     * <p>
-     * @param key
-     * @return true if removed
-     * @throws IOException
-     */
-    @Override
-    public synchronized boolean remove( K key )
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "removing item for key: " + key );
-        }
-
-        boolean removed = false;
-
-        // handle partial removal
-        if ( key instanceof String && ( (String) key ).endsWith( CacheConstants.NAME_COMPONENT_DELIMITER ) )
-        {
-            // remove all keys of the same name hierarchy.
-            synchronized ( map )
-            {
-                for (Iterator<Map.Entry<K, MemoryElementDescriptor<K, V>>> itr = map.entrySet().iterator(); itr.hasNext(); )
-                {
-                    Map.Entry<K, MemoryElementDescriptor<K, V>> entry = itr.next();
-                    K k = entry.getKey();
-
-                    if ( k instanceof String && ( (String) k ).startsWith( key.toString() ) )
-                    {
-                        itr.remove();
-                        removed = true;
-                    }
-                }
-            }
-        }
-        else if ( key instanceof GroupAttrName && ((GroupAttrName<?>)key).attrName == null )
-        {
-            // remove all keys of the same name hierarchy.
-            synchronized ( map )
-            {
-                for (Iterator<Map.Entry<K, MemoryElementDescriptor<K, V>>> itr = map.entrySet().iterator(); itr.hasNext(); )
-                {
-                    Map.Entry<K, MemoryElementDescriptor<K, V>> entry = itr.next();
-                    K k = entry.getKey();
-
-                    if ( k instanceof GroupAttrName &&
-                        ((GroupAttrName<?>)k).groupId.equals(((GroupAttrName<?>)key).groupId) )
-                    {
-                        itr.remove();
-                        removed = true;
-                    }
-                }
-            }
-        }
-        else
-        {
-            // remove single item.
-            MemoryElementDescriptor<K, V> me = map.remove( key );
-            if ( me != null )
-            {
-                removed = true;
-            }
-        }
-
-        return removed;
-    }
-
-    /**
-     * Get an Array of the keys for all elements in the memory cache
-     * <p>
-     * @return An Object[]
-     */
-    @Override
-    public Set<K> getKeySet()
-    {
-        // need a better locking strategy here.
-        synchronized ( this )
-        {
-            // may need to lock to map here?
-            return new LinkedHashSet<K>(map.keySet());
-        }
-    }
-
-    /**
-     * This returns semi-structured information on the memory cache, such as the size, put count,
-     * hit count, and miss count.
-     * <p>
-     * @return IStats
-     */
-    @Override
-    public synchronized IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "LHMLRU Memory Cache" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        elems.add(new StatElement<Integer>( "Map Size", Integer.valueOf(map.size()) ) );
-        elems.add(new StatElement<AtomicInteger>("Put Count", putCnt));
-        elems.add(new StatElement<AtomicInteger>("Hit Count", hitCnt));
-        elems.add(new StatElement<AtomicInteger>("Miss Count", missCnt));
-
-        stats.setStatElements( elems );
-
-        // int rate = ((hitCnt + missCnt) * 100) / (hitCnt * 100) * 100;
-        // buf.append("\n Hit Rate = " + rate + " %" );
-
-        return stats;
-    }
-
-    // ---------------------------------------------------------- debug methods
-
-    /**
-     * Dump the cache entries from first to last for debugging.
-     */
-    public void dumpCacheEntries()
-    {
-        dumpMap();
-    }
-
-    /**
-     * This can't be implemented.
-     * <p>
-     * @param numberToFree
-     * @return 0
-     * @throws IOException
-     */
-    @Override
-    public int freeElements( int numberToFree )
-        throws IOException
-    {
-        // can't be implemented using the LHM
-        return 0;
-    }
-
-    // ---------------------------------------------------------- extended map
-
-    /**
-     * Implementation of removeEldestEntry in LinkedHashMap
-     */
-    public class LHMSpooler
-        extends java.util.LinkedHashMap<K, MemoryElementDescriptor<K, V>>
-    {
-        /** Don't change. */
-        private static final long serialVersionUID = -1255907868906762484L;
-
-        /**
-         * Initialize to a small size--for now, 1/2 of max 3rd variable "true" indicates that it
-         * should be access and not time governed. This could be configurable.
-         */
-        public LHMSpooler()
-        {
-            super( (int) ( getCacheAttributes().getMaxObjects() * .5 ), .75F, true );
-        }
-
-        /**
-         * Remove eldest. Automatically called by LinkedHashMap.
-         * <p>
-         * @param eldest
-         * @return true if removed
-         */
-        @SuppressWarnings("synthetic-access")
-        @Override
-        protected boolean removeEldestEntry( Map.Entry<K, MemoryElementDescriptor<K, V>> eldest )
-        {
-            ICacheElement<K, V> element = eldest.getValue().ce;
-
-            if ( size() <= getCacheAttributes().getMaxObjects() )
-            {
-                return false;
-            }
-            else
-            {
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "LHMLRU max size: " + getCacheAttributes().getMaxObjects()
-                        + ".  Spooling element, key: " + element.getKey() );
-                }
-                spoolToDisk( element );
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "LHMLRU size: " + map.size() );
-                }
-            }
-            return true;
-        }
-
-        /**
-         * Puts the element in the DiskStore
-         * <p>
-         * @param element The CacheElement
-         */
-        @SuppressWarnings("synthetic-access")
-        private void spoolToDisk( ICacheElement<K, V> element )
-        {
-            getCompositeCache().spoolToDisk( element );
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( getCacheName() + "Spooled element to disk: " + element.getKey() );
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/memory/lru/LRUMemoryCache.java b/src/org/apache/commons/jcs/engine/memory/lru/LRUMemoryCache.java
deleted file mode 100644
index 2f0babb..0000000
--- a/src/org/apache/commons/jcs/engine/memory/lru/LRUMemoryCache.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.apache.commons.jcs.engine.memory.lru;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.memory.AbstractDoubleLinkedListMemoryCache;
-import org.apache.commons.jcs.engine.memory.util.MemoryElementDescriptor;
-
-/**
- * A fast reference management system. The least recently used items move to the end of the list and
- * get spooled to disk if the cache hub is configured to use a disk cache. Most of the cache
- * bottlenecks are in IO. There are no io bottlenecks here, it's all about processing power.
- * <p>
- * Even though there are only a few adjustments necessary to maintain the double linked list, we
- * might want to find a more efficient memory manager for large cache regions.
- * <p>
- * The LRUMemoryCache is most efficient when the first element is selected. The smaller the region,
- * the better the chance that this will be the case. < .04 ms per put, p3 866, 1/10 of that per get
- */
-public class LRUMemoryCache<K, V>
-    extends AbstractDoubleLinkedListMemoryCache<K, V>
-{
-    /**
-     * Puts an item to the cache. Removes any pre-existing entries of the same key from the linked
-     * list and adds this one first.
-     * <p>
-     * @param ce The cache element, or entry wrapper
-     * @return MemoryElementDescriptor the new node
-     * @throws IOException
-     */
-    @Override
-    protected MemoryElementDescriptor<K, V> adjustListForUpdate( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        return addFirst( ce );
-    }
-
-    /**
-     * Makes the item the first in the list.
-     * <p>
-     * @param me
-     */
-    @Override
-    protected void adjustListForGet( MemoryElementDescriptor<K, V> me )
-    {
-        list.makeFirst( me );
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/memory/lru/package.html b/src/org/apache/commons/jcs/engine/memory/lru/package.html
deleted file mode 100644
index af2bde5..0000000
--- a/src/org/apache/commons/jcs/engine/memory/lru/package.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-    The primary memory plugin using a 'least recently used' removal policy.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/engine/memory/mru/MRUMemoryCache.java b/src/org/apache/commons/jcs/engine/memory/mru/MRUMemoryCache.java
deleted file mode 100644
index 3638fd9..0000000
--- a/src/org/apache/commons/jcs/engine/memory/mru/MRUMemoryCache.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.apache.commons.jcs.engine.memory.mru;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.memory.AbstractDoubleLinkedListMemoryCache;
-import org.apache.commons.jcs.engine.memory.util.MemoryElementDescriptor;
-
-/**
- * The most recently used items move to the front of the list and get spooled to disk if the cache
- * hub is configured to use a disk cache.
- */
-public class MRUMemoryCache<K, V>
-    extends AbstractDoubleLinkedListMemoryCache<K, V>
-{
-    /**
-     * Adds the item to the front of the list. A put doesn't count as a usage.
-     * <p>
-     * It's not clear if the put operation should be different. Perhaps this should remove the oldest
-     * if full, and then put.
-     * <p>
-     * @param ce
-     * @return MemoryElementDescriptor the new node
-     * @throws IOException
-     */
-    @Override
-    protected MemoryElementDescriptor<K, V> adjustListForUpdate( ICacheElement<K, V> ce )
-        throws IOException
-    {
-        return addFirst( ce );
-    }
-
-    /**
-     * Makes the item the last in the list.
-     * <p>
-     * @param me
-     */
-    @Override
-    protected void adjustListForGet( MemoryElementDescriptor<K, V> me )
-    {
-        list.makeLast( me );
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/memory/mru/package.html b/src/org/apache/commons/jcs/engine/memory/mru/package.html
deleted file mode 100644
index 2377c2d..0000000
--- a/src/org/apache/commons/jcs/engine/memory/mru/package.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-     A memory plugin implemented using a 'most recently used' removal policy.
-     In general this is slow and should not be used.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/engine/memory/package.html b/src/org/apache/commons/jcs/engine/memory/package.html
deleted file mode 100644
index 47f02c2..0000000
--- a/src/org/apache/commons/jcs/engine/memory/package.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-    Parent package for memory type plugins.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/engine/memory/shrinking/ShrinkerThread.java b/src/org/apache/commons/jcs/engine/memory/shrinking/ShrinkerThread.java
deleted file mode 100644
index 4de3b3a..0000000
--- a/src/org/apache/commons/jcs/engine/memory/shrinking/ShrinkerThread.java
+++ /dev/null
@@ -1,221 +0,0 @@
-package org.apache.commons.jcs.engine.memory.shrinking;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Set;
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.IElementAttributes;
-import org.apache.commons.jcs.engine.control.CompositeCache;
-import org.apache.commons.jcs.engine.control.event.behavior.ElementEventType;
-import org.apache.commons.jcs.engine.memory.behavior.IMemoryCache;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * A background memory shrinker. Memory problems and concurrent modification exception caused by
- * acting directly on an iterator of the underlying memory cache should have been solved.
- * @version $Id: ShrinkerThread.java 1719092 2015-12-10 15:07:30Z tv $
- */
-public class ShrinkerThread<K, V>
-    implements Runnable
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( ShrinkerThread.class );
-
-    /** The CompositeCache instance which this shrinker is watching */
-    private final CompositeCache<K, V> cache;
-
-    /** Maximum memory idle time for the whole cache */
-    private final long maxMemoryIdleTime;
-
-    /** Maximum number of items to spool per run. Default is -1, or no limit. */
-    private final int maxSpoolPerRun;
-
-    /** Should we limit the number spooled per run. If so, the maxSpoolPerRun will be used. */
-    private boolean spoolLimit = false;
-
-    /**
-     * Constructor for the ShrinkerThread object.
-     * <p>
-     * @param cache The MemoryCache which the new shrinker should watch.
-     */
-    public ShrinkerThread( CompositeCache<K, V> cache )
-    {
-        super();
-
-        this.cache = cache;
-
-        long maxMemoryIdleTimeSeconds = cache.getCacheAttributes().getMaxMemoryIdleTimeSeconds();
-
-        if ( maxMemoryIdleTimeSeconds < 0 )
-        {
-            this.maxMemoryIdleTime = -1;
-        }
-        else
-        {
-            this.maxMemoryIdleTime = maxMemoryIdleTimeSeconds * 1000;
-        }
-
-        this.maxSpoolPerRun = cache.getCacheAttributes().getMaxSpoolPerRun();
-        if ( this.maxSpoolPerRun != -1 )
-        {
-            this.spoolLimit = true;
-        }
-
-    }
-
-    /**
-     * Main processing method for the ShrinkerThread object
-     */
-    @Override
-    public void run()
-    {
-        shrink();
-    }
-
-    /**
-     * This method is called when the thread wakes up. First the method obtains an array of keys for
-     * the cache region. It iterates through the keys and tries to get the item from the cache
-     * without affecting the last access or position of the item. The item is checked for
-     * expiration, the expiration check has 3 parts:
-     * <ol>
-     * <li>Has the cacheattributes.MaxMemoryIdleTimeSeconds defined for the region been exceeded? If
-     * so, the item should be move to disk.</li> <li>Has the item exceeded MaxLifeSeconds defined in
-     * the element attributes? If so, remove it.</li> <li>Has the item exceeded IdleTime defined in
-     * the element attributes? If so, remove it. If there are event listeners registered for the
-     * cache element, they will be called.</li>
-     * </ol>
-     * TODO Change element event handling to use the queue, then move the queue to the region and
-     *       access via the Cache.
-     */
-    protected void shrink()
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Shrinking memory cache for: " + this.cache.getCacheName() );
-        }
-
-        IMemoryCache<K, V> memCache = cache.getMemoryCache();
-
-        try
-        {
-            Set<K> keys = memCache.getKeySet();
-            int size = keys.size();
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Keys size: " + size );
-            }
-
-            ICacheElement<K, V> cacheElement;
-            IElementAttributes attributes;
-
-            int spoolCount = 0;
-
-            for (K key : keys)
-            {
-                cacheElement = memCache.getQuiet( key );
-
-                if ( cacheElement == null )
-                {
-                    continue;
-                }
-
-                attributes = cacheElement.getElementAttributes();
-
-                boolean remove = false;
-
-                long now = System.currentTimeMillis();
-
-                // If the element is not eternal, check if it should be
-                // removed and remove it if so.
-                if ( !cacheElement.getElementAttributes().getIsEternal() )
-                {
-                    remove = cache.isExpired( cacheElement, now,
-                            ElementEventType.EXCEEDED_MAXLIFE_BACKGROUND,
-                            ElementEventType.EXCEEDED_IDLETIME_BACKGROUND );
-
-                    if ( remove )
-                    {
-                        memCache.remove( cacheElement.getKey() );
-                    }
-                }
-
-                // If the item is not removed, check is it has been idle
-                // long enough to be spooled.
-
-                if ( !remove && maxMemoryIdleTime != -1 )
-                {
-                    if ( !spoolLimit || spoolCount < this.maxSpoolPerRun )
-                    {
-                        final long lastAccessTime = attributes.getLastAccessTime();
-
-                        if ( lastAccessTime + maxMemoryIdleTime < now )
-                        {
-                            if ( log.isDebugEnabled() )
-                            {
-                                log.debug( "Exceeded memory idle time: " + cacheElement.getKey() );
-                            }
-
-                            // Shouldn't we ensure that the element is
-                            // spooled before removing it from memory?
-                            // No the disk caches have a purgatory. If it fails
-                            // to spool that does not affect the
-                            // responsibilities of the memory cache.
-
-                            spoolCount++;
-
-                            memCache.remove( cacheElement.getKey() );
-
-                            memCache.waterfal( cacheElement );
-
-                            key = null;
-                            cacheElement = null;
-                        }
-                    }
-                    else
-                    {
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "spoolCount = '" + spoolCount + "'; " + "maxSpoolPerRun = '" + maxSpoolPerRun
-                                + "'" );
-                        }
-
-                        // stop processing if limit has been reached.
-                        if ( spoolLimit && spoolCount >= this.maxSpoolPerRun )
-                        {
-                            return;
-                        }
-                    }
-                }
-            }
-        }
-        catch ( Throwable t )
-        {
-            log.info( "Unexpected trouble in shrink cycle", t );
-
-            // concurrent modifications should no longer be a problem
-            // It is up to the IMemoryCache to return an array of keys
-
-            // stop for now
-            return;
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/memory/util/MemoryElementDescriptor.java b/src/org/apache/commons/jcs/engine/memory/util/MemoryElementDescriptor.java
deleted file mode 100644
index fbd24ea..0000000
--- a/src/org/apache/commons/jcs/engine/memory/util/MemoryElementDescriptor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.apache.commons.jcs.engine.memory.util;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.utils.struct.DoubleLinkedListNode;
-
-/**
- * This wrapper is needed for double linked lists.
- */
-public class MemoryElementDescriptor<K, V>
-    extends DoubleLinkedListNode<ICacheElement<K, V>>
-{
-    /** Don't change */
-    private static final long serialVersionUID = -1905161209035522460L;
-
-    /** The CacheElement wrapped by this descriptor */
-    public final ICacheElement<K, V> ce; // TODO privatise
-
-    /**
-     * Constructs a usable MemoryElementDescriptor.
-     * <p>
-     * @param ce
-     */
-    public MemoryElementDescriptor( ICacheElement<K, V> ce )
-    {
-        super( ce );
-        this.ce = ce;
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/package.html b/src/org/apache/commons/jcs/engine/package.html
deleted file mode 100644
index 9cb3956..0000000
--- a/src/org/apache/commons/jcs/engine/package.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-     Interfaces used by the core and the auxiliary caches.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/engine/stats/CacheStats.java b/src/org/apache/commons/jcs/engine/stats/CacheStats.java
deleted file mode 100644
index eacede7..0000000
--- a/src/org/apache/commons/jcs/engine/stats/CacheStats.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package org.apache.commons.jcs.engine.stats;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.stats.behavior.ICacheStats;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-
-import java.util.List;
-
-/**
- * This class stores cache historical and statistics data for a region.
- * <p>
- * Only the composite cache knows what the hit count across all auxiliaries is.
- */
-public class CacheStats
-    extends Stats
-    implements ICacheStats
-{
-    /** Don't change. */
-    private static final long serialVersionUID = 529914708798168590L;
-
-    /** The region */
-    private String regionName = null;
-
-    /** What that auxiliaries are reporting. */
-    private List<IStats> auxStats = null;
-
-    /**
-     * Stats are for a region, though auxiliary data may be for more.
-     * <p>
-     * @return The region name
-     */
-    @Override
-    public String getRegionName()
-    {
-        return regionName;
-    }
-
-    /**
-     * Stats are for a region, though auxiliary data may be for more.
-     * <p>
-     * @param name - The region name
-     */
-    @Override
-    public void setRegionName( String name )
-    {
-        regionName = name;
-    }
-
-    /**
-     * @return IStats[]
-     */
-    @Override
-    public List<IStats> getAuxiliaryCacheStats()
-    {
-        return auxStats;
-    }
-
-    /**
-     * @param stats
-     */
-    @Override
-    public void setAuxiliaryCacheStats( List<IStats> stats )
-    {
-        auxStats = stats;
-    }
-
-    /**
-     * @return readable string that can be logged.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-
-        buf.append( "Region Name = " + regionName );
-
-        if ( getStatElements() != null )
-        {
-            for ( Object stat : getStatElements() )
-            {
-                buf.append( "\n" );
-                buf.append( stat );
-            }
-        }
-
-        if ( auxStats != null )
-        {
-            for ( Object auxStat : auxStats )
-            {
-                buf.append( "\n" );
-                buf.append( "---------------------------" );
-                buf.append( auxStat );
-            }
-        }
-
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/stats/StatElement.java b/src/org/apache/commons/jcs/engine/stats/StatElement.java
deleted file mode 100644
index fd2b345..0000000
--- a/src/org/apache/commons/jcs/engine/stats/StatElement.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.apache.commons.jcs.engine.stats;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-
-/**
- * This is a stat data holder.
- */
-public class StatElement<V>
-    implements IStatElement<V>
-{
-    /** Don't change */
-    private static final long serialVersionUID = -2982373725267618092L;
-
-    /** name of the stat */
-    private String name = null;
-
-    /** the data */
-    private V data = null;
-
-    /**
-     * Constructor
-     *
-     * @param name
-     * @param data
-     */
-    public StatElement(String name, V data)
-    {
-        super();
-        this.name = name;
-        this.data = data;
-    }
-
-    /**
-     * Get the name of the stat element, ex. HitCount
-     * <p>
-     * @return the stat element name
-     */
-    @Override
-    public String getName()
-    {
-        return name;
-    }
-
-    /**
-     * @param name
-     */
-    @Override
-    public void setName( String name )
-    {
-        this.name = name;
-    }
-
-    /**
-     * Get the data, ex. for hit count you would get a value for some number.
-     * <p>
-     * @return data
-     */
-    @Override
-    public V getData()
-    {
-        return data;
-    }
-
-    /**
-     * Set the data for this element.
-     * <p>
-     * @param data
-     */
-    @Override
-    public void setData( V data )
-    {
-        this.data = data;
-    }
-
-    /**
-     * @return a readable string.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( name ).append(" = ").append( data );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/stats/Stats.java b/src/org/apache/commons/jcs/engine/stats/Stats.java
deleted file mode 100644
index dfbf388..0000000
--- a/src/org/apache/commons/jcs/engine/stats/Stats.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.apache.commons.jcs.engine.stats;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-
-import java.util.List;
-
-/**
- * @author aaronsm
- */
-public class Stats
-    implements IStats
-{
-    /** Don't change */
-    private static final long serialVersionUID = 227327902875154010L;
-
-    /** The stats */
-    private List<IStatElement<?>> stats = null;
-
-    /** The type of stat */
-    private String typeName = null;
-
-    /**
-     * @return IStatElement[]
-     */
-    @Override
-    public List<IStatElement<?>> getStatElements()
-    {
-        return stats;
-    }
-
-    /**
-     * @param stats
-     */
-    @Override
-    public void setStatElements( List<IStatElement<?>> stats )
-    {
-        this.stats = stats;
-    }
-
-    /**
-     * @return typeName
-     */
-    @Override
-    public String getTypeName()
-    {
-        return typeName;
-    }
-
-    /**
-     * @param name
-     */
-    @Override
-    public void setTypeName( String name )
-    {
-        typeName = name;
-    }
-
-    /**
-     * @return the stats in a readable string
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-
-        buf.append( typeName );
-
-        if ( stats != null )
-        {
-            for (Object stat : stats)
-            {
-                buf.append( "\n" );
-                buf.append( stat );
-            }
-        }
-
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/engine/stats/behavior/ICacheStats.java b/src/org/apache/commons/jcs/engine/stats/behavior/ICacheStats.java
deleted file mode 100644
index 4efd282..0000000
--- a/src/org/apache/commons/jcs/engine/stats/behavior/ICacheStats.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.commons.jcs.engine.stats.behavior;
-
-import java.util.List;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This holds stat information on a region. It contains both auxiliary and core stats.
- */
-public interface ICacheStats
-    extends IStats
-{
-    /**
-     * Stats are for a region, though auxiliary data may be for more.
-     * <p>
-     * @return The region name
-     */
-    String getRegionName();
-
-    /**
-     * @param name
-     */
-    void setRegionName( String name );
-
-    /**
-     * @return IStats[]
-     */
-    List<IStats> getAuxiliaryCacheStats();
-
-    /**
-     * @param stats
-     */
-    void setAuxiliaryCacheStats( List<IStats> stats );
-}
diff --git a/src/org/apache/commons/jcs/engine/stats/behavior/IStatElement.java b/src/org/apache/commons/jcs/engine/stats/behavior/IStatElement.java
deleted file mode 100644
index 64139df..0000000
--- a/src/org/apache/commons/jcs/engine/stats/behavior/IStatElement.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.apache.commons.jcs.engine.stats.behavior;
-
-import java.io.Serializable;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * IAuxiliaryCacheStats will hold these IStatElements.
- */
-public interface IStatElement<V> extends Serializable
-{
-    /**
-     * Get the name of the stat element, ex. HitCount
-     * <p>
-     * @return the stat element name
-     */
-    String getName();
-
-    /**
-     * @param name
-     */
-    void setName( String name );
-
-    /**
-     * Get the data, ex. for hit count you would get a value for some number.
-     * <p>
-     * @return data
-     */
-    V getData();
-
-    /**
-     * Set the data for this element.
-     * <p>
-     * @param data
-     */
-    void setData( V data );
-}
diff --git a/src/org/apache/commons/jcs/engine/stats/behavior/IStats.java b/src/org/apache/commons/jcs/engine/stats/behavior/IStats.java
deleted file mode 100644
index 352225a..0000000
--- a/src/org/apache/commons/jcs/engine/stats/behavior/IStats.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.apache.commons.jcs.engine.stats.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * This interface defines the common behavior for a stats holder.
- *
- * @author aaronsm
- *
- */
-public interface IStats
-    extends Serializable
-{
-
-    /**
-     * Return generic statistical or historical data.
-     *
-     * @return list of IStatElements
-     */
-    List<IStatElement<?>> getStatElements();
-
-    /**
-     * Set the generic statistical or historical data.
-     *
-     * @param stats
-     */
-    void setStatElements( List<IStatElement<?>> stats );
-
-    /**
-     * Get the type name, such as "LRU Memory Cache." No formal type is defined.
-     *
-     * @return String
-     */
-    String getTypeName();
-
-    /**
-     * Set the type name, such as "LRU Memory Cache." No formal type is defined.
-     * If we need formal types, we can use the cachetype param
-     *
-     * @param name
-     */
-    void setTypeName( String name );
-}
diff --git a/src/org/apache/commons/jcs/io/ObjectInputStreamClassLoaderAware.java b/src/org/apache/commons/jcs/io/ObjectInputStreamClassLoaderAware.java
deleted file mode 100644
index 09c8f55..0000000
--- a/src/org/apache/commons/jcs/io/ObjectInputStreamClassLoaderAware.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.commons.jcs.io;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectStreamClass;
-import java.lang.reflect.Proxy;
-
-public class ObjectInputStreamClassLoaderAware extends ObjectInputStream {
-    private final ClassLoader classLoader;
-
-    public ObjectInputStreamClassLoaderAware(final InputStream in, final ClassLoader classLoader) throws IOException {
-        super(in);
-        this.classLoader = classLoader != null ? classLoader : Thread.currentThread().getContextClassLoader();
-    }
-
-    @Override
-    protected Class<?> resolveClass(final ObjectStreamClass desc) throws ClassNotFoundException {
-        return Class.forName(BlacklistClassResolver.DEFAULT.check(desc.getName()), false, classLoader);
-    }
-
-    @Override
-    protected Class<?> resolveProxyClass(final String[] interfaces) throws IOException, ClassNotFoundException {
-        final Class<?>[] cinterfaces = new Class[interfaces.length];
-        for (int i = 0; i < interfaces.length; i++) {
-            cinterfaces[i] = Class.forName(interfaces[i], false, classLoader);
-        }
-
-        try {
-            return Proxy.getProxyClass(classLoader, cinterfaces);
-        } catch (IllegalArgumentException e) {
-            throw new ClassNotFoundException(null, e);
-        }
-    }
-
-    private static class BlacklistClassResolver {
-        private static final BlacklistClassResolver DEFAULT = new BlacklistClassResolver(
-            toArray(System.getProperty(
-                "jcs.serialization.class.blacklist",
-                "org.codehaus.groovy.runtime.,org.apache.commons.collections.functors.,org.apache.xalan")),
-            toArray(System.getProperty("jcs.serialization.class.whitelist")));
-
-        private final String[] blacklist;
-        private final String[] whitelist;
-
-        protected BlacklistClassResolver(final String[] blacklist, final String[] whitelist) {
-            this.whitelist = whitelist;
-            this.blacklist = blacklist;
-        }
-
-        protected boolean isBlacklisted(final String name) {
-            return (whitelist != null && !contains(whitelist, name)) || contains(blacklist, name);
-        }
-
-        public final String check(final String name) {
-            if (isBlacklisted(name)) {
-                throw new SecurityException(name + " is not whitelisted as deserialisable, prevented before loading.");
-            }
-            return name;
-        }
-
-        private static String[] toArray(final String property) {
-            return property == null ? null : property.split(" *, *");
-        }
-
-        private static boolean contains(final String[] list, String name) {
-            if (list != null) {
-                for (final String white : list) {
-                    if (name.startsWith(white)) {
-                        return true;
-                    }
-                }
-            }
-            return false;
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/package.html b/src/org/apache/commons/jcs/package.html
deleted file mode 100644
index bce936d..0000000
--- a/src/org/apache/commons/jcs/package.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-     Contains the class JCS which provides a simple interface for clients to use
-     JCS.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/utils/access/AbstractJCSWorkerHelper.java b/src/org/apache/commons/jcs/utils/access/AbstractJCSWorkerHelper.java
deleted file mode 100644
index d25b633..0000000
--- a/src/org/apache/commons/jcs/utils/access/AbstractJCSWorkerHelper.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.commons.jcs.utils.access;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This is an abstract template for JCSWorkerHelper implementations. it simple has a convenience
- * method for setting the finished flag.
- * <p>
- * @author tsavo
- */
-public abstract class AbstractJCSWorkerHelper<V> implements JCSWorkerHelper<V>
-{
-    /** finished flag. Can't we use wait notify? */
-    private boolean finished = false;
-
-    /**
-     * Default
-     */
-    public AbstractJCSWorkerHelper()
-    {
-        super();
-    }
-
-    /**
-     * @return finished
-     */
-    @Override
-    public synchronized boolean isFinished()
-    {
-        return finished;
-    }
-
-    /**
-     * @param isFinished
-     */
-    @Override
-    public synchronized void setFinished( boolean isFinished )
-    {
-        finished = isFinished;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/access/JCSWorker.java b/src/org/apache/commons/jcs/utils/access/JCSWorker.java
deleted file mode 100644
index 6b95203..0000000
--- a/src/org/apache/commons/jcs/utils/access/JCSWorker.java
+++ /dev/null
@@ -1,298 +0,0 @@
-package org.apache.commons.jcs.utils.access;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-import org.apache.commons.jcs.JCS;
-import org.apache.commons.jcs.access.CacheAccess;
-import org.apache.commons.jcs.access.GroupCacheAccess;
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Utility class to encapsulate doing a piece of work, and caching the results
- * in JCS. Simply construct this class with the region name for the Cache and
- * keep a static reference to it instead of the JCS itself. Then make a new
- * org.apache.commons.jcs.utils.access.AbstractJCSWorkerHelper and implement Object
- * doWork() and do the work in there, returning the object to be cached. Then
- * call .getResult() with the key and the AbstractJCSWorkerHelper to get the
- * result of the work. If the object isn't already in the Cache,
- * AbstractJCSWorkerHelper.doWork() will get called, and the result will be put
- * into the cache. If the object is already in cache, the cached result will be
- * returned instead.
- * <p>
- * As an added bonus, multiple JCSWorkers with the same region, and key won't do
- * the work multiple times: The first JCSWorker to get started will do the work,
- * and all subsequent workers with the same region, group, and key will wait on
- * the first one and use his resulting work instead of doing the work
- * themselves.
- * <p>
- * This is ideal when the work being done is a query to the database where the
- * results may take time to be retrieved.
- * <p>
- * For example:
- *
- * <pre>
- *      public static JCSWorker cachingWorker = new JCSWorker("example region");
- *   		public Object getSomething(Serializable aKey){
- *        JCSWorkerHelper helper = new AbstractJCSWorkerHelper(){
- *          public Object doWork(){
- *            // Do some (DB?) work here which results in a list
- *            // This only happens if the cache dosn't have a item in this region for aKey
- *            // Note this is especially useful with Hibernate, which will cache indiviual
- *            // Objects, but not entire query result sets.
- *            List results = query.list();
- *            // Whatever we return here get's cached with aKey, and future calls to
- *            // getResult() on a CachedWorker with the same region and key will return that instead.
- *            return results;
- *        };
- *        List result = worker.getResult(aKey, helper);
- *      }
- * </pre>
- *
- * This is essentially the same as doing:
- *
- * <pre>
- * JCS jcs = JCS.getInstance( "exampleregion" );
- * List results = (List) jcs.get( aKey );
- * if ( results != null )
- * {
- *     //do the work here
- *     results = query.list();
- *     jcs.put( aKey, results );
- * }
- * </pre>
- *
- * <p>
- * But has the added benefit of the work-load sharing; under normal
- * circumstances if multiple threads all tried to do the same query at the same
- * time, the same query would happen multiple times on the database, and the
- * resulting object would get put into JCS multiple times.
- * <p>
- * @author Travis Savo
- */
-public class JCSWorker<K extends Serializable, V extends Serializable>
-{
-    /** The logger */
-    private static final Log logger = LogFactory.getLog( JCSWorker.class );
-
-    /** The cache we are working with */
-    private CacheAccess<K, V> cache;
-
-    /** The cache we are working with */
-    private GroupCacheAccess<K, V> groupCache;
-
-    /**
-     * Map to hold who's doing work presently.
-     */
-    private volatile ConcurrentMap<String, JCSWorkerHelper<V>> map = new ConcurrentHashMap<String, JCSWorkerHelper<V>>();
-
-    /**
-     * Region for the JCS cache.
-     */
-    private final String region;
-
-    /**
-     * Constructor which takes a region for the JCS cache.
-     * @param aRegion
-     *            The Region to use for the JCS cache.
-     */
-    public JCSWorker( final String aRegion )
-    {
-        region = aRegion;
-        try
-        {
-            cache = JCS.getInstance( aRegion );
-            groupCache = JCS.getGroupCacheInstance( aRegion );
-        }
-        catch ( CacheException e )
-        {
-            throw new RuntimeException( e.getMessage() );
-        }
-    }
-
-    /**
-     * Getter for the region of the JCS Cache.
-     * @return The JCS region in which the result will be cached.
-     */
-    public String getRegion()
-    {
-        return region;
-    }
-
-    /**
-     * Gets the cached result for this region/key OR does the work and caches
-     * the result, returning the result. If the result has not been cached yet,
-     * this calls doWork() on the JCSWorkerHelper to do the work and cache the
-     * result. This is also an opportunity to do any post processing of the
-     * result in your CachedWorker implementation.
-     * @param aKey
-     *            The key to get/put with on the Cache.
-     * @param aWorker
-     *            The JCSWorkerHelper implementing Object doWork(). This gets
-     *            called if the cache get misses, and the result is put into
-     *            cache.
-     * @return The result of doing the work, or the cached result.
-     * @throws Exception
-     *             Throws an exception if anything goes wrong while doing the
-     *             work.
-     */
-    public V getResult( K aKey, JCSWorkerHelper<V> aWorker )
-        throws Exception
-    {
-        return run( aKey, null, aWorker );
-    }
-
-    /**
-     * Gets the cached result for this region/key OR does the work and caches
-     * the result, returning the result. If the result has not been cached yet,
-     * this calls doWork() on the JCSWorkerHelper to do the work and cache the
-     * result. This is also an opportunity to do any post processing of the
-     * result in your CachedWorker implementation.
-     * @param aKey
-     *            The key to get/put with on the Cache.
-     * @param aGroup
-     *            The cache group to put the result in.
-     * @param aWorker
-     *            The JCSWorkerHelper implementing Object doWork(). This gets
-     *            called if the cache get misses, and the result is put into
-     *            cache.
-     * @return The result of doing the work, or the cached result.
-     * @throws Exception
-     *             Throws an exception if anything goes wrong while doing the
-     *             work.
-     */
-    public V getResult( K aKey, String aGroup, JCSWorkerHelper<V> aWorker )
-        throws Exception
-    {
-        return run( aKey, aGroup, aWorker );
-    }
-
-    /**
-     * Try and get the object from the cache, and if it's not there, do the work
-     * and cache it. This also ensures that only one CachedWorker is doing the
-     * work and subsequent calls to a CachedWorker with identical
-     * region/key/group will wait on the results of this call. It will call the
-     * JCSWorkerHelper.doWork() if the cache misses, and will put the result.
-     * @param aKey
-     * @param aGroup
-     * @param aHelper
-     * @return Either the result of doing the work, or the cached result.
-     * @throws Exception
-     *             If something goes wrong while doing the work, throw an
-     *             exception.
-     */
-    private V run( K aKey, String aGroup, JCSWorkerHelper<V> aHelper )
-        throws Exception
-    {
-        V result = null;
-        // long start = 0;
-        // long dbTime = 0;
-        JCSWorkerHelper<V> helper = map.putIfAbsent(getRegion() + aKey, aHelper);
-
-        if ( helper != null )
-        {
-            synchronized ( helper )
-            {
-                if ( logger.isDebugEnabled() )
-                {
-                    logger.debug( "Found a worker already doing this work (" + getRegion() + ":" + aKey + ")." );
-                }
-                while ( !helper.isFinished() )
-                {
-                    try
-                    {
-                        helper.wait();
-                    }
-                    catch (InterruptedException e)
-                    {
-                        // expected
-                    }
-                }
-                if ( logger.isDebugEnabled() )
-                {
-                    logger.debug( "Another thread finished our work for us. Using those results instead. ("
-                        + getRegion() + ":" + aKey + ")." );
-                }
-            }
-        }
-        // Do the work
-        try
-        {
-            if ( logger.isDebugEnabled() )
-            {
-                logger.debug( getRegion() + " is doing the work." );
-            }
-
-            // Try to get the item from the cache
-            if ( aGroup != null )
-            {
-                result = groupCache.getFromGroup( aKey, aGroup );
-            }
-            else
-            {
-                result = cache.get( aKey );
-            }
-            // If the cache dosn't have it, do the work.
-            if ( result == null )
-            {
-                result = aHelper.doWork();
-                if ( logger.isDebugEnabled() )
-                {
-                    logger.debug( "Work Done, caching: key:" + aKey + ", group:" + aGroup + ", result:" + result + "." );
-                }
-                // Stick the result of the work in the cache.
-                if ( aGroup != null )
-                {
-                    groupCache.putInGroup( aKey, aGroup, result );
-                }
-                else
-                {
-                    cache.put( aKey, result );
-                }
-            }
-            // return the result
-            return result;
-        }
-        finally
-        {
-            if ( logger.isDebugEnabled() )
-            {
-                logger.debug( getRegion() + ":" + aKey + " entered finally." );
-            }
-
-            // Remove ourselves as the worker.
-            if ( helper == null )
-            {
-                map.remove( getRegion() + aKey );
-            }
-            synchronized ( aHelper )
-            {
-                aHelper.setFinished( true );
-                // Wake everyone waiting on us
-                aHelper.notifyAll();
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/access/JCSWorkerHelper.java b/src/org/apache/commons/jcs/utils/access/JCSWorkerHelper.java
deleted file mode 100644
index c20ed7b..0000000
--- a/src/org/apache/commons/jcs/utils/access/JCSWorkerHelper.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.commons.jcs.utils.access;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Interface for doing a piece of work which is expected to be cached. This is
- * meant to be used in conjunction with JCSWorker.
- * <p>
- * Implement doWork() to return the work being done. isFinished() should return
- * false until setFinished(true) is called, after which time it should return
- * true.
- * <p>
- * @author tsavo
- */
-public interface JCSWorkerHelper<V>
-{
-    /**
-     * Tells us whether or not the work has been completed. This will be called
-     * automatically by JCSWorker. You should not call it yourself.
-     * <p>
-     * @return True if the work has already been done, otherwise false.
-     */
-    boolean isFinished();
-
-    /**
-     * Sets whether or not the work has been done.
-     * <p>
-     * @param isFinished
-     *            True if the work has already been done, otherwise false.
-     */
-    void setFinished( boolean isFinished );
-
-    /**
-     * The method to implement to do the work that should be cached. JCSWorker
-     * will call this itself! You should not call this directly.
-     * <p>
-     * @return The result of doing the work to be cached.
-     * @throws Exception
-     *             If anything goes wrong while doing the work, an Exception
-     *             should be thrown.
-     */
-    V doWork() throws Exception;
-}
diff --git a/src/org/apache/commons/jcs/utils/config/OptionConverter.java b/src/org/apache/commons/jcs/utils/config/OptionConverter.java
deleted file mode 100644
index 9101373..0000000
--- a/src/org/apache/commons/jcs/utils/config/OptionConverter.java
+++ /dev/null
@@ -1,426 +0,0 @@
-package org.apache.commons.jcs.utils.config;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Properties;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This class is based on the log4j class org.apache.log4j.helpers.OptionConverter that was made by
- * Ceki Gülcü Simon Kitching; Avy Sharell (sharell at online.fr) Anders Kristensen Matthieu
- * Verbert (mve at zurich.ibm.com) A convenience class to convert property values to specific types.
- */
-public class OptionConverter
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( OptionConverter.class );
-
-    /** System property delimter */
-    private static final String DELIM_START = "${";
-
-    /** System property delimter */
-    private static final char DELIM_STOP = '}';
-
-    /** System property delimter start length */
-    private static final int DELIM_START_LEN = 2;
-
-    /** System property delimter end length */
-    private static final int DELIM_STOP_LEN = 1;
-
-    /** No instances please. */
-    private OptionConverter()
-    {
-        super();
-    }
-
-    /**
-     * Combines two arrays.
-     * @param l
-     * @param r
-     * @return String[]
-     */
-    public static String[] concatanateArrays( String[] l, String[] r )
-    {
-        int len = l.length + r.length;
-        String[] a = new String[len];
-
-        System.arraycopy( l, 0, a, 0, l.length );
-        System.arraycopy( r, 0, a, l.length, r.length );
-
-        return a;
-    }
-
-    /**
-     * Escapes special characters.
-     * <p>
-     * @param s
-     * @return String
-     */
-    public static String convertSpecialChars( String s )
-    {
-        char c;
-        int len = s.length();
-        StringBuilder sb = new StringBuilder( len );
-
-        int i = 0;
-        while ( i < len )
-        {
-            c = s.charAt( i++ );
-            if ( c == '\\' )
-            {
-                c = s.charAt( i++ );
-                if ( c == 'n' )
-                {
-                    c = '\n';
-                }
-                else if ( c == 'r' )
-                {
-                    c = '\r';
-                }
-                else if ( c == 't' )
-                {
-                    c = '\t';
-                }
-                else if ( c == 'f' )
-                {
-                    c = '\f';
-                }
-                else if ( c == '\b' )
-                {
-                    c = '\b';
-                }
-                else if ( c == '\"' )
-                {
-                    c = '\"';
-                }
-                else if ( c == '\'' )
-                {
-                    c = '\'';
-                }
-                else if ( c == '\\' )
-                {
-                    c = '\\';
-                }
-            }
-            sb.append( c );
-        }
-        return sb.toString();
-    }
-
-    /**
-     * Very similar to <code>System.getProperty</code> except that the {@link SecurityException} is
-     * hidden.
-     * @param key The key to search for.
-     * @param def The default value to return.
-     * @return the string value of the system property, or the default value if there is no property
-     *         with that key.
-     * @since 1.1
-     */
-
-    public static String getSystemProperty( String key, String def )
-    {
-        try
-        {
-            return System.getProperty( key, def );
-        }
-        catch ( Throwable e )
-        {
-            // MS-Java throws com.ms.security.SecurityExceptionEx
-            log.debug( "Was not allowed to read system property \"" + key + "\"." );
-            return def;
-        }
-    }
-
-    /**
-     * Creates an object for the className value of the key.
-     * <p>
-     * @param props
-     * @param key
-     * @param defaultValue
-     * @return Object that was created
-     */
-    public static <T> T instantiateByKey( Properties props, String key, T defaultValue )
-    {
-
-        // Get the value of the property in string form
-        String className = findAndSubst( key, props );
-        if ( className == null )
-        {
-            if ( log.isTraceEnabled() )
-            {
-                log.info( "Could not find value for key " + key );
-            }
-            return defaultValue;
-        }
-        // Trim className to avoid trailing spaces that cause problems.
-        return OptionConverter.instantiateByClassName( className.trim(), defaultValue );
-    }
-
-    /**
-     * If <code>value</code> is "true", then <code>true</code> is returned. If <code>value</code> is
-     * "false", then <code>true</code> is returned. Otherwise, <code>default</code> is returned.
-     * <p>
-     * Case of value is unimportant.
-     * @param value
-     * @param defaultValue
-     * @return Object
-     */
-    public static boolean toBoolean( String value, boolean defaultValue )
-    {
-        if ( value == null )
-        {
-            return defaultValue;
-        }
-        String trimmedVal = value.trim();
-        if ( "true".equalsIgnoreCase( trimmedVal ) )
-        {
-            return true;
-        }
-        if ( "false".equalsIgnoreCase( trimmedVal ) )
-        {
-            return false;
-        }
-        return defaultValue;
-    }
-
-    /**
-     * Converts to int.
-     * <p>
-     * @param value
-     * @param defaultValue
-     * @return int
-     */
-    public static int toInt( String value, int defaultValue )
-    {
-        if ( value != null )
-        {
-            String s = value.trim();
-            try
-            {
-                return Integer.parseInt(s);
-            }
-            catch ( NumberFormatException e )
-            {
-                log.error( "[" + s + "] is not in proper int form." );
-                e.printStackTrace();
-            }
-        }
-        return defaultValue;
-    }
-
-    /**
-     * @param value
-     * @param defaultValue
-     * @return long
-     */
-    public static long toFileSize( String value, long defaultValue )
-    {
-        if ( value == null )
-        {
-            return defaultValue;
-        }
-
-        String s = value.trim().toUpperCase();
-        long multiplier = 1;
-        int index;
-
-        if ( ( index = s.indexOf( "KB" ) ) != -1 )
-        {
-            multiplier = 1024;
-            s = s.substring( 0, index );
-        }
-        else if ( ( index = s.indexOf( "MB" ) ) != -1 )
-        {
-            multiplier = 1024 * 1024;
-            s = s.substring( 0, index );
-        }
-        else if ( ( index = s.indexOf( "GB" ) ) != -1 )
-        {
-            multiplier = 1024 * 1024 * 1024;
-            s = s.substring( 0, index );
-        }
-        if ( s != null )
-        {
-            try
-            {
-                return Long.parseLong(s) * multiplier;
-            }
-            catch ( NumberFormatException e )
-            {
-                log.error( "[" + s + "] is not in proper int form" );
-                log.error( "[" + value + "] not in expected format", e );
-            }
-        }
-        return defaultValue;
-    }
-
-    /**
-     * Find the value corresponding to <code>key</code> in <code>props</code>. Then perform variable
-     * substitution on the found value.
-     * <p>
-     * @param key
-     * @param props
-     * @return substituted string
-     */
-
-    public static String findAndSubst( String key, Properties props )
-    {
-        String value = props.getProperty( key );
-        if ( value == null )
-        {
-            return null;
-        }
-
-        try
-        {
-            return substVars( value, props );
-        }
-        catch ( IllegalArgumentException e )
-        {
-            log.error( "Bad option value [" + value + "]", e );
-            return value;
-        }
-    }
-
-    /**
-     * Instantiate an object given a class name. Check that the <code>className</code> is a subclass
-     * of <code>superClass</code>. If that test fails or the object could not be instantiated, then
-     * <code>defaultValue</code> is returned.
-     * <p>
-     * @param className The fully qualified class name of the object to instantiate.
-     * @param defaultValue The object to return in case of non-fulfillment
-     * @return instantiated object
-     */
-
-    public static <T> T instantiateByClassName( String className, T defaultValue )
-    {
-        if ( className != null )
-        {
-            try
-            {
-                Class<?> classObj = Class.forName( className );
-                Object o = classObj.newInstance();
-
-                try
-                {
-                    @SuppressWarnings("unchecked") // CCE catched
-                    T t = (T) o;
-                    return t;
-                }
-                catch (ClassCastException e)
-                {
-                    log.error( "A \"" + className + "\" object is not assignable to the generic variable." );
-                    return defaultValue;
-                }
-            }
-            catch ( Exception e )
-            {
-                log.error( "Could not instantiate class [" + className + "]", e );
-            }
-        }
-        return defaultValue;
-    }
-
-    /**
-     * Perform variable substitution in string <code>val</code> from the values of keys found in the
-     * system properties.
-     * <p>
-     * The variable substitution delimiters are <b>${ </b> and <b>} </b>.
-     * <p>
-     * For example, if the System properties contains "key=value", then the call
-     *
-     * <pre>
-     * String s = OptionConverter.substituteVars( "Value of key is ${key}." );
-     * </pre>
-     *
-     * will set the variable <code>s</code> to "Value of key is value.".
-     * <p>
-     * If no value could be found for the specified key, then the <code>props</code> parameter is
-     * searched, if the value could not be found there, then substitution defaults to the empty
-     * string.
-     * <p>
-     * For example, if system properties contains no value for the key "inexistentKey", then the call
-     *
-     * <pre>
-     * String s = OptionConverter.subsVars( "Value of inexistentKey is [${inexistentKey}]" );
-     * </pre>
-     *
-     * will set <code>s</code> to "Value of inexistentKey is []"
-     * <p>
-     * An {@link java.lang.IllegalArgumentException}is thrown if <code>val</code> contains a start
-     * delimiter "${" which is not balanced by a stop delimiter "}".
-     * </p>
-     * <p>
-     * <b>Author </b> Avy Sharell </a>
-     * </p>
-     * @param val The string on which variable substitution is performed.
-     * @param props
-     * @return String
-     * @throws IllegalArgumentException if <code>val</code> is malformed.
-     */
-
-    public static String substVars( String val, Properties props )
-        throws IllegalArgumentException
-    {
-        StringBuilder sbuf = new StringBuilder();
-
-        int i = 0;
-        int j;
-        int k;
-
-        while ( true )
-        {
-            j = val.indexOf( DELIM_START, i );
-            if ( j == -1 )
-            {
-                if ( i == 0 )
-                {
-                    return val;
-                }
-                sbuf.append( val.substring( i, val.length() ) );
-                return sbuf.toString();
-            }
-            sbuf.append( val.substring( i, j ) );
-            k = val.indexOf( DELIM_STOP, j );
-            if ( k == -1 )
-            {
-                throw new IllegalArgumentException( '"' + val + "\" has no closing brace. Opening brace at position "
-                    + j + '.' );
-            }
-            j += DELIM_START_LEN;
-            String key = val.substring( j, k );
-            // first try in System properties
-            String replacement = getSystemProperty( key, null );
-            // then try props parameter
-            if ( replacement == null && props != null )
-            {
-                replacement = props.getProperty( key );
-            }
-
-            if ( replacement != null )
-            {
-                sbuf.append( replacement );
-            }
-            i = k + DELIM_STOP_LEN;
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/config/PropertySetter.java b/src/org/apache/commons/jcs/utils/config/PropertySetter.java
deleted file mode 100644
index f33800d..0000000
--- a/src/org/apache/commons/jcs/utils/config/PropertySetter.java
+++ /dev/null
@@ -1,300 +0,0 @@
-package org.apache.commons.jcs.utils.config;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.beans.BeanInfo;
-import java.beans.IntrospectionException;
-import java.beans.Introspector;
-import java.beans.PropertyDescriptor;
-import java.io.File;
-import java.lang.reflect.Method;
-import java.util.Enumeration;
-import java.util.Properties;
-
-/**
- * This class is based on the log4j class org.apache.log4j.config.PropertySetter that was made by
- * Anders Kristensen
- * <p>
- * General purpose Object property setter. Clients repeatedly invokes {@link #setProperty
- * setProperty(name,value)} in order to invoke setters on the Object specified in the constructor.
- * This class relies on the JavaBeans {@link Introspector}to analyze the given Object Class using
- * reflection.
- * <p>
- * Usage:
- *
- * <pre>
- * PropertySetter ps = new PropertySetter( anObject );
- * ps.set( "name", "Joe" );
- * ps.set( "age", "32" );
- * ps.set( "isMale", "true" );
- * </pre>
- *
- * will cause the invocations anObject.setName("Joe"), anObject.setAge(32), and setMale(true) if
- * such methods exist with those signatures. Otherwise an {@link IntrospectionException}are thrown.
- */
-public class PropertySetter
-{
-    /** Logger */
-    private static final Log log = LogFactory.getLog( PropertySetter.class );
-
-    /** Description of the Field */
-    private final Object obj;
-
-    /** Description of the Field */
-    private PropertyDescriptor[] props;
-
-    /**
-     * Create a new PropertySetter for the specified Object. This is done in preparation for invoking
-     * {@link #setProperty}one or more times.
-     * @param obj the object for which to set properties
-     */
-    public PropertySetter( Object obj )
-    {
-        this.obj = obj;
-    }
-
-    /**
-     * Uses JavaBeans {@link Introspector}to compute setters of object to be configured.
-     */
-    protected void introspect()
-    {
-        try
-        {
-            BeanInfo bi = Introspector.getBeanInfo( obj.getClass() );
-            props = bi.getPropertyDescriptors();
-        }
-        catch ( IntrospectionException ex )
-        {
-            log.error( "Failed to introspect " + obj + ": " + ex.getMessage() );
-            props = new PropertyDescriptor[0];
-        }
-    }
-
-    /**
-     * Set the properties of an object passed as a parameter in one go. The <code>properties</code>
-     * are parsed relative to a <code>prefix</code>.
-     * <p>
-     * @param obj The object to configure.
-     * @param properties A java.util.Properties containing keys and values.
-     * @param prefix Only keys having the specified prefix will be set.
-     */
-    public static void setProperties( Object obj, Properties properties, String prefix )
-    {
-        new PropertySetter( obj ).setProperties( properties, prefix );
-    }
-
-    /**
-     * Set the properties for the object that match the <code>prefix</code> passed as parameter.
-     * <p>
-     * @param properties The new properties value
-     * @param prefix The new properties value
-     */
-    public void setProperties( Properties properties, String prefix )
-    {
-        int len = prefix.length();
-
-        for ( Enumeration<?> e = properties.propertyNames(); e.hasMoreElements(); )
-        {
-            String key = (String) e.nextElement();
-
-            // handle only properties that start with the desired prefix.
-            if ( key.startsWith( prefix ) )
-            {
-
-                // ignore key if it contains dots after the prefix
-                if ( key.indexOf( '.', len + 1 ) > 0 )
-                {
-                    //System.err.println("----------Ignoring---["+key
-                    //	     +"], prefix=["+prefix+"].");
-                    continue;
-                }
-
-                String value = OptionConverter.findAndSubst( key, properties );
-                key = key.substring( len );
-
-                setProperty( key, value );
-            }
-        }
-
-    }
-
-    /**
-     * Set a property on this PropertySetter's Object. If successful, this method will invoke a
-     * setter method on the underlying Object. The setter is the one for the specified property name
-     * and the value is determined partly from the setter argument type and partly from the value
-     * specified in the call to this method.
-     * <p>
-     * If the setter expects a String no conversion is necessary. If it expects an int, then an
-     * attempt is made to convert 'value' to an int using Integer.valueOf(value). If the setter expects
-     * a boolean, the conversion is by Boolean.valueOf(value).
-     * @param name name of the property
-     * @param value String value of the property
-     */
-
-    public void setProperty( String name, String value )
-    {
-        if ( value == null )
-        {
-            return;
-        }
-
-        name = Introspector.decapitalize( name );
-        PropertyDescriptor prop = getPropertyDescriptor( name );
-
-        //log.debug("---------Key: "+name+", type="+prop.getPropertyType());
-
-        if ( prop == null )
-        {
-            log.warn( "No such property [" + name + "] in " + obj.getClass().getName() + "." );
-        }
-        else
-        {
-            try
-            {
-                setProperty( prop, name, value );
-            }
-            catch ( PropertySetterException ex )
-            {
-                log.warn( "Failed to set property " + name + " to value \"" + value + "\". " + ex.getMessage() );
-            }
-        }
-    }
-
-    /**
-     * Set the named property given a {@link PropertyDescriptor}.
-     * @param prop A PropertyDescriptor describing the characteristics of the property to set.
-     * @param name The named of the property to set.
-     * @param value The value of the property.
-     * @throws PropertySetterException
-     */
-
-    public void setProperty( PropertyDescriptor prop, String name, String value )
-        throws PropertySetterException
-    {
-        Method setter = prop.getWriteMethod();
-        if ( setter == null )
-        {
-            throw new PropertySetterException( "No setter for property" );
-        }
-        Class<?>[] paramTypes = setter.getParameterTypes();
-        if ( paramTypes.length != 1 )
-        {
-            throw new PropertySetterException( "#params for setter != 1" );
-        }
-
-        Object arg;
-        try
-        {
-            arg = convertArg( value, paramTypes[0] );
-        }
-        catch ( Throwable t )
-        {
-            throw new PropertySetterException( "Conversion to type [" + paramTypes[0] + "] failed. Reason: " + t );
-        }
-        if ( arg == null )
-        {
-            throw new PropertySetterException( "Conversion to type [" + paramTypes[0] + "] failed." );
-        }
-        log.debug( "Setting property [" + name + "] to [" + arg + "]." );
-        try
-        {
-            setter.invoke( obj, new Object[] { arg } );
-        }
-        catch ( Exception ex )
-        {
-            throw new PropertySetterException( ex );
-        }
-    }
-
-    /**
-     * Convert <code>val</code> a String parameter to an object of a given type.
-     * @param val
-     * @param type
-     * @return Object
-     */
-    protected Object convertArg( String val, Class<?> type )
-    {
-        if ( val == null )
-        {
-            return null;
-        }
-
-        String v = val.trim();
-        if ( String.class.isAssignableFrom( type ) )
-        {
-            return val;
-        }
-        else if ( Integer.TYPE.isAssignableFrom( type ) )
-        {
-            return Integer.valueOf( v );
-        }
-        else if ( Long.TYPE.isAssignableFrom( type ) )
-        {
-            return Long.valueOf( v );
-        }
-        else if ( Boolean.TYPE.isAssignableFrom( type ) )
-        {
-            if ( "true".equalsIgnoreCase( v ) )
-            {
-                return Boolean.TRUE;
-            }
-            else if ( "false".equalsIgnoreCase( v ) )
-            {
-                return Boolean.FALSE;
-            }
-        }
-        else if( type.isEnum() )
-        {
-            @SuppressWarnings("unchecked") // type check in if()
-            Enum<?> en = Enum.valueOf(type.asSubclass(Enum.class), v );
-            return en;
-        }
-        else if ( File.class.isAssignableFrom( type ) )
-        {
-            return new File( v );
-        }
-        return null;
-    }
-
-    /**
-     * Gets the propertyDescriptor attribute of the PropertySetter object
-     * @param name
-     * @return The propertyDescriptor value
-     */
-    protected PropertyDescriptor getPropertyDescriptor( String name )
-    {
-        if ( props == null )
-        {
-            introspect();
-        }
-
-        for ( int i = 0; i < props.length; i++ )
-        {
-            if ( name.equals( props[i].getName() ) )
-            {
-                return props[i];
-            }
-        }
-        return null;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/config/PropertySetterException.java b/src/org/apache/commons/jcs/utils/config/PropertySetterException.java
deleted file mode 100644
index 0898a54..0000000
--- a/src/org/apache/commons/jcs/utils/config/PropertySetterException.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.apache.commons.jcs.utils.config;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This class is based on the log4j class org.apache.log4j.config.PropertySetter that was made by
- * Anders Kristensen
- * <p>
- * Thrown when an error is encountered whilst attempting to set a property using the
- * {@link PropertySetter}utility class.
- */
-public class PropertySetterException
-    extends Exception
-{
-    /** DOn't change */
-    private static final long serialVersionUID = -210271658004609028L;
-
-    /** Description of the Field */
-    private final Throwable rootCause;
-
-    /**
-     * Constructor for the PropertySetterException object
-     * <p>
-     * @param msg
-     */
-    public PropertySetterException( String msg )
-    {
-        super( msg );
-        this.rootCause = null;
-    }
-
-    /**
-     * Constructor for the PropertySetterException object
-     * <p>
-     * @param rootCause
-     */
-    public PropertySetterException( Throwable rootCause )
-    {
-        super();
-        this.rootCause = rootCause;
-    }
-
-    /**
-     * Returns descriptive text on the cause of this exception.
-     * <p>
-     * @return The message value
-     */
-    @Override
-    public String getMessage()
-    {
-        String msg = super.getMessage();
-        if ( msg == null && rootCause != null )
-        {
-            msg = rootCause.getMessage();
-        }
-        return msg;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/config/package.html b/src/org/apache/commons/jcs/utils/config/package.html
deleted file mode 100644
index 1de5d40..0000000
--- a/src/org/apache/commons/jcs/utils/config/package.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
-  <head>
-  </head>
-  <body>
-    This package contains utility classes that are used when configuring the
-    cache. <br/>
-    NOTE: It is likely that these classes will be removed in the future in favor
-    of commons-configuration.
-  </body>
-</html>
diff --git a/src/org/apache/commons/jcs/utils/discovery/DiscoveredService.java b/src/org/apache/commons/jcs/utils/discovery/DiscoveredService.java
deleted file mode 100644
index cbfd737..0000000
--- a/src/org/apache/commons/jcs/utils/discovery/DiscoveredService.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package org.apache.commons.jcs.utils.discovery;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-import java.util.ArrayList;
-
-/**
- * This contains info about a discovered service. These objects are stored in a set in the
- * UDPDiscoveryService.
- * <p>
- * @author Aaron Smuts
- */
-public class DiscoveredService
-    implements Serializable
-{
-    /** For serialization. Don't change. */
-    private static final long serialVersionUID = -7810164772089509751L;
-
-    /** region names */
-    private ArrayList<String> cacheNames;
-
-    /** service address */
-    private String serviceAddress;
-
-    /** service port */
-    private int servicePort;
-
-    /** last time we heard from this service? */
-    private long lastHearFromTime = 0;
-
-    /**
-     * @param cacheNames the cacheNames to set
-     */
-    public void setCacheNames( ArrayList<String> cacheNames )
-    {
-        this.cacheNames = cacheNames;
-    }
-
-    /**
-     * @return the cacheNames
-     */
-    public ArrayList<String> getCacheNames()
-    {
-        return cacheNames;
-    }
-
-    /**
-     * @param serviceAddress The serviceAddress to set.
-     */
-    public void setServiceAddress( String serviceAddress )
-    {
-        this.serviceAddress = serviceAddress;
-    }
-
-    /**
-     * @return Returns the serviceAddress.
-     */
-    public String getServiceAddress()
-    {
-        return serviceAddress;
-    }
-
-    /**
-     * @param servicePort The servicePort to set.
-     */
-    public void setServicePort( int servicePort )
-    {
-        this.servicePort = servicePort;
-    }
-
-    /**
-     * @return Returns the servicePort.
-     */
-    public int getServicePort()
-    {
-        return servicePort;
-    }
-
-    /**
-     * @param lastHearFromTime The lastHearFromTime to set.
-     */
-    public void setLastHearFromTime( long lastHearFromTime )
-    {
-        this.lastHearFromTime = lastHearFromTime;
-    }
-
-    /**
-     * @return Returns the lastHearFromTime.
-     */
-    public long getLastHearFromTime()
-    {
-        return lastHearFromTime;
-    }
-
-    /** @return hashcode based on address/port */
-	@Override
-	public int hashCode()
-	{
-		final int prime = 31;
-		int result = 1;
-		result = prime * result
-				+ ((serviceAddress == null) ? 0 : serviceAddress.hashCode());
-		result = prime * result + servicePort;
-		return result;
-	}
-
-	/**
-     * NOTE - this object is often put into sets, so equals needs to be overridden.
-     * <p>
-     * We can't use cache names as part of the equals unless we manually only use the address and
-     * port in a contains check. So that we can use normal set functionality, I've kept the cache
-     * names out.
-     * <p>
-     * @param otherArg other
-     * @return equality based on the address/port
-     */
-	@Override
-	public boolean equals(Object otherArg)
-	{
-		if (this == otherArg)
-		{
-			return true;
-		}
-		if (otherArg == null)
-		{
-			return false;
-		}
-		if (!(otherArg instanceof DiscoveredService))
-		{
-			return false;
-		}
-		DiscoveredService other = (DiscoveredService) otherArg;
-		if (serviceAddress == null)
-		{
-			if (other.serviceAddress != null)
-			{
-				return false;
-			}
-		} else if (!serviceAddress.equals(other.serviceAddress))
-		{
-			return false;
-		}
-		if (servicePort != other.servicePort)
-		{
-			return false;
-		}
-
-		return true;
-	}
-
-    /**
-     * @return string for debugging purposes.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\n DiscoveredService" );
-        buf.append( "\n CacheNames = [" + getCacheNames() + "]" );
-        buf.append( "\n ServiceAddress = [" + getServiceAddress() + "]" );
-        buf.append( "\n ServicePort = [" + getServicePort() + "]" );
-        buf.append( "\n LastHearFromTime = [" + getLastHearFromTime() + "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/discovery/UDPCleanupRunner.java b/src/org/apache/commons/jcs/utils/discovery/UDPCleanupRunner.java
deleted file mode 100644
index d000f20..0000000
--- a/src/org/apache/commons/jcs/utils/discovery/UDPCleanupRunner.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.apache.commons.jcs.utils.discovery;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * This class periodically check the lastHeardFrom time on the services.
- * <p>
- * If they exceed the configurable limit, it removes them from the set.
- * <p>
- * @author Aaron Smuts
- */
-public class UDPCleanupRunner
-    implements Runnable
-{
-    /** log instance */
-    private static final Log log = LogFactory.getLog( UDPCleanupRunner.class );
-
-    /** UDP discovery service */
-    private final UDPDiscoveryService discoveryService;
-
-    /** default for max idle time, in seconds */
-    private static final long DEFAULT_MAX_IDLE_TIME_SECONDS = 180;
-
-    /** The configured max idle time, in seconds */
-    private final long maxIdleTimeSeconds = DEFAULT_MAX_IDLE_TIME_SECONDS;
-
-    /**
-     * @param service UDPDiscoveryService
-     */
-    public UDPCleanupRunner( UDPDiscoveryService service )
-    {
-        this.discoveryService = service;
-    }
-
-    /**
-     * This goes through the list of services and removes those that we haven't heard from in longer
-     * than the max idle time.
-     * <p>
-     * @see java.lang.Runnable#run()
-     */
-    @Override
-    public void run()
-    {
-        long now = System.currentTimeMillis();
-
-        // iterate through the set
-        // it is thread safe
-        // http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/CopyOnWriteArraySet.
-        // html
-        // TODO this should get a copy.  you can't simply remove from this.
-        // the listeners need to be notified.
-        Set<DiscoveredService> toRemove = new HashSet<DiscoveredService>();
-        // can't remove via the iterator. must remove directly
-        for (DiscoveredService service : discoveryService.getDiscoveredServices())
-        {
-            if ( ( now - service.getLastHearFromTime() ) > ( maxIdleTimeSeconds * 1000 ) )
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Removing service, since we haven't heard from it in " + maxIdleTimeSeconds
-                        + " seconds.  service = " + service );
-                }
-                toRemove.add( service );
-            }
-        }
-
-        // remove the bad ones
-        for (DiscoveredService service : toRemove)
-        {
-            // call this so the listeners get notified
-            discoveryService.removeDiscoveredService( service );
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryAttributes.java b/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryAttributes.java
deleted file mode 100644
index e89664e..0000000
--- a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryAttributes.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package org.apache.commons.jcs.utils.discovery;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Configuration properties for UDP discover service.
- * <p>
- * The service will allow out applications to find each other.
- * <p>
- * @author Aaron Smuts
- */
-public final class UDPDiscoveryAttributes
-    implements Cloneable
-{
-    /** service name */
-    private String serviceName;
-
-    /** service address */
-    private String serviceAddress;
-
-    /** service port */
-    private int servicePort;
-
-    /**
-     * false -> this service instance is not ready to receive requests. true -> ready for use
-     */
-    private boolean isDark;
-
-    /** default udp discovery address */
-    private static final String DEFAULT_UDP_DISCOVERY_ADDRESS = "228.4.5.6";
-
-    /** default udp discovery port */
-    private static final int DEFAULT_UDP_DISCOVERY_PORT = 5678;
-
-    /** udp discovery address */
-    private String udpDiscoveryAddr = DEFAULT_UDP_DISCOVERY_ADDRESS;
-
-    /** udp discovery port */
-    private int udpDiscoveryPort = DEFAULT_UDP_DISCOVERY_PORT;
-
-    /** default delay between sending passive broadcasts */
-    private static final int DEFAULT_SEND_DELAY_SEC = 60;
-
-    /** delay between sending passive broadcasts */
-    private int sendDelaySec = DEFAULT_SEND_DELAY_SEC;
-
-    /** default amount of time before we remove services that we haven't heard from */
-    private static final int DEFAULT_MAX_IDLE_TIME_SEC = 180;
-
-    /** amount of time before we remove services that we haven't heard from */
-    private int maxIdleTimeSec = DEFAULT_MAX_IDLE_TIME_SEC;
-
-    /**
-     * @param serviceName The serviceName to set.
-     */
-    public void setServiceName( String serviceName )
-    {
-        this.serviceName = serviceName;
-    }
-
-    /**
-     * @return Returns the serviceName.
-     */
-    public String getServiceName()
-    {
-        return serviceName;
-    }
-
-    /**
-     * @param serviceAddress The serviceAddress to set.
-     */
-    public void setServiceAddress( String serviceAddress )
-    {
-        this.serviceAddress = serviceAddress;
-    }
-
-    /**
-     * @return Returns the serviceAddress.
-     */
-    public String getServiceAddress()
-    {
-        return serviceAddress;
-    }
-
-    /**
-     * @param servicePort The servicePort to set.
-     */
-    public void setServicePort( int servicePort )
-    {
-        this.servicePort = servicePort;
-    }
-
-    /**
-     * @return Returns the servicePort.
-     */
-    public int getServicePort()
-    {
-        return servicePort;
-    }
-
-    /**
-     * @param udpDiscoveryAddr The udpDiscoveryAddr to set.
-     */
-    public void setUdpDiscoveryAddr( String udpDiscoveryAddr )
-    {
-        this.udpDiscoveryAddr = udpDiscoveryAddr;
-    }
-
-    /**
-     * @return Returns the udpDiscoveryAddr.
-     */
-    public String getUdpDiscoveryAddr()
-    {
-        return udpDiscoveryAddr;
-    }
-
-    /**
-     * @param udpDiscoveryPort The udpDiscoveryPort to set.
-     */
-    public void setUdpDiscoveryPort( int udpDiscoveryPort )
-    {
-        this.udpDiscoveryPort = udpDiscoveryPort;
-    }
-
-    /**
-     * @return Returns the udpDiscoveryPort.
-     */
-    public int getUdpDiscoveryPort()
-    {
-        return udpDiscoveryPort;
-    }
-
-    /**
-     * @param sendDelaySec The sendDelaySec to set.
-     */
-    public void setSendDelaySec( int sendDelaySec )
-    {
-        this.sendDelaySec = sendDelaySec;
-    }
-
-    /**
-     * @return Returns the sendDelaySec.
-     */
-    public int getSendDelaySec()
-    {
-        return sendDelaySec;
-    }
-
-    /**
-     * @param maxIdleTimeSec The maxIdleTimeSec to set.
-     */
-    public void setMaxIdleTimeSec( int maxIdleTimeSec )
-    {
-        this.maxIdleTimeSec = maxIdleTimeSec;
-    }
-
-    /**
-     * @return Returns the maxIdleTimeSec.
-     */
-    public int getMaxIdleTimeSec()
-    {
-        return maxIdleTimeSec;
-    }
-
-    /**
-     * @return Returns the isDark.
-     */
-    public boolean isDark()
-    {
-        return isDark;
-    }
-
-    /**
-     * @param isDark The isDark to set.
-     */
-    public void setDark( boolean isDark )
-    {
-        this.isDark = isDark;
-    }
-
-    /** @return a clone of this object */
-    @Override
-    public UDPDiscoveryAttributes clone()
-    {
-        UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
-        attributes.setSendDelaySec( this.getSendDelaySec() );
-        attributes.setMaxIdleTimeSec( this.getMaxIdleTimeSec() );
-        attributes.setServiceName( this.getServiceName() );
-        attributes.setServicePort( this.getServicePort() );
-        attributes.setUdpDiscoveryAddr( this.getUdpDiscoveryAddr() );
-        attributes.setUdpDiscoveryPort( this.getUdpDiscoveryPort() );
-        attributes.setDark( this.isDark() );
-        return attributes;
-    }
-
-    /**
-     * @return string for debugging purposes.
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\n UDPDiscoveryAttributes" );
-        buf.append( "\n ServiceName = [" + getServiceName() + "]" );
-        buf.append( "\n ServiceAddress = [" + getServiceAddress() + "]" );
-        buf.append( "\n ServicePort = [" + getServicePort() + "]" );
-        buf.append( "\n UdpDiscoveryAddr = [" + getUdpDiscoveryAddr() + "]" );
-        buf.append( "\n UdpDiscoveryPort = [" + getUdpDiscoveryPort() + "]" );
-        buf.append( "\n SendDelaySec = [" + getSendDelaySec() + "]" );
-        buf.append( "\n MaxIdleTimeSec = [" + getMaxIdleTimeSec() + "]" );
-        buf.append( "\n IsDark = [" + isDark() + "]" );
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryManager.java b/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryManager.java
deleted file mode 100644
index 79300fa..0000000
--- a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryManager.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.apache.commons.jcs.utils.discovery;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.commons.jcs.engine.behavior.IProvideScheduler;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This manages UDPDiscovery Services. We should end up with one service per Lateral Cache Manager
- * Instance. One service works for multiple regions. We don't want a connection for each region.
- * <p>
- * @author Aaron Smuts
- */
-public class UDPDiscoveryManager
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( UDPDiscoveryManager.class );
-
-    /** Singleton instance */
-    private static UDPDiscoveryManager INSTANCE = new UDPDiscoveryManager();
-
-    /** Known services */
-    private final Map<String, UDPDiscoveryService> services = new HashMap<String, UDPDiscoveryService>();
-
-    /** private for singleton */
-    private UDPDiscoveryManager()
-    {
-        // noopt
-    }
-
-    /**
-     * Singleton
-     * <p>
-     * @return UDPDiscoveryManager
-     */
-    public static UDPDiscoveryManager getInstance()
-    {
-        return INSTANCE;
-    }
-
-    /**
-     * Creates a service for the address and port if one doesn't exist already.
-     * <p>
-     * We need to key this using the listener port too. TODO think of making one discovery service
-     * work for multiple types of clients.
-     * <p>
-     * @param discoveryAddress
-     * @param discoveryPort
-     * @param servicePort
-     * @param cacheMgr
-     * @return UDPDiscoveryService
-     */
-    public synchronized UDPDiscoveryService getService( String discoveryAddress, int discoveryPort, int servicePort,
-                                                        ICompositeCacheManager cacheMgr )
-    {
-        String key = discoveryAddress + ":" + discoveryPort + ":" + servicePort;
-
-        UDPDiscoveryService service = services.get( key );
-        if ( service == null )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Creating service for address:port:servicePort [" + key + "]" );
-            }
-
-            UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes();
-            attributes.setUdpDiscoveryAddr( discoveryAddress );
-            attributes.setUdpDiscoveryPort( discoveryPort );
-            attributes.setServicePort( servicePort );
-
-            service = new UDPDiscoveryService( attributes );
-
-            // register for shutdown notification
-            cacheMgr.registerShutdownObserver( service );
-
-            // inject scheduler
-            if ( cacheMgr instanceof IProvideScheduler)
-            {
-                service.setScheduledExecutorService(((IProvideScheduler)cacheMgr).getScheduledExecutorService());
-            }
-
-            service.startup();
-            services.put( key, service );
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Returning service [" + service + "] for key [" + key + "]" );
-        }
-
-        return service;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryMessage.java b/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryMessage.java
deleted file mode 100644
index efe424c..0000000
--- a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryMessage.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.apache.commons.jcs.utils.discovery;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-import java.util.ArrayList;
-
-/**
- * The message sent by the discovery mechanism.
- */
-public class UDPDiscoveryMessage
-    implements Serializable
-{
-    /** Don't change */
-    private static final long serialVersionUID = -5332377899560951793L;
-
-    public enum BroadcastType
-    {
-        /**
-         * This is the periodic broadcast of a servers location. This type of message is also sent in
-         * response to a REQUEST_BROADCAST.
-         */
-        PASSIVE,
-
-        /**
-         * This asks recipients to broadcast their location. This is used on startup.
-         */
-        REQUEST,
-
-        /**
-         * This message instructs the receiver to remove this service from its list.
-         */
-        REMOVE
-    }
-
-    /** The message type */
-    private BroadcastType messageType = BroadcastType.PASSIVE;
-
-    /** udp port */
-    private int port = 6789;
-
-    /** UDP host */
-    private String host = "228.5.6.7";
-
-    /** Id of the requester, allows self-filtration */
-    private long requesterId;
-
-    /** Names of regions */
-    private ArrayList<String> cacheNames = new ArrayList<String>();
-
-    /**
-     * @param port The port to set.
-     */
-    public void setPort( int port )
-    {
-        this.port = port;
-    }
-
-    /**
-     * @return Returns the port.
-     */
-    public int getPort()
-    {
-        return port;
-    }
-
-    /**
-     * @param host The host to set.
-     */
-    public void setHost( String host )
-    {
-        this.host = host;
-    }
-
-    /**
-     * @return Returns the host.
-     */
-    public String getHost()
-    {
-        return host;
-    }
-
-    /**
-     * @param requesterId The requesterId to set.
-     */
-    public void setRequesterId( long requesterId )
-    {
-        this.requesterId = requesterId;
-    }
-
-    /**
-     * @return Returns the requesterId.
-     */
-    public long getRequesterId()
-    {
-        return requesterId;
-    }
-
-    /**
-     * @param messageType The messageType to set.
-     */
-    public void setMessageType( BroadcastType messageType )
-    {
-        this.messageType = messageType;
-    }
-
-    /**
-     * @return Returns the messageType.
-     */
-    public BroadcastType getMessageType()
-    {
-        return messageType;
-    }
-
-    /**
-     * @param cacheNames The cacheNames to set.
-     */
-    public void setCacheNames( ArrayList<String> cacheNames )
-    {
-        this.cacheNames = cacheNames;
-    }
-
-    /**
-     * @return Returns the cacheNames.
-     */
-    public ArrayList<String> getCacheNames()
-    {
-        return cacheNames;
-    }
-
-    /**
-     * @return debugging string
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\n host = [" + host + "]" );
-        buf.append( "\n port = [" + port + "]" );
-        buf.append( "\n requesterId = [" + requesterId + "]" );
-        buf.append( "\n messageType = [" + messageType + "]" );
-        buf.append( "\n Cache Names" );
-        for (String name : cacheNames)
-        {
-            buf.append( " cacheName = [" + name + "]" );
-        }
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryReceiver.java b/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryReceiver.java
deleted file mode 100644
index e8f9cba..0000000
--- a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryReceiver.java
+++ /dev/null
@@ -1,394 +0,0 @@
-package org.apache.commons.jcs.utils.discovery;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.net.DatagramPacket;
-import java.net.InetAddress;
-import java.net.MulticastSocket;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ThreadPoolExecutor;
-
-import org.apache.commons.jcs.engine.CacheInfo;
-import org.apache.commons.jcs.engine.behavior.IShutdownObserver;
-import org.apache.commons.jcs.io.ObjectInputStreamClassLoaderAware;
-import org.apache.commons.jcs.utils.discovery.UDPDiscoveryMessage.BroadcastType;
-import org.apache.commons.jcs.utils.threadpool.DaemonThreadFactory;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/** Receives UDP Discovery messages. */
-public class UDPDiscoveryReceiver
-    implements Runnable, IShutdownObserver
-{
-    /** The log factory */
-    private static final Log log = LogFactory.getLog( UDPDiscoveryReceiver.class );
-
-    /** buffer */
-    private final byte[] mBuffer = new byte[65536];
-
-    /** The socket used for communication. */
-    private MulticastSocket mSocket;
-
-    /**
-     * TODO: Consider using the threadpool manager to get this thread pool. For now place a tight
-     * restriction on the pool size
-     */
-    private static final int maxPoolSize = 2;
-
-    /** The processor */
-    private ThreadPoolExecutor pooledExecutor = null;
-
-    /** number of messages received. For debugging and testing. */
-    private int cnt = 0;
-
-    /** Service to get cache names and handle request broadcasts */
-    private UDPDiscoveryService service = null;
-
-    /** Address */
-    private String multicastAddressString = "";
-
-    /** The port */
-    private int multicastPort = 0;
-
-    /** Is it shutdown. */
-    private boolean shutdown = false;
-
-    /**
-     * Constructor for the LateralUDPReceiver object.
-     * <p>
-     * We determine out own host using InetAddress
-     *<p>
-     * @param service
-     * @param multicastAddressString
-     * @param multicastPort
-     * @throws IOException
-     */
-    public UDPDiscoveryReceiver( UDPDiscoveryService service, String multicastAddressString, int multicastPort )
-        throws IOException
-    {
-        this.service = service;
-        this.multicastAddressString = multicastAddressString;
-        this.multicastPort = multicastPort;
-
-        // create a small thread pool to handle a barrage
-        pooledExecutor = (ThreadPoolExecutor)Executors.newFixedThreadPool(maxPoolSize,
-                new DaemonThreadFactory("JCS-UDPDiscoveryReceiver-", Thread.MIN_PRIORITY));
-        pooledExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardOldestPolicy());
-        //pooledExecutor.setMinimumPoolSize(1);
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Constructing listener, [" + this.multicastAddressString + ":" + this.multicastPort + "]" );
-        }
-
-        try
-        {
-            createSocket( this.multicastAddressString, this.multicastPort );
-        }
-        catch ( IOException ioe )
-        {
-            // consider eating this so we can go on, or constructing the socket
-            // later
-            throw ioe;
-        }
-    }
-
-    /**
-     * Creates the socket for this class.
-     * <p>
-     * @param multicastAddressString
-     * @param multicastPort
-     * @throws IOException
-     */
-    private void createSocket( String multicastAddressString, int multicastPort )
-        throws IOException
-    {
-        try
-        {
-            mSocket = new MulticastSocket( multicastPort );
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Joining Group: [" + InetAddress.getByName( multicastAddressString ) + "]" );
-            }
-            mSocket.joinGroup( InetAddress.getByName( multicastAddressString ) );
-        }
-        catch ( IOException e )
-        {
-            log.error( "Could not bind to multicast address [" + InetAddress.getByName( multicastAddressString ) + ":" + multicastPort + "]", e );
-            throw e;
-        }
-    }
-
-    /**
-     * Highly unreliable. If it is processing one message while another comes in, the second
-     * message is lost. This is for low concurrency peppering.
-     * <p>
-     * @return the object message
-     * @throws IOException
-     */
-    public Object waitForMessage()
-        throws IOException
-    {
-        final DatagramPacket packet = new DatagramPacket( mBuffer, mBuffer.length );
-        ObjectInputStream objectStream = null;
-        Object obj = null;
-        try
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Waiting for message." );
-            }
-
-            mSocket.receive( packet );
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Received packet from address [" + packet.getSocketAddress() + "]" );
-            }
-
-            final ByteArrayInputStream byteStream = new ByteArrayInputStream( mBuffer, 0, packet.getLength() );
-            objectStream = new ObjectInputStreamClassLoaderAware( byteStream, null );
-            obj = objectStream.readObject();
-
-            if ( obj instanceof UDPDiscoveryMessage )
-            {
-            	// Ensure that the address we're supposed to send to is, indeed, the address
-            	// of the machine on the other end of this connection.  This guards against
-            	// instances where we don't exactly get the right local host address
-            	UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj;
-            	msg.setHost(packet.getAddress().getHostAddress());
-
-	            if ( log.isDebugEnabled() )
-	            {
-	                log.debug( "Read object from address [" + packet.getSocketAddress() + "], object=[" + obj + "]" );
-	            }
-            }
-        }
-        catch ( Exception e )
-        {
-            log.error( "Error receiving multicast packet", e );
-        }
-        finally
-        {
-            if (objectStream != null)
-            {
-                try
-                {
-                    objectStream.close();
-                }
-                catch (IOException e)
-                {
-                    log.error( "Error closing object stream", e );
-                }
-            }
-        }
-        return obj;
-    }
-
-    /** Main processing method for the LateralUDPReceiver object */
-    @Override
-    public void run()
-    {
-        try
-        {
-            while ( !shutdown )
-            {
-                Object obj = waitForMessage();
-
-                // not thread safe, but just for debugging
-                cnt++;
-
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( getCnt() + " messages received." );
-                }
-
-                UDPDiscoveryMessage message = null;
-
-                try
-                {
-                    message = (UDPDiscoveryMessage) obj;
-                    // check for null
-                    if ( message != null )
-                    {
-                        MessageHandler handler = new MessageHandler( message );
-
-                        pooledExecutor.execute( handler );
-
-                        if ( log.isDebugEnabled() )
-                        {
-                            log.debug( "Passed handler to executor." );
-                        }
-                    }
-                    else
-                    {
-                        log.warn( "message is null" );
-                    }
-                }
-                catch ( ClassCastException cce )
-                {
-                    log.warn( "Received unknown message type " + cce.getMessage() );
-                }
-            } // end while
-        }
-        catch ( Exception e )
-        {
-            log.error( "Unexpected exception in UDP receiver.", e );
-            try
-            {
-                Thread.sleep( 100 );
-                // TODO consider some failure count so we don't do this
-                // forever.
-            }
-            catch ( Exception e2 )
-            {
-                log.error( "Problem sleeping", e2 );
-            }
-        }
-    }
-
-    /**
-     * @param cnt The cnt to set.
-     */
-    public void setCnt( int cnt )
-    {
-        this.cnt = cnt;
-    }
-
-    /**
-     * @return Returns the cnt.
-     */
-    public int getCnt()
-    {
-        return cnt;
-    }
-
-    /**
-     * Separate thread run when a command comes into the UDPDiscoveryReceiver.
-     */
-    public class MessageHandler
-        implements Runnable
-    {
-        /** The message to handle. Passed in during construction. */
-        private UDPDiscoveryMessage message = null;
-
-        /**
-         * @param message
-         */
-        public MessageHandler( UDPDiscoveryMessage message )
-        {
-            this.message = message;
-        }
-
-        /**
-         * Process the message.
-         */
-        @SuppressWarnings("synthetic-access")
-        @Override
-        public void run()
-        {
-            // consider comparing ports here instead.
-            if ( message.getRequesterId() == CacheInfo.listenerId )
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Ignoring message sent from self" );
-                }
-            }
-            else
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Process message sent from another" );
-                    log.debug( "Message = " + message );
-                }
-
-                if ( message.getHost() == null || message.getCacheNames() == null || message.getCacheNames().isEmpty() )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Ignoring invalid message: " + message );
-                    }
-                }
-                else
-                {
-                    processMessage();
-                }
-            }
-        }
-
-        /**
-         * Process the incoming message.
-         */
-        @SuppressWarnings("synthetic-access")
-        private void processMessage()
-        {
-            DiscoveredService discoveredService = new DiscoveredService();
-            discoveredService.setServiceAddress( message.getHost() );
-            discoveredService.setCacheNames( message.getCacheNames() );
-            discoveredService.setServicePort( message.getPort() );
-            discoveredService.setLastHearFromTime( System.currentTimeMillis() );
-
-            // if this is a request message, have the service handle it and
-            // return
-            if ( message.getMessageType() == BroadcastType.REQUEST )
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Message is a Request Broadcast, will have the service handle it." );
-                }
-                service.serviceRequestBroadcast();
-                return;
-            }
-            else if ( message.getMessageType() == BroadcastType.REMOVE )
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Removing service from set " + discoveredService );
-                }
-                service.removeDiscoveredService( discoveredService );
-            }
-            else
-            {
-                service.addOrUpdateService( discoveredService );
-            }
-        }
-    }
-
-    /** Shuts down the socket. */
-    @Override
-    public void shutdown()
-    {
-        try
-        {
-            shutdown = true;
-            mSocket.leaveGroup( InetAddress.getByName( multicastAddressString ) );
-            mSocket.close();
-            pooledExecutor.shutdownNow();
-        }
-        catch ( IOException e )
-        {
-            log.error( "Problem closing socket" );
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoverySender.java b/src/org/apache/commons/jcs/utils/discovery/UDPDiscoverySender.java
deleted file mode 100644
index 6b8c9e7..0000000
--- a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoverySender.java
+++ /dev/null
@@ -1,292 +0,0 @@
-package org.apache.commons.jcs.utils.discovery;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.CacheInfo;
-import org.apache.commons.jcs.utils.discovery.UDPDiscoveryMessage.BroadcastType;
-import org.apache.commons.jcs.utils.serialization.StandardSerializer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.net.DatagramPacket;
-import java.net.InetAddress;
-import java.net.MulticastSocket;
-import java.util.ArrayList;
-
-/**
- * This is a generic sender for the UDPDiscovery process.
- * <p>
- * @author Aaron Smuts
- */
-public class UDPDiscoverySender
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( UDPDiscoverySender.class );
-
-    /** The socket */
-    private MulticastSocket localSocket;
-
-    /** The address */
-    private InetAddress multicastAddress;
-
-    /** The port */
-    private final int multicastPort;
-
-    /** Used to serialize messages */
-    private final StandardSerializer serializer = new StandardSerializer();
-
-    /**
-     * Constructor for the UDPDiscoverySender object
-     * <p>
-     * This sender can be used to send multiple messages.
-     * <p>
-     * When you are done sending, you should destroy the socket sender.
-     * <p>
-     * @param host
-     * @param port
-     * @throws IOException
-     */
-    public UDPDiscoverySender( String host, int port )
-        throws IOException
-    {
-        try
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Constructing socket for sender on port [" + port + "]" );
-            }
-            localSocket = new MulticastSocket( port );
-
-            // Remote address.
-            multicastAddress = InetAddress.getByName( host );
-        }
-        catch ( IOException e )
-        {
-            log.error( "Could not bind to multicast address [" + host + "]", e );
-
-            throw e;
-        }
-
-        multicastPort = port;
-    }
-
-    /**
-     * Closes the socket connection.
-     */
-    public void destroy()
-    {
-        try
-        {
-            if ( this.localSocket != null && !this.localSocket.isClosed() )
-            {
-                this.localSocket.close();
-            }
-        }
-        catch ( Exception e )
-        {
-            log.error( "Problem destrying sender", e );
-        }
-    }
-
-    /**
-     * Just being careful about closing the socket.
-     * <p>
-     * @throws Throwable
-     */
-    @Override
-    protected void finalize()
-        throws Throwable
-    {
-        super.finalize();
-        destroy();
-    }
-
-    /**
-     * Send messages.
-     * <p>
-     * @param message
-     * @throws IOException
-     */
-    public void send( UDPDiscoveryMessage message )
-        throws IOException
-    {
-        if ( this.localSocket == null )
-        {
-            throw new IOException( "Socket is null, cannot send message." );
-        }
-
-        if ( this.localSocket.isClosed() )
-        {
-            throw new IOException( "Socket is closed, cannot send message." );
-        }
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "sending UDPDiscoveryMessage, address [" + multicastAddress + "], port [" + multicastPort
-                + "], message = " + message );
-        }
-
-        try
-        {
-            final byte[] bytes = serializer.serialize( message );
-
-            // put the byte array in a packet
-            final DatagramPacket packet = new DatagramPacket( bytes, bytes.length, multicastAddress, multicastPort );
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Sending DatagramPacket. bytes.length [" + bytes.length + "] to " + multicastAddress + ":"
-                    + multicastPort );
-            }
-
-            localSocket.send( packet );
-        }
-        catch ( IOException e )
-        {
-            log.error( "Error sending message", e );
-            throw e;
-        }
-    }
-
-    /**
-     * Ask other to broadcast their info the the multicast address. If a lateral is non receiving it
-     * can use this. This is also called on startup so we can get info.
-     * <p>
-     * @throws IOException
-     */
-    public void requestBroadcast()
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "sending requestBroadcast " );
-        }
-
-        UDPDiscoveryMessage message = new UDPDiscoveryMessage();
-        message.setRequesterId( CacheInfo.listenerId );
-        message.setMessageType( BroadcastType.REQUEST );
-        send( message );
-    }
-
-    /**
-     * This sends a message broadcasting out that the host and port is available for connections.
-     * <p>
-     * It uses the vmid as the requesterDI
-     * @param host
-     * @param port
-     * @param cacheNames
-     * @throws IOException
-     */
-    public void passiveBroadcast( String host, int port, ArrayList<String> cacheNames )
-        throws IOException
-    {
-        passiveBroadcast( host, port, cacheNames, CacheInfo.listenerId );
-    }
-
-    /**
-     * This allows you to set the sender id. This is mainly for testing.
-     * <p>
-     * @param host
-     * @param port
-     * @param cacheNames names of the cache regions
-     * @param listenerId
-     * @throws IOException
-     */
-    protected void passiveBroadcast( String host, int port, ArrayList<String> cacheNames, long listenerId )
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "sending passiveBroadcast " );
-        }
-
-        UDPDiscoveryMessage message = new UDPDiscoveryMessage();
-        message.setHost( host );
-        message.setPort( port );
-        message.setCacheNames( cacheNames );
-        message.setRequesterId( listenerId );
-        message.setMessageType( BroadcastType.PASSIVE );
-        send( message );
-    }
-
-    /**
-     * This sends a message broadcasting our that the host and port is no longer available.
-     * <p>
-     * It uses the vmid as the requesterID
-     * <p>
-     * @param host host
-     * @param port port
-     * @param cacheNames names of the cache regions
-     * @throws IOException on error
-     */
-    public void removeBroadcast( String host, int port, ArrayList<String> cacheNames )
-        throws IOException
-    {
-        removeBroadcast( host, port, cacheNames, CacheInfo.listenerId );
-    }
-
-    /**
-     * This allows you to set the sender id. This is mainly for testing.
-     * <p>
-     * @param host host
-     * @param port port
-     * @param cacheNames names of the cache regions
-     * @param listenerId listener ID
-     * @throws IOException on error
-     */
-    protected void removeBroadcast( String host, int port, ArrayList<String> cacheNames, long listenerId )
-        throws IOException
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "sending removeBroadcast " );
-        }
-
-        UDPDiscoveryMessage message = new UDPDiscoveryMessage();
-        message.setHost( host );
-        message.setPort( port );
-        message.setCacheNames( cacheNames );
-        message.setRequesterId( listenerId );
-        message.setMessageType( BroadcastType.REMOVE );
-        send( message );
-    }
-}
-
-/**
- * This allows us to get the byte array from an output stream.
- * <p>
- * @author asmuts
- * @created January 15, 2002
- */
-
-class MyByteArrayOutputStream
-    extends ByteArrayOutputStream
-{
-    /**
-     * Gets the bytes attribute of the MyByteArrayOutputStream object
-     * @return The bytes value
-     */
-    public byte[] getBytes()
-    {
-        return buf;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoverySenderThread.java b/src/org/apache/commons/jcs/utils/discovery/UDPDiscoverySenderThread.java
deleted file mode 100644
index 1332f3b..0000000
--- a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoverySenderThread.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package org.apache.commons.jcs.utils.discovery;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.util.ArrayList;
-
-/**
- * Used to periodically broadcast our location to other caches that might be listening.
- */
-public class UDPDiscoverySenderThread
-    implements Runnable
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( UDPDiscoverySenderThread.class );
-
-    /**
-     * details of the host, port, and service being advertised to listen for TCP socket connections
-     */
-    private final UDPDiscoveryAttributes attributes;
-
-    /** List of known regions. */
-    private ArrayList<String> cacheNames = new ArrayList<String>();
-
-    /**
-     * @param cacheNames The cacheNames to set.
-     */
-    protected void setCacheNames( ArrayList<String> cacheNames )
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "Resetting cacheNames = [" + cacheNames + "]" );
-        }
-        this.cacheNames = cacheNames;
-    }
-
-    /**
-     * @return Returns the cacheNames.
-     */
-    protected ArrayList<String> getCacheNames()
-    {
-        return cacheNames;
-    }
-
-    /**
-     * Constructs the sender with the port to tell others to connect to.
-     * <p>
-     * On construction the sender will request that the other caches let it know their addresses.
-     * @param attributes host, port, etc.
-     * @param cacheNames List of strings of the names of the region participating.
-     */
-    public UDPDiscoverySenderThread( UDPDiscoveryAttributes attributes, ArrayList<String> cacheNames )
-    {
-        this.attributes = attributes;
-
-        this.cacheNames = cacheNames;
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Creating sender thread for discoveryAddress = [" + attributes.getUdpDiscoveryAddr()
-                + "] and discoveryPort = [" + attributes.getUdpDiscoveryPort() + "] myHostName = ["
-                + attributes.getServiceAddress() + "] and port = [" + attributes.getServicePort() + "]" );
-        }
-
-        UDPDiscoverySender sender = null;
-        try
-        {
-            // move this to the run method and determine how often to call it.
-            sender = new UDPDiscoverySender( attributes.getUdpDiscoveryAddr(), attributes.getUdpDiscoveryPort() );
-            sender.requestBroadcast();
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Sent a request broadcast to the group" );
-            }
-        }
-        catch ( Exception e )
-        {
-            log.error( "Problem sending a Request Broadcast", e );
-        }
-        finally
-        {
-            try
-            {
-                if ( sender != null )
-                {
-                    sender.destroy();
-                }
-            }
-            catch ( Exception e )
-            {
-                log.error( "Problem closing Request Broadcast sender", e );
-            }
-        }
-    }
-
-    /**
-     * Send a message.
-     */
-    @Override
-    public void run()
-    {
-        UDPDiscoverySender sender = null;
-        try
-        {
-            // create this connection each time.
-            // more robust
-            sender = new UDPDiscoverySender( attributes.getUdpDiscoveryAddr(), attributes.getUdpDiscoveryPort() );
-
-            sender.passiveBroadcast( attributes.getServiceAddress(), attributes.getServicePort(), cacheNames );
-
-            // todo we should consider sending a request broadcast every so
-            // often.
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Called sender to issue a passive broadcast" );
-            }
-
-        }
-        catch ( Exception e )
-        {
-            log.error( "Problem calling the UDP Discovery Sender [" + attributes.getUdpDiscoveryAddr() + ":"
-                + attributes.getUdpDiscoveryPort() + "]", e );
-        }
-        finally
-        {
-            if (sender != null)
-            {
-                try
-                {
-                    sender.destroy();
-                }
-                catch ( Exception e )
-                {
-                    log.error( "Problem closing Passive Broadcast sender", e );
-                }
-            }
-        }
-    }
-
-    /**
-     * Issues a remove broadcast to the others.
-     */
-    protected void shutdown()
-    {
-        UDPDiscoverySender sender = null;
-        try
-        {
-            // create this connection each time.
-            // more robust
-            sender = new UDPDiscoverySender( attributes.getUdpDiscoveryAddr(), attributes.getUdpDiscoveryPort() );
-
-            sender.removeBroadcast( attributes.getServiceAddress(), attributes.getServicePort(), cacheNames );
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Called sender to issue a remove broadcast in shudown." );
-            }
-        }
-        catch ( Exception e )
-        {
-            log.error( "Problem calling the UDP Discovery Sender", e );
-        }
-        finally
-        {
-            try
-            {
-                if ( sender != null )
-                {
-                    sender.destroy();
-                }
-            }
-            catch ( Exception e )
-            {
-                log.error( "Problem closing Remote Broadcast sender", e );
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryService.java b/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryService.java
deleted file mode 100644
index c802b99..0000000
--- a/src/org/apache/commons/jcs/utils/discovery/UDPDiscoveryService.java
+++ /dev/null
@@ -1,423 +0,0 @@
-package org.apache.commons.jcs.utils.discovery;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArraySet;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.commons.jcs.engine.behavior.IRequireScheduler;
-import org.apache.commons.jcs.engine.behavior.IShutdownObserver;
-import org.apache.commons.jcs.utils.discovery.behavior.IDiscoveryListener;
-import org.apache.commons.jcs.utils.net.HostNameUtil;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This service creates a listener that can create lateral caches and add them to the no wait list.
- * <p>
- * It also creates a sender that periodically broadcasts its availability.
- * <p>
- * The sender also broadcasts a request for other caches to broadcast their addresses.
- * <p>
- * @author Aaron Smuts
- */
-public class UDPDiscoveryService
-    implements IShutdownObserver, IRequireScheduler
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( UDPDiscoveryService.class );
-
-    /** thread that listens for messages */
-    private Thread udpReceiverThread;
-
-    /** the runnable that the receiver thread runs */
-    private UDPDiscoveryReceiver receiver;
-
-    /** the runnable that sends messages via the clock daemon */
-    private UDPDiscoverySenderThread sender = null;
-
-    /** attributes */
-    private UDPDiscoveryAttributes udpDiscoveryAttributes = null;
-
-    /** is this shut down? */
-    private boolean shutdown = false;
-
-    /** This is a set of services that have been discovered. */
-    private Set<DiscoveredService> discoveredServices = new CopyOnWriteArraySet<DiscoveredService>();
-
-    /** This a list of regions that are configured to use discovery. */
-    private final Set<String> cacheNames = new CopyOnWriteArraySet<String>();
-
-    /** Set of listeners. */
-    private final Set<IDiscoveryListener> discoveryListeners = new CopyOnWriteArraySet<IDiscoveryListener>();
-
-    /**
-     * @param attributes
-     */
-    public UDPDiscoveryService( UDPDiscoveryAttributes attributes)
-    {
-        udpDiscoveryAttributes = (UDPDiscoveryAttributes) attributes.clone();
-
-        try
-        {
-            // todo, you should be able to set this
-            udpDiscoveryAttributes.setServiceAddress( HostNameUtil.getLocalHostAddress() );
-        }
-        catch ( UnknownHostException e )
-        {
-            log.error( "Couldn't get localhost address", e );
-        }
-
-        try
-        {
-            // todo need some kind of recovery here.
-            receiver = new UDPDiscoveryReceiver( this, getUdpDiscoveryAttributes().getUdpDiscoveryAddr(),
-                                                 getUdpDiscoveryAttributes().getUdpDiscoveryPort() );
-        }
-        catch ( IOException e )
-        {
-            log.error( "Problem creating UDPDiscoveryReceiver, address ["
-                + getUdpDiscoveryAttributes().getUdpDiscoveryAddr() + "] port ["
-                + getUdpDiscoveryAttributes().getUdpDiscoveryPort() + "] we won't be able to find any other caches", e );
-        }
-
-        // create a sender thread
-        sender = new UDPDiscoverySenderThread( getUdpDiscoveryAttributes(), getCacheNames() );
-    }
-
-    /**
-     * @see org.apache.commons.jcs.engine.behavior.IRequireScheduler#setScheduledExecutorService(java.util.concurrent.ScheduledExecutorService)
-     */
-    @Override
-    public void setScheduledExecutorService(ScheduledExecutorService scheduledExecutor)
-    {
-        if (sender != null)
-        {
-            scheduledExecutor.scheduleAtFixedRate(sender, 0, 15, TimeUnit.SECONDS);
-        }
-
-        /** removes things that have been idle for too long */
-        UDPCleanupRunner cleanup = new UDPCleanupRunner( this );
-        // I'm going to use this as both, but it could happen
-        // that something could hang around twice the time using this as the
-        // delay and the idle time.
-        scheduledExecutor.scheduleAtFixedRate(cleanup, 0, getUdpDiscoveryAttributes().getMaxIdleTimeSec(), TimeUnit.SECONDS);
-    }
-
-    /**
-     * Send a passive broadcast in response to a request broadcast. Never send a request for a
-     * request. We can respond to our own requests, since a request broadcast is not intended as a
-     * connection request. We might want to only send messages, so we would send a request, but
-     * never a passive broadcast.
-     */
-    protected void serviceRequestBroadcast()
-    {
-        UDPDiscoverySender sender1 = null;
-        try
-        {
-            // create this connection each time.
-            // more robust
-            sender1 = new UDPDiscoverySender( getUdpDiscoveryAttributes().getUdpDiscoveryAddr(),
-                                             getUdpDiscoveryAttributes().getUdpDiscoveryPort() );
-
-            sender1.passiveBroadcast( getUdpDiscoveryAttributes().getServiceAddress(), getUdpDiscoveryAttributes()
-                .getServicePort(), this.getCacheNames() );
-
-            // todo we should consider sending a request broadcast every so
-            // often.
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Called sender to issue a passive broadcast" );
-            }
-        }
-        catch ( Exception e )
-        {
-            log.error( "Problem calling the UDP Discovery Sender. address ["
-                + getUdpDiscoveryAttributes().getUdpDiscoveryAddr() + "] port ["
-                + getUdpDiscoveryAttributes().getUdpDiscoveryPort() + "]", e );
-        }
-        finally
-        {
-            try
-            {
-                if ( sender1 != null )
-                {
-                    sender1.destroy();
-                }
-            }
-            catch ( Exception e )
-            {
-                log.error( "Problem closing Passive Broadcast sender, while servicing a request broadcast.", e );
-            }
-        }
-    }
-
-    /**
-     * Adds a region to the list that is participating in discovery.
-     * <p>
-     * @param cacheName
-     */
-    public void addParticipatingCacheName( String cacheName )
-    {
-        cacheNames.add( cacheName );
-        sender.setCacheNames( getCacheNames() );
-    }
-
-    /**
-     * Removes the discovered service from the list and calls the discovery listener.
-     * <p>
-     * @param service
-     */
-    public void removeDiscoveredService( DiscoveredService service )
-    {
-        boolean contained = getDiscoveredServices().remove( service );
-
-        if ( contained )
-        {
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Removing " + service );
-            }
-        }
-
-        for (IDiscoveryListener listener : getDiscoveryListeners())
-        {
-            listener.removeDiscoveredService( service );
-        }
-    }
-
-    /**
-     * Add a service to the list. Update the held copy if we already know about it.
-     * <p>
-     * @param discoveredService discovered service
-     */
-    protected void addOrUpdateService( DiscoveredService discoveredService )
-    {
-        synchronized ( getDiscoveredServices() )
-        {
-            // Since this is a set we can add it over an over.
-            // We want to replace the old one, since we may add info that is not part of the equals.
-            // The equals method on the object being added is intentionally restricted.
-            if ( !getDiscoveredServices().contains( discoveredService ) )
-            {
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Set does not contain service. I discovered " + discoveredService );
-                }
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Adding service in the set " + discoveredService );
-                }
-                getDiscoveredServices().add( discoveredService );
-            }
-            else
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Set contains service." );
-                }
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Updating service in the set " + discoveredService );
-                }
-
-                // Update the list of cache names if it has changed.
-                DiscoveredService theOldServiceInformation = null;
-                // need to update the time this sucks. add has no effect convert to a map
-                for (DiscoveredService service1 : getDiscoveredServices())
-                {
-                    if ( discoveredService.equals( service1 ) )
-                    {
-                        theOldServiceInformation = service1;
-                        break;
-                    }
-                }
-                if ( theOldServiceInformation != null )
-                {
-                    if ( !theOldServiceInformation.getCacheNames().equals( discoveredService.getCacheNames() ) )
-                    {
-                        if ( log.isInfoEnabled() )
-                        {
-                            log.info( "List of cache names changed for service: " + discoveredService );
-                        }
-                    }
-                }
-
-                // replace it, we want to reset the payload and the last heard from time.
-                getDiscoveredServices().remove( discoveredService );
-                getDiscoveredServices().add( discoveredService );
-            }
-        }
-        // Always Notify the listeners
-        // If we don't do this, then if a region using the default config is initialized after notification,
-        // it will never get the service in it's no wait list.
-        // Leave it to the listeners to decide what to do.
-        for (IDiscoveryListener listener : getDiscoveryListeners())
-        {
-            listener.addDiscoveredService( discoveredService );
-        }
-
-    }
-
-    /**
-     * Get all the cache names we have facades for.
-     * <p>
-     * @return ArrayList
-     */
-    protected ArrayList<String> getCacheNames()
-    {
-        ArrayList<String> names = new ArrayList<String>();
-        names.addAll( cacheNames );
-        return names;
-    }
-
-    /**
-     * @param attr The UDPDiscoveryAttributes to set.
-     */
-    public void setUdpDiscoveryAttributes( UDPDiscoveryAttributes attr )
-    {
-        this.udpDiscoveryAttributes = attr;
-    }
-
-    /**
-     * @return Returns the lca.
-     */
-    public UDPDiscoveryAttributes getUdpDiscoveryAttributes()
-    {
-        return this.udpDiscoveryAttributes;
-    }
-
-    /**
-     * Start necessary receiver thread
-     */
-    public void startup()
-    {
-        udpReceiverThread = new Thread( receiver );
-        udpReceiverThread.setDaemon( true );
-        // udpReceiverThread.setName( t.getName() + "--UDPReceiver" );
-        udpReceiverThread.start();
-    }
-
-    /**
-     * Shuts down the receiver.
-     */
-    @Override
-    public void shutdown()
-    {
-        if ( !shutdown )
-        {
-            shutdown = true;
-
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Shutting down UDP discovery service receiver." );
-            }
-
-            try
-            {
-                // no good way to do this right now.
-                receiver.shutdown();
-                udpReceiverThread.interrupt();
-            }
-            catch ( Exception e )
-            {
-                log.error( "Problem interrupting UDP receiver thread." );
-            }
-
-            if ( log.isInfoEnabled() )
-            {
-                log.info( "Shutting down UDP discovery service sender." );
-            }
-
-            // also call the shutdown on the sender thread itself, which
-            // will result in a remove command.
-            try
-            {
-                sender.shutdown();
-            }
-            catch ( Exception e )
-            {
-                log.error( "Problem issuing remove broadcast via UDP sender." );
-            }
-        }
-        else
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Shutdown already called." );
-            }
-        }
-    }
-
-    /**
-     * @return Returns the discoveredServices.
-     */
-    public synchronized Set<DiscoveredService> getDiscoveredServices()
-    {
-        return discoveredServices;
-    }
-
-    /**
-     * @return the discoveryListeners
-     */
-    private Set<IDiscoveryListener> getDiscoveryListeners()
-    {
-        return discoveryListeners;
-    }
-
-    /**
-     * @return the discoveryListeners
-     */
-    public Set<IDiscoveryListener> getCopyOfDiscoveryListeners()
-    {
-        Set<IDiscoveryListener> copy = new HashSet<IDiscoveryListener>();
-        copy.addAll( getDiscoveryListeners() );
-        return copy;
-    }
-
-    /**
-     * Adds a listener.
-     * <p>
-     * @param listener
-     * @return true if it wasn't already in the set
-     */
-    public boolean addDiscoveryListener( IDiscoveryListener listener )
-    {
-        return getDiscoveryListeners().add( listener );
-    }
-
-    /**
-     * Removes a listener.
-     * <p>
-     * @param listener
-     * @return true if it was in the set
-     */
-    public boolean removeDiscoveryListener( IDiscoveryListener listener )
-    {
-        return getDiscoveryListeners().remove( listener );
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/discovery/behavior/IDiscoveryListener.java b/src/org/apache/commons/jcs/utils/discovery/behavior/IDiscoveryListener.java
deleted file mode 100644
index 8a0d9d9..0000000
--- a/src/org/apache/commons/jcs/utils/discovery/behavior/IDiscoveryListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.commons.jcs.utils.discovery.behavior;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.utils.discovery.DiscoveredService;
-
-/**
- * Interface for things that want to listen to discovery events. This will allow discovery to be
- * used outside of the TCP lateral.
- */
-public interface IDiscoveryListener
-{
-    /**
-     * Add the service if needed. This does not necessarily mean that the service is not already
-     * added. This can be called if there is a change in service information, such as the cacheNames.
-     * <p>
-     * @param service the service to add
-     */
-    void addDiscoveredService( DiscoveredService service );
-
-    /**
-     * Remove the service from the list.
-     * <p>
-     * @param service the service to remove
-     */
-    void removeDiscoveredService( DiscoveredService service );
-}
diff --git a/src/org/apache/commons/jcs/utils/net/HostNameUtil.java b/src/org/apache/commons/jcs/utils/net/HostNameUtil.java
deleted file mode 100644
index 7d80df5..0000000
--- a/src/org/apache/commons/jcs/utils/net/HostNameUtil.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package org.apache.commons.jcs.utils.net;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.net.InetAddress;
-import java.net.NetworkInterface;
-import java.net.UnknownHostException;
-import java.util.Enumeration;
-
-/**
- * Simple utility for getting the local host name.
- * <p>
- * @author Aaron Smuts
- */
-public class HostNameUtil
-{
-    /** The logger. */
-    private static final Log log = LogFactory.getLog( HostNameUtil.class );
-
-    /**
-     * Gets the address for the local machine.
-     * <p>
-     * @return InetAddress.getLocalHost().getHostAddress()
-     * @throws UnknownHostException
-     */
-    public static String getLocalHostAddress() throws UnknownHostException
-    {
-        try
-        {
-            String hostAddress = getLocalHostLANAddress().getHostAddress();
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "hostAddress = [" + hostAddress + "]" );
-            }
-            return hostAddress;
-        }
-        catch ( UnknownHostException e1 )
-        {
-            log.error( "Couldn't get localhost address", e1 );
-            throw e1;
-        }
-    }
-
-    /**
-     * Returns an <code>InetAddress</code> object encapsulating what is most likely the machine's
-     * LAN IP address.
-     * <p>
-     * This method is intended for use as a replacement of JDK method
-     * <code>InetAddress.getLocalHost</code>, because that method is ambiguous on Linux systems.
-     * Linux systems enumerate the loopback network interface the same way as regular LAN network
-     * interfaces, but the JDK <code>InetAddress.getLocalHost</code> method does not specify the
-     * algorithm used to select the address returned under such circumstances, and will often return
-     * the loopback address, which is not valid for network communication. Details <a
-     * href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665037">here</a>.
-     * <p>
-     * This method will scan all IP addresses on all network interfaces on the host machine to
-     * determine the IP address most likely to be the machine's LAN address. If the machine has
-     * multiple IP addresses, this method will prefer a site-local IP address (e.g. 192.168.x.x or
-     * 10.10.x.x, usually IPv4) if the machine has one (and will return the first site-local address
-     * if the machine has more than one), but if the machine does not hold a site-local address,
-     * this method will return simply the first non-loopback address found (IPv4 or IPv6). <p/> If
-     * this method cannot find a non-loopback address using this selection algorithm, it will fall
-     * back to calling and returning the result of JDK method <code>InetAddress.getLocalHost</code>.
-     * <p>
-     * <a href="http://issues.apache.org/jira/browse/JCS-40">JIR ISSUE JCS-40</a>
-     * <p>
-     * @return InetAddress
-     * @throws UnknownHostException If the LAN address of the machine cannot be found.
-     */
-    public static InetAddress getLocalHostLANAddress()
-        throws UnknownHostException
-    {
-        try
-        {
-            InetAddress candidateAddress = null;
-            // Iterate all NICs (network interface cards)...
-            for ( Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces(); ifaces.hasMoreElements(); )
-            {
-                NetworkInterface iface = ifaces.nextElement();
-                // Iterate all IP addresses assigned to each card...
-                for ( Enumeration<InetAddress> inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements(); )
-                {
-                    InetAddress inetAddr = inetAddrs.nextElement();
-                    if ( !inetAddr.isLoopbackAddress() )
-                    {
-                        if ( inetAddr.isSiteLocalAddress() )
-                        {
-                            // Found non-loopback site-local address. Return it immediately...
-                            return inetAddr;
-                        }
-                        else if ( candidateAddress == null )
-                        {
-                            // Found non-loopback address, but not necessarily site-local.
-                            // Store it as a candidate to be returned if site-local address is not subsequently found...
-                            candidateAddress = inetAddr;
-                            // Note that we don't repeatedly assign non-loopback non-site-local addresses as candidates,
-                            // only the first. For subsequent iterations, candidate will be non-null.
-                        }
-                    }
-                }
-            }
-            if ( candidateAddress != null )
-            {
-                // We did not find a site-local address, but we found some other non-loopback address.
-                // Server might have a non-site-local address assigned to its NIC (or it might be running
-                // IPv6 which deprecates the "site-local" concept).
-                // Return this non-loopback candidate address...
-                return candidateAddress;
-            }
-            // At this point, we did not find a non-loopback address.
-            // Fall back to returning whatever InetAddress.getLocalHost() returns...
-            InetAddress jdkSuppliedAddress = InetAddress.getLocalHost();
-            if ( jdkSuppliedAddress == null )
-            {
-                throw new UnknownHostException( "The JDK InetAddress.getLocalHost() method unexpectedly returned null." );
-            }
-            return jdkSuppliedAddress;
-        }
-        catch ( Exception e )
-        {
-            UnknownHostException unknownHostException = new UnknownHostException( "Failed to determine LAN address: "
-                + e );
-            unknownHostException.initCause( e );
-            throw unknownHostException;
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/props/AbstractPropertyContainer.java b/src/org/apache/commons/jcs/utils/props/AbstractPropertyContainer.java
deleted file mode 100644
index 0c5f293..0000000
--- a/src/org/apache/commons/jcs/utils/props/AbstractPropertyContainer.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package org.apache.commons.jcs.utils.props;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.access.exception.ConfigurationException;
-
-import java.util.Properties;
-
-/**
- * Provides a mechanism to load properties into objects.
- * <p>
- * Functions that depend on properties should call ensureProperties() before it uses any properties.
- */
-public abstract class AbstractPropertyContainer
-{
-    /** File, db, etc */
-    private static final PropertiesFactory DEFAULT_PROPERTIES_FACTORY = new PropertiesFactoryFileImpl();
-
-    /**
-     * A property group is a subsection of properties. It's sent to the properties factory to
-     * specify which group of properties to pull back. This will probably mean different things to
-     * different property factories. For PropertiesFactoryFileImpl, the propertiesGroup maps to a
-     * filename.
-     */
-    private String propertiesGroup;
-
-    /**
-     * The property heading is used to specify a starting point in the properties object. This is
-     * used so that settings can be relative to this propertiesHeading, as opposed to being
-     * statically coded. There's no enforcement of this, but users are encouraged to call
-     * getProperties().get( getPropertiesHeading() + ".foo" );
-     */
-    private String propertiesHeading;
-
-    /** The factory to use. */
-    private PropertiesFactory propertiesFactory;
-
-    /** The loaded properties. */
-    private Properties properties;
-
-    /**
-     * Makes sure an AbstractPropertyClass has all the properties it needs.
-     * <p>
-     * Synchronized mutators so multiple threads cannot cause problems. We wouldn't want the
-     * properties heading to get changed as we were processing the properties.
-     * <p>
-     * @throws ConfigurationException on configuration failure
-     */
-    public synchronized void ensureProperties()
-        throws ConfigurationException
-    {
-        if ( getProperties() == null )
-        {
-            initializeProperties();
-        }
-    }
-
-    /**
-     * Loads the properties and then calls handleProperties. Typically, you don't need to call this.
-     * This is primarily intended for reinitialization.
-     * <p>
-     * If the properties object is null, when you call ensureProperties initialize will be called.
-     * <p>
-     * @throws ConfigurationException on configuration failure
-     */
-    public synchronized void initializeProperties()
-        throws ConfigurationException
-    {
-        loadProperties();
-
-        handleProperties();
-    }
-
-    /**
-     * This loads the properties regardless of whether or not they have already been loaded.
-     * <p>
-     * @throws ConfigurationException on configuration failure
-     */
-    private void loadProperties()
-        throws ConfigurationException
-    {
-        if ( getPropertiesGroup() == null )
-        {
-            throw new ConfigurationException( "Properties group is null and it shouldn't be" );
-        }
-
-        if ( getPropertiesHeading() == null )
-        {
-            throw new ConfigurationException( "Properties heading is null and it shouldn't be" );
-        }
-
-        if ( getPropertiesFactory() == null )
-        {
-            setProperties( DEFAULT_PROPERTIES_FACTORY.getProperties( getPropertiesGroup() ) );
-        }
-        else
-        {
-            setProperties( getPropertiesFactory().getProperties( getPropertiesGroup() ) );
-        }
-    }
-
-    /**
-     * Sets fields for properties, and verifies that all necessary properties are there.
-     * <p>
-     * @throws ConfigurationException on configuration failure
-     */
-    protected abstract void handleProperties()
-        throws ConfigurationException;
-
-    /**
-     * @return Returns the properties.
-     */
-    public synchronized Properties getProperties()
-    {
-        return properties;
-    }
-
-    /**
-     * @param properties The properties to set.
-     */
-    public synchronized void setProperties( Properties properties )
-    {
-        this.properties = properties;
-    }
-
-    /**
-     * @return Returns the propertiesHeading.
-     */
-    public synchronized String getPropertiesHeading()
-    {
-        return propertiesHeading;
-    }
-
-    /**
-     * @param propertiesHeading The propertiesHeading to set.
-     */
-    public synchronized void setPropertiesHeading( String propertiesHeading )
-    {
-        this.propertiesHeading = propertiesHeading;
-    }
-
-    /**
-     * @return Returns the propertiesFactory.
-     */
-    public PropertiesFactory getPropertiesFactory()
-    {
-        return propertiesFactory;
-    }
-
-    /**
-     * @param propertiesFactory The propertiesFactory to set.
-     */
-    public void setPropertiesFactory( PropertiesFactory propertiesFactory )
-    {
-        this.propertiesFactory = propertiesFactory;
-    }
-
-    /**
-     * @return Returns the propertiesGroup.
-     */
-    public String getPropertiesGroup()
-    {
-        return propertiesGroup;
-    }
-
-    /**
-     * @param propertiesGroup The propertiesGroup to set.
-     */
-    public void setPropertiesGroup( String propertiesGroup )
-    {
-        this.propertiesGroup = propertiesGroup;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/props/PropertiesFactory.java b/src/org/apache/commons/jcs/utils/props/PropertiesFactory.java
deleted file mode 100644
index 96e40de..0000000
--- a/src/org/apache/commons/jcs/utils/props/PropertiesFactory.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.apache.commons.jcs.utils.props;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Properties;
-
-/**
- * Retrieves properties from a configurable source.
- */
-public interface PropertiesFactory
-{
-    /**
-     * Fetches a set of properties for the specified group.
-     * <p>
-     * @param groupName the group to pull properties from.
-     * @return a properties object.
-     */
-    Properties getProperties( String groupName );
-}
diff --git a/src/org/apache/commons/jcs/utils/props/PropertiesFactoryFileImpl.java b/src/org/apache/commons/jcs/utils/props/PropertiesFactoryFileImpl.java
deleted file mode 100644
index 5630ca4..0000000
--- a/src/org/apache/commons/jcs/utils/props/PropertiesFactoryFileImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.commons.jcs.utils.props;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Properties;
-
-/**
- * Goes to the file system to load a properties file.
- */
-public class PropertiesFactoryFileImpl
-    implements PropertiesFactory
-{
-    /**
-     * Loads the properties using the property loader.
-     * @param groupName property group name
-     * @return Properties
-     */
-    @Override
-    public Properties getProperties( String groupName )
-    {
-        return PropertyLoader.loadProperties( groupName );
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/props/PropertyLoader.java b/src/org/apache/commons/jcs/utils/props/PropertyLoader.java
deleted file mode 100644
index 1baaf0a..0000000
--- a/src/org/apache/commons/jcs/utils/props/PropertyLoader.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package org.apache.commons.jcs.utils.props;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.InputStream;
-import java.util.Properties;
-
-/**
- * I modified this class to work with .ccf files in particular. I also removed
- * the resource bundle functionality.
- * <p>
- * A simple class for loading java.util.Properties backed by .ccf files deployed
- * as classpath resources. See individual methods for details.
- * <p>
- * The original source is from:
- * <p>
- * @author (C) <a
- *         href="http://www.javaworld.com/columns/jw-qna-index.shtml">Vlad
- *         Roubtsov </a>, 2003
- */
-public abstract class PropertyLoader
-{
-    /** throw an error if we can load the file */
-    private static final boolean THROW_ON_LOAD_FAILURE = true;
-
-    /** File suffix. */
-    private static final String SUFFIX = ".ccf";
-
-    /** property suffix */
-    private static final String SUFFIX_PROPERTIES = ".properties";
-
-    /**
-     * Looks up a resource named 'name' in the classpath. The resource must map
-     * to a file with .ccf extention. The name is assumed to be absolute and can
-     * use either "/" or "." for package segment separation with an optional
-     * leading "/" and optional ".ccf" suffix.
-     * <p>
-     * The suffix ".ccf" will be appended if it is not set. This can also handle
-     * .properties files
-     * <p>
-     * Thus, the following names refer to the same resource:
-     *
-     * <pre>
-     *
-     *       some.pkg.Resource
-     *       some.pkg.Resource.ccf
-     *       some/pkg/Resource
-     *       some/pkg/Resource.ccf
-     *       /some/pkg/Resource
-     *       /some/pkg/Resource.ccf
-     * </pre>
-     *
-     * @param name
-     *            classpath resource name [may not be null]
-     * @param loader
-     *            classloader through which to load the resource [null is
-     *            equivalent to the application loader]
-     * @return resource converted to java.util.properties [may be null if the
-     *         resource was not found and THROW_ON_LOAD_FAILURE is false]
-     * @throws IllegalArgumentException
-     *             if the resource was not found and THROW_ON_LOAD_FAILURE is
-     *             true
-     */
-    public static Properties loadProperties( String name, ClassLoader loader )
-    {
-        boolean isCCFSuffix = true;
-
-        if ( name == null )
-            throw new IllegalArgumentException( "null input: name" );
-
-        ClassLoader classLoader = ( loader == null ) ? ClassLoader.getSystemClassLoader() : loader;
-
-        String fileName = name.startsWith( "/" ) ? name.substring( 1 ) : name;
-
-        if ( fileName.endsWith( SUFFIX ) )
-        {
-            fileName = fileName.substring( 0, fileName.length() - SUFFIX.length() );
-        }
-
-        if ( fileName.endsWith( SUFFIX_PROPERTIES ) )
-        {
-            fileName = fileName.substring( 0, fileName.length() - SUFFIX_PROPERTIES.length() );
-            isCCFSuffix = false;
-        }
-
-        Properties result = null;
-
-        InputStream in = null;
-        try
-        {
-            fileName = fileName.replace( '.', '/' );
-
-            if ( !fileName.endsWith( SUFFIX ) && isCCFSuffix )
-            {
-                fileName = fileName.concat( SUFFIX );
-            }
-            else if ( !fileName.endsWith( SUFFIX_PROPERTIES ) && !isCCFSuffix )
-            {
-                fileName = fileName.concat( SUFFIX_PROPERTIES );
-            }
-
-            // returns null on lookup failures:
-            in = classLoader.getResourceAsStream( fileName );
-            if ( in != null )
-            {
-                result = new Properties();
-                result.load( in ); // can throw IOException
-            }
-        }
-        catch ( Exception e )
-        {
-            result = null;
-        }
-        finally
-        {
-            if ( in != null )
-                try
-                {
-                    in.close();
-                }
-                catch ( Throwable ignore )
-                {
-                    // swallow
-                }
-        }
-
-        if ( THROW_ON_LOAD_FAILURE && result == null )
-        {
-            throw new IllegalArgumentException( "could not load [" + fileName + "]" + " as " + "a classloader resource" );
-        }
-
-        return result;
-    }
-
-    /**
-     * A convenience overload of {@link #loadProperties(String, ClassLoader)}
-     * that uses the current thread's context classloader. A better strategy
-     * would be to use techniques shown in
-     * http://www.javaworld.com/javaworld/javaqa/2003-06/01-qa-0606-load.html
-     * <p>
-     * @param name
-     * @return Properties
-     */
-    public static Properties loadProperties( final String name )
-    {
-        return loadProperties( name, Thread.currentThread().getContextClassLoader() );
-    }
-
-    /**
-     * Can't use this one.
-     */
-    private PropertyLoader()
-    {
-        super();
-    } // this class is not extentible
-
-}
diff --git a/src/org/apache/commons/jcs/utils/serialization/CompressingSerializer.java b/src/org/apache/commons/jcs/utils/serialization/CompressingSerializer.java
deleted file mode 100644
index e9f6af6..0000000
--- a/src/org/apache/commons/jcs/utils/serialization/CompressingSerializer.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.apache.commons.jcs.utils.serialization;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.io.ObjectInputStreamClassLoaderAware;
-import org.apache.commons.jcs.utils.zip.CompressionUtil;
-
-import java.io.BufferedInputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-
-/**
- * Performs default serialization and de-serialization. It gzips the value.
- */
-public class CompressingSerializer
-    implements IElementSerializer
-{
-    /**
-     * Serializes an object using default serialization. Compresses the byte array.
-     * <p>
-     * @param obj object
-     * @return byte[]
-     * @throws IOException on i/o problem
-     */
-    @Override
-    public <T> byte[] serialize( T obj )
-        throws IOException
-    {
-        byte[] uncompressed = serializeObject( obj );
-        byte[] compressed = CompressionUtil.compressByteArray( uncompressed );
-        return compressed;
-    }
-
-    /**
-     * Does the basic serialization.
-     * <p>
-     * @param obj object
-     * @return byte[]
-     * @throws IOException on i/o problem
-     */
-    protected <T> byte[] serializeObject( T obj )
-        throws IOException
-    {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        ObjectOutputStream oos = new ObjectOutputStream( baos );
-        try
-        {
-            oos.writeObject( obj );
-        }
-        finally
-        {
-            oos.close();
-        }
-        byte[] uncompressed = baos.toByteArray();
-        return uncompressed;
-    }
-
-    /**
-     * Uses default de-serialization to turn a byte array into an object. Decompresses the value
-     * first. All exceptions are converted into IOExceptions.
-     * <p>
-     * @param data bytes of data
-     * @return Object
-     * @throws IOException on i/o problem
-     * @throws ClassNotFoundException if class is not found during deserialization
-     */
-    @Override
-    public <T> T deSerialize( byte[] data, ClassLoader loader )
-        throws IOException, ClassNotFoundException
-    {
-        if ( data == null )
-        {
-            return null;
-        }
-        byte[] decompressedByteArray = CompressionUtil.decompressByteArray( data );
-        return deserializeObject( decompressedByteArray );
-    }
-
-    /**
-     * Does the standard deserialization.
-     * <p>
-     * @param decompressedByteArray array of decompressed bytes
-     * @return Object
-     * @throws IOException on i/o error
-     * @throws ClassNotFoundException if class is not found during deserialization
-     */
-    protected <T> T deserializeObject( byte[] decompressedByteArray )
-        throws IOException, ClassNotFoundException
-    {
-        ByteArrayInputStream bais = new ByteArrayInputStream( decompressedByteArray );
-        BufferedInputStream bis = new BufferedInputStream( bais );
-        ObjectInputStream ois = new ObjectInputStreamClassLoaderAware( bis, null );
-
-        try
-        {
-            @SuppressWarnings("unchecked") // Need to cast from Object
-            T readObject = (T) ois.readObject();
-            return readObject;
-        }
-        finally
-        {
-            ois.close();
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/serialization/SerializationConversionUtil.java b/src/org/apache/commons/jcs/utils/serialization/SerializationConversionUtil.java
deleted file mode 100644
index 35c945c..0000000
--- a/src/org/apache/commons/jcs/utils/serialization/SerializationConversionUtil.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package org.apache.commons.jcs.utils.serialization;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.CacheElement;
-import org.apache.commons.jcs.engine.CacheElementSerialized;
-import org.apache.commons.jcs.engine.behavior.ICacheElement;
-import org.apache.commons.jcs.engine.behavior.ICacheElementSerialized;
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-
-/**
- * This uses a supplied Serializer to convert to and from cache elements.
- * <p>
- * @author Aaron Smuts
- */
-public class SerializationConversionUtil
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( SerializationConversionUtil.class );
-
-    /**
-     * This returns a wrapper that has a serialized version of the value instead
-     * of the value.
-     * <p>
-     * @param element
-     * @param elementSerializer
-     *            the serializer to be used.
-     * @return null for null;
-     * @throws IOException
-     */
-    public static <K, V> ICacheElementSerialized<K, V> getSerializedCacheElement( ICacheElement<K, V> element,
-                                                                    IElementSerializer elementSerializer )
-        throws IOException
-    {
-        if ( element == null )
-        {
-            return null;
-        }
-
-        byte[] serializedValue = null;
-
-        // if it has already been serialized, don't do it again.
-        if ( element instanceof ICacheElementSerialized )
-        {
-            serializedValue = ( (ICacheElementSerialized<K, V>) element ).getSerializedValue();
-        }
-        else
-        {
-            if ( elementSerializer != null )
-            {
-                try
-                {
-                    serializedValue = elementSerializer.serialize( element.getVal() );
-                }
-                catch ( IOException e )
-                {
-                    log.error( "Problem serializing object.", e );
-                    throw e;
-                }
-            }
-            else
-            {
-                // we could just use the default.
-                log.warn( "ElementSerializer is null.  Could not serialize object." );
-                throw new IOException( "Could not serialize object.  The ElementSerializer is null." );
-            }
-        }
-        ICacheElementSerialized<K, V> serialized = new CacheElementSerialized<K, V>(
-                element.getCacheName(), element.getKey(), serializedValue, element.getElementAttributes() );
-
-        return serialized;
-    }
-
-    /**
-     * This returns a wrapper that has a de-serialized version of the value
-     * instead of the serialized value.
-     * <p>
-     * @param serialized
-     * @param elementSerializer
-     *            the serializer to be used.
-     * @return null for null;
-     * @throws IOException
-     * @throws ClassNotFoundException
-     */
-    public static <K, V> ICacheElement<K, V> getDeSerializedCacheElement( ICacheElementSerialized<K, V> serialized,
-                                                            IElementSerializer elementSerializer )
-        throws IOException, ClassNotFoundException
-    {
-        if ( serialized == null )
-        {
-            return null;
-        }
-
-        V deSerializedValue = null;
-
-        if ( elementSerializer != null )
-        {
-            try
-            {
-                try
-                {
-                    deSerializedValue = elementSerializer.deSerialize( serialized.getSerializedValue(), null );
-                }
-                catch ( ClassNotFoundException e )
-                {
-                    log.error( "Problem de-serializing object.", e );
-                    throw e;
-                }
-            }
-            catch ( IOException e )
-            {
-                log.error( "Problem de-serializing object.", e );
-                throw e;
-            }
-        }
-        else
-        {
-            // we could just use the default.
-            log.warn( "ElementSerializer is null.  Could not serialize object." );
-        }
-        ICacheElement<K, V> deSerialized = new CacheElement<K, V>( serialized.getCacheName(), serialized.getKey(), deSerializedValue );
-        deSerialized.setElementAttributes( serialized.getElementAttributes() );
-
-        return deSerialized;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/serialization/StandardSerializer.java b/src/org/apache/commons/jcs/utils/serialization/StandardSerializer.java
deleted file mode 100644
index 455b962..0000000
--- a/src/org/apache/commons/jcs/utils/serialization/StandardSerializer.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.apache.commons.jcs.utils.serialization;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.io.ObjectInputStreamClassLoaderAware;
-
-import java.io.BufferedInputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-
-/**
- * Performs default serialization and de-serialization.
- * <p>
- * @author Aaron Smuts
- */
-public class StandardSerializer
-    implements IElementSerializer
-{
-    /**
-     * Serializes an object using default serialization.
-     * <p>
-     * @param obj
-     * @return byte[]
-     * @throws IOException
-     */
-    @Override
-    public <T> byte[] serialize( T obj )
-        throws IOException
-    {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        ObjectOutputStream oos = new ObjectOutputStream( baos );
-        try
-        {
-            oos.writeObject( obj );
-        }
-        finally
-        {
-            oos.close();
-        }
-        return baos.toByteArray();
-    }
-
-    /**
-     * Uses default de-serialization to turn a byte array into an object. All exceptions are
-     * converted into IOExceptions.
-     * <p>
-     * @param data
-     * @return Object
-     * @throws IOException
-     * @throws ClassNotFoundException
-     */
-    @Override
-    public <T> T deSerialize( byte[] data, ClassLoader loader )
-        throws IOException, ClassNotFoundException
-    {
-        ByteArrayInputStream bais = new ByteArrayInputStream( data );
-        BufferedInputStream bis = new BufferedInputStream( bais );
-        ObjectInputStream ois = new ObjectInputStreamClassLoaderAware( bis, loader );
-        try
-        {
-            @SuppressWarnings("unchecked") // Need to cast from Object
-            T readObject = (T) ois.readObject();
-            return readObject;
-        }
-        finally
-        {
-            ois.close();
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/servlet/JCSServletContextListener.java b/src/org/apache/commons/jcs/utils/servlet/JCSServletContextListener.java
deleted file mode 100644
index 08eb14e..0000000
--- a/src/org/apache/commons/jcs/utils/servlet/JCSServletContextListener.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.apache.commons.jcs.utils.servlet;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.jcs.access.exception.CacheException;
-import org.apache.commons.jcs.engine.control.CompositeCacheManager;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-
-/**
- * If you add this to the context listeners section of your web.xml file, this will shutdown JCS
- * gracefully.
- * <p>
- * Add the following to the top of your web.xml file.
- *
- * <pre>
- *  <listener>
- *  <listener-class>
- *  org.apache.commons.jcs.utils.servlet.JCSServletContextListener
- *  </listener-class>
- *  </listener>
- * </pre>
- * @author Aaron Smuts
- */
-public class JCSServletContextListener
-    implements ServletContextListener
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( JCSServletContextListener.class );
-
-    /**
-     * This does nothing. We don't want to initialize the cache here.
-     * <p>
-     * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
-     */
-    @Override
-    public void contextInitialized( ServletContextEvent arg0 )
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "contextInitialized" );
-        }
-    }
-
-    /**
-     * This gets the singleton instance of the CompositeCacheManager and calls shutdown.
-     * <p>
-     * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
-     */
-    @Override
-    public void contextDestroyed( ServletContextEvent arg0 )
-    {
-        if ( log.isInfoEnabled() )
-        {
-            log.info( "contextDestroyed, shutting down JCS." );
-        }
-
-        try
-        {
-            CompositeCacheManager.getInstance().shutDown();
-        }
-        catch (CacheException e)
-        {
-            log.error( "Could not retrieve cache manager instance", e );
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/struct/AbstractLRUMap.java b/src/org/apache/commons/jcs/utils/struct/AbstractLRUMap.java
deleted file mode 100644
index c747f4c..0000000
--- a/src/org/apache/commons/jcs/utils/struct/AbstractLRUMap.java
+++ /dev/null
@@ -1,668 +0,0 @@
-package org.apache.commons.jcs.utils.struct;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.apache.commons.jcs.engine.control.group.GroupAttrName;
-import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
-import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
-import org.apache.commons.jcs.engine.stats.behavior.IStats;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This is a simple LRUMap. It implements most of the map methods. It is not recommended that you
- * use any but put, get, remove, and clear.
- * <p>
- * Children can implement the processRemovedLRU method if they want to handle the removal of the
- * lest recently used item.
- * <p>
- * This class was abstracted out of the LRU Memory cache. Put, remove, and get should be thread
- * safe. It uses a hashtable and our own double linked list.
- * <p>
- * Locking is done on the instance.
- * <p>
- * @author aaron smuts
- */
-public abstract class AbstractLRUMap<K, V>
-    implements Map<K, V>
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( AbstractLRUMap.class );
-
-    /** double linked list for lru */
-    private final DoubleLinkedList<LRUElementDescriptor<K, V>> list;
-
-    /** Map where items are stored by key. */
-    private Map<K, LRUElementDescriptor<K, V>> map;
-
-    /** stats */
-    int hitCnt = 0;
-
-    /** stats */
-    int missCnt = 0;
-
-    /** stats */
-    int putCnt = 0;
-
-    /** make configurable */
-    private int chunkSize = 1;
-
-    private final Lock lock = new ReentrantLock();
-
-    /**
-     * This creates an unbounded version. Setting the max objects will result in spooling on
-     * subsequent puts.
-     */
-    public AbstractLRUMap()
-    {
-        list = new DoubleLinkedList<LRUElementDescriptor<K, V>>();
-
-        // normal hashtable is faster for
-        // sequential keys.
-        map = new ConcurrentHashMap<K, LRUElementDescriptor<K, V>>();
-    }
-
-
-    /**
-     * This simply returns the number of elements in the map.
-     * <p>
-     * @see java.util.Map#size()
-     */
-    @Override
-    public int size()
-    {
-        return map.size();
-    }
-
-    /**
-     * This removes all the items. It clears the map and the double linked list.
-     * <p>
-     * @see java.util.Map#clear()
-     */
-    @Override
-    public void clear()
-    {
-        lock.lock();
-        try
-        {
-            map.clear();
-            list.removeAll();
-        }
-        finally
-        {
-            lock.unlock();
-        }
-    }
-
-    /**
-     * Returns true if the map is empty.
-     * <p>
-     * @see java.util.Map#isEmpty()
-     */
-    @Override
-    public boolean isEmpty()
-    {
-        return map.isEmpty();
-    }
-
-    /**
-     * Returns true if the map contains an element for the supplied key.
-     * <p>
-     * @see java.util.Map#containsKey(java.lang.Object)
-     */
-    @Override
-    public boolean containsKey( Object key )
-    {
-        return map.containsKey( key );
-    }
-
-    /**
-     * This is an expensive operation that determines if the object supplied is mapped to any key.
-     * <p>
-     * @see java.util.Map#containsValue(java.lang.Object)
-     */
-    @Override
-    public boolean containsValue( Object value )
-    {
-        return map.containsValue( value );
-    }
-
-    /**
-     * @return map.values();
-     */
-    @Override
-    public Collection<V> values()
-    {
-        List<V> valueList = new ArrayList<V>(map.size());
-
-        for (LRUElementDescriptor<K, V> value : map.values())
-        {
-            valueList.add(value.getPayload());
-        }
-
-        return valueList;
-    }
-
-    /**
-     * @param source
-     */
-    @Override
-    public void putAll( Map<? extends K, ? extends V> source )
-    {
-        if ( source != null )
-        {
-            for (Map.Entry<? extends K, ? extends V> entry : source.entrySet())
-            {
-                this.put( entry.getKey(), entry.getValue() );
-            }
-        }
-    }
-
-    /**
-     * @param key
-     * @return Object
-     */
-    @Override
-    public V get( Object key )
-    {
-        V retVal = null;
-
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "getting item  for key " + key );
-        }
-
-        LRUElementDescriptor<K, V> me = map.get( key );
-
-        if ( me != null )
-        {
-            hitCnt++;
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "LRUMap hit for " + key );
-            }
-
-            retVal = me.getPayload();
-
-            list.makeFirst( me );
-        }
-        else
-        {
-            missCnt++;
-            log.debug( "LRUMap miss for " + key );
-        }
-
-        // verifyCache();
-        return retVal;
-    }
-
-    /**
-     * This gets an element out of the map without adjusting it's position in the LRU. In other
-     * words, this does not count as being used. If the element is the last item in the list, it
-     * will still be the last time in the list.
-     * <p>
-     * @param key
-     * @return Object
-     */
-    public V getQuiet( Object key )
-    {
-        V ce = null;
-
-        LRUElementDescriptor<K, V> me = map.get( key );
-        if ( me != null )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "LRUMap quiet hit for " + key );
-            }
-
-            ce = me.getPayload();
-        }
-        else if ( log.isDebugEnabled() )
-        {
-            log.debug( "LRUMap quiet miss for " + key );
-        }
-
-        return ce;
-    }
-
-    /**
-     * @param key
-     * @return Object removed
-     */
-    @Override
-    public V remove( Object key )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "removing item for key: " + key );
-        }
-
-        // remove single item.
-        lock.lock();
-        try
-        {
-            LRUElementDescriptor<K, V> me = map.remove(key);
-
-            if (me != null)
-            {
-                list.remove(me);
-                return me.getPayload();
-            }
-        }
-        finally
-        {
-            lock.unlock();
-        }
-
-        return null;
-    }
-
-    /**
-     * @param key
-     * @param value
-     * @return Object
-     */
-    @Override
-    public V put(K key, V value)
-    {
-        putCnt++;
-
-        LRUElementDescriptor<K, V> old = null;
-        lock.lock();
-        try
-        {
-            // TODO address double synchronization of addFirst, use write lock
-            addFirst( key, value );
-            // this must be synchronized
-            LRUElementDescriptor<K, V> first = list.getFirst();
-            old = map.put(first.getKey(), first);
-
-            // If the node was the same as an existing node, remove it.
-            if ( old != null && first.getKey().equals(old.getKey()))
-            {
-                list.remove( old );
-            }
-        }
-        finally
-        {
-            lock.unlock();
-        }
-
-        // If the element limit is reached, we need to spool
-
-        if (shouldRemove())
-        {
-            if (log.isDebugEnabled())
-            {
-                log.debug( "In memory limit reached, removing least recently used." );
-            }
-
-            // The spool will put them in a disk event queue, so there is no
-            // need to pre-queue the queuing. This would be a bit wasteful
-            // and wouldn't save much time in this synchronous call.
-
-            while ( shouldRemove() )
-            {
-                lock.lock();
-                try
-                {
-                    LRUElementDescriptor<K, V> last = list.getLast();
-                    if (last != null)
-                    {
-                        processRemovedLRU(last.getKey(), last.getPayload());
-                        if (map.remove(last.getKey()) == null)
-                        {
-                            log.warn("update: remove failed for key: "
-                                    + last.getKey());
-                            verifyCache();
-                        }
-                        list.removeLast();
-                    }
-                    else
-                    {
-                        verifyCache();
-                        throw new Error("update: last is null!");
-                    }
-                }
-                finally
-                {
-                    lock.unlock();
-                }
-            }
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "update: After spool map size: " + map.size() );
-            }
-            if ( map.size() != dumpCacheSize() )
-            {
-                log.error("update: After spool, size mismatch: map.size() = " + map.size() + ", linked list size = "
-                        + dumpCacheSize());
-            }
-        }
-
-        if ( old != null )
-        {
-            return old.getPayload();
-        }
-        return null;
-    }
-
-    protected abstract boolean shouldRemove();
-
-
-    /**
-     * Adds a new node to the start of the link list.
-     * <p>
-     * @param key
-     * @param val The feature to be added to the First
-     */
-    private void addFirst(K key, V val)
-    {
-        lock.lock();
-        try
-        {
-            LRUElementDescriptor<K, V> me = new LRUElementDescriptor<K, V>(key, val);
-            list.addFirst( me );
-        }
-        finally
-        {
-            lock.unlock();
-        }
-    }
-
-    /**
-     * Returns the size of the list.
-     * <p>
-     * @return int
-     */
-    private int dumpCacheSize()
-    {
-        return list.size();
-    }
-
-    /**
-     * Dump the cache entries from first to list for debugging.
-     */
-    @SuppressWarnings("unchecked") // No generics for public fields
-    public void dumpCacheEntries()
-    {
-        log.debug( "dumpingCacheEntries" );
-        for ( LRUElementDescriptor<K, V> me = list.getFirst(); me != null; me = (LRUElementDescriptor<K, V>) me.next )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "dumpCacheEntries> key=" + me.getKey() + ", val=" + me.getPayload() );
-            }
-        }
-    }
-
-    /**
-     * Dump the cache map for debugging.
-     */
-    public void dumpMap()
-    {
-        log.debug( "dumpingMap" );
-        for (Map.Entry<K, LRUElementDescriptor<K, V>> e : map.entrySet())
-        {
-            LRUElementDescriptor<K, V> me = e.getValue();
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "dumpMap> key=" + e.getKey() + ", val=" + me.getPayload() );
-            }
-        }
-    }
-
-    /**
-     * Checks to see if all the items that should be in the cache are. Checks consistency between
-     * List and map.
-     */
-    @SuppressWarnings("unchecked") // No generics for public fields
-    protected void verifyCache()
-    {
-        if ( !log.isDebugEnabled() )
-        {
-            return;
-        }
-
-        boolean found = false;
-        log.debug( "verifycache: mapContains " + map.size() + " elements, linked list contains " + dumpCacheSize()
-            + " elements" );
-        log.debug( "verifycache: checking linked list by key " );
-        for (LRUElementDescriptor<K, V> li = list.getFirst(); li != null; li = (LRUElementDescriptor<K, V>) li.next )
-        {
-            K key = li.getKey();
-            if ( !map.containsKey( key ) )
-            {
-                log.error( "verifycache: map does not contain key : " + li.getKey() );
-                log.error( "li.hashcode=" + li.getKey().hashCode() );
-                log.error( "key class=" + key.getClass() );
-                log.error( "key hashcode=" + key.hashCode() );
-                log.error( "key toString=" + key.toString() );
-                if ( key instanceof GroupAttrName )
-                {
-                    GroupAttrName<?> name = (GroupAttrName<?>) key;
-                    log.error( "GroupID hashcode=" + name.groupId.hashCode() );
-                    log.error( "GroupID.class=" + name.groupId.getClass() );
-                    log.error( "AttrName hashcode=" + name.attrName.hashCode() );
-                    log.error( "AttrName.class=" + name.attrName.getClass() );
-                }
-                dumpMap();
-            }
-            else if ( map.get( li.getKey() ) == null )
-            {
-                log.error( "verifycache: linked list retrieval returned null for key: " + li.getKey() );
-            }
-        }
-
-        log.debug( "verifycache: checking linked list by value " );
-        for (LRUElementDescriptor<K, V> li3 = list.getFirst(); li3 != null; li3 = (LRUElementDescriptor<K, V>) li3.next )
-        {
-            if ( map.containsValue( li3 ) == false )
-            {
-                log.error( "verifycache: map does not contain value : " + li3 );
-                dumpMap();
-            }
-        }
-
-        log.debug( "verifycache: checking via keysets!" );
-        for (Iterator<K> itr2 = map.keySet().iterator(); itr2.hasNext(); )
-        {
-            found = false;
-            Serializable val = null;
-            try
-            {
-                val = (Serializable) itr2.next();
-            }
-            catch ( NoSuchElementException nse )
-            {
-                log.error( "verifycache: no such element exception" );
-                continue;
-            }
-
-            for (LRUElementDescriptor<K, V> li2 = list.getFirst(); li2 != null; li2 = (LRUElementDescriptor<K, V>) li2.next )
-            {
-                if ( val.equals( li2.getKey() ) )
-                {
-                    found = true;
-                    break;
-                }
-            }
-            if ( !found )
-            {
-                log.error( "verifycache: key not found in list : " + val );
-                dumpCacheEntries();
-                if ( map.containsKey( val ) )
-                {
-                    log.error( "verifycache: map contains key" );
-                }
-                else
-                {
-                    log.error( "verifycache: map does NOT contain key, what the HECK!" );
-                }
-            }
-        }
-    }
-
-    /**
-     * Logs an error is an element that should be in the cache is not.
-     * <p>
-     * @param key
-     */
-    @SuppressWarnings("unchecked") // No generics for public fields
-    protected void verifyCache( Object key )
-    {
-        if ( !log.isDebugEnabled() )
-        {
-            return;
-        }
-
-        boolean found = false;
-
-        // go through the linked list looking for the key
-        for (LRUElementDescriptor<K, V> li = list.getFirst(); li != null; li = (LRUElementDescriptor<K, V>) li.next )
-        {
-            if ( li.getKey() == key )
-            {
-                found = true;
-                log.debug( "verifycache(key) key match: " + key );
-                break;
-            }
-        }
-        if ( !found )
-        {
-            log.error( "verifycache(key), couldn't find key! : " + key );
-        }
-    }
-
-    /**
-     * This is called when an item is removed from the LRU. We just log some information.
-     * <p>
-     * Children can implement this method for special behavior.
-     * @param key
-     * @param value
-     */
-    protected void processRemovedLRU(K key, V value )
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Removing key: [" + key + "] from LRUMap store, value = [" + value + "]" );
-            log.debug( "LRUMap store size: '" + this.size() + "'." );
-        }
-    }
-
-    /**
-     * The chunk size is the number of items to remove when the max is reached. By default it is 1.
-     * <p>
-     * @param chunkSize The chunkSize to set.
-     */
-    public void setChunkSize( int chunkSize )
-    {
-        this.chunkSize = chunkSize;
-    }
-
-    /**
-     * @return Returns the chunkSize.
-     */
-    public int getChunkSize()
-    {
-        return chunkSize;
-    }
-
-    /**
-     * @return IStats
-     */
-    public IStats getStatistics()
-    {
-        IStats stats = new Stats();
-        stats.setTypeName( "LRUMap" );
-
-        ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
-
-        elems.add(new StatElement<Integer>( "List Size", Integer.valueOf(list.size()) ) );
-        elems.add(new StatElement<Integer>( "Map Size", Integer.valueOf(map.size()) ) );
-        elems.add(new StatElement<Integer>( "Put Count", Integer.valueOf(putCnt) ) );
-        elems.add(new StatElement<Integer>( "Hit Count", Integer.valueOf(hitCnt) ) );
-        elems.add(new StatElement<Integer>( "Miss Count", Integer.valueOf(missCnt) ) );
-
-        stats.setStatElements( elems );
-
-        return stats;
-    }
-
-    /**
-     * This returns a set of entries. Our LRUMapEntry is used since the value stored in the
-     * underlying map is a node in the double linked list. We wouldn't want to return this to the
-     * client, so we construct a new entry with the payload of the node.
-     * <p>
-     * TODO we should return out own set wrapper, so we can avoid the extra object creation if it
-     * isn't necessary.
-     * <p>
-     * @see java.util.Map#entrySet()
-     */
-    @Override
-    public Set<Map.Entry<K, V>> entrySet()
-    {
-        lock.lock();
-        try
-        {
-            // TODO we should return a defensive copy
-            Set<Map.Entry<K, LRUElementDescriptor<K, V>>> entries = map.entrySet();
-            Set<Map.Entry<K, V>> unWrapped = new HashSet<Map.Entry<K, V>>();
-
-            for (Map.Entry<K, LRUElementDescriptor<K, V>> pre : entries) {
-                Map.Entry<K, V> post = new LRUMapEntry<K, V>(pre.getKey(), pre.getValue().getPayload());
-                unWrapped.add(post);
-            }
-
-            return unWrapped;
-        }
-        finally
-        {
-            lock.unlock();
-        }
-    }
-
-    /**
-     * @return map.keySet();
-     */
-    @Override
-    public Set<K> keySet()
-    {
-        // TODO fix this, it needs to return the keys inside the wrappers.
-        return map.keySet();
-    }
-
-}
diff --git a/src/org/apache/commons/jcs/utils/struct/BoundedQueue.java b/src/org/apache/commons/jcs/utils/struct/BoundedQueue.java
deleted file mode 100644
index 73e4cd5..0000000
--- a/src/org/apache/commons/jcs/utils/struct/BoundedQueue.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package org.apache.commons.jcs.utils.struct;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This is a bounded queue. It only allows maxSize items.
- * <p>
- * @author Aaron Smuts
- */
-public class BoundedQueue<T>
-{
-    /** Queue size limit. */
-    private final int maxSize;
-
-    /** The list backing the queue */
-    private final DoubleLinkedList<DoubleLinkedListNode<T>> list =
-        new DoubleLinkedList<DoubleLinkedListNode<T>>();
-
-    /**
-     * Initialize the bounded queue.
-     * <p>
-     * @param maxSize
-     */
-    public BoundedQueue( int maxSize )
-    {
-        this.maxSize = maxSize;
-    }
-
-    /**
-     * Adds an item to the end of the queue, which is the front of the list.
-     * <p>
-     * @param object
-     */
-    public void add( T object )
-    {
-        if ( list.size() >= maxSize )
-        {
-            list.removeLast();
-        }
-        list.addFirst( new DoubleLinkedListNode<T>( object ) );
-    }
-
-    /**
-     * Takes the last of the underlying double linked list.
-     * <p>
-     * @return null if it is epmpty.
-     */
-    public T take()
-    {
-        DoubleLinkedListNode<T> node = list.removeLast();
-        if ( node != null )
-        {
-            return node.getPayload();
-        }
-        return null;
-    }
-
-    /**
-     * Return the number of items in the queue.
-     * <p>
-     * @return size
-     */
-    public int size()
-    {
-        return list.size();
-    }
-
-    /**
-     * Return true if the size is <= 0;
-     * <p>
-     * @return true is size <= 0;
-     */
-    public boolean isEmpty()
-    {
-        return list.size() <= 0;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/struct/DoubleLinkedList.java b/src/org/apache/commons/jcs/utils/struct/DoubleLinkedList.java
deleted file mode 100644
index e83a82c..0000000
--- a/src/org/apache/commons/jcs/utils/struct/DoubleLinkedList.java
+++ /dev/null
@@ -1,303 +0,0 @@
-package org.apache.commons.jcs.utils.struct;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This is a generic thread safe double linked list. It's very simple and all the operations are so
- * quick that course grained synchronization is more than acceptable.
- */
- at SuppressWarnings({ "unchecked", "rawtypes" }) // Don't know how to resolve this with generics
-public class DoubleLinkedList<T extends DoubleLinkedListNode>
-{
-    /** record size to avoid having to iterate */
-    private int size = 0;
-
-    /** The logger */
-    private static final Log log = LogFactory.getLog( DoubleLinkedList.class );
-
-    /** LRU double linked list head node */
-    private T first;
-
-    /** LRU double linked list tail node */
-    private T last;
-
-    /**
-     * Default constructor.
-     */
-    public DoubleLinkedList()
-    {
-        super();
-    }
-
-    /**
-     * Adds a new node to the end of the link list.
-     * <p>
-     * @param me The feature to be added to the Last
-     */
-    public synchronized void addLast(T me)
-    {
-        if ( first == null )
-        {
-            // empty list.
-            first = me;
-        }
-        else
-        {
-            last.next = me;
-            me.prev = last;
-        }
-        last = me;
-        size++;
-    }
-
-    /**
-     * Adds a new node to the start of the link list.
-     * <p>
-     * @param me The feature to be added to the First
-     */
-    public synchronized void addFirst(T me)
-    {
-        if ( last == null )
-        {
-            // empty list.
-            last = me;
-        }
-        else
-        {
-            first.prev = me;
-            me.next = first;
-        }
-        first = me;
-        size++;
-    }
-
-    /**
-     * Returns the last node from the link list, if there are any nodes.
-     * <p>
-     * @return The last node.
-     */
-    public synchronized T getLast()
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "returning last node" );
-        }
-        return last;
-    }
-
-    /**
-     * Removes the specified node from the link list.
-     * <p>
-     * @return DoubleLinkedListNode, the first node.
-     */
-    public synchronized T getFirst()
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "returning first node" );
-        }
-        return first;
-    }
-
-    /**
-     * Moves an existing node to the start of the link list.
-     * <p>
-     * @param ln The node to set as the head.
-     */
-    public synchronized void makeFirst(T ln)
-    {
-        if ( ln.prev == null )
-        {
-            // already the first node. or not a node
-            return;
-        }
-        // splice: remove it from the list
-        ln.prev.next = ln.next;
-
-        if ( ln.next == null )
-        {
-            // last but not the first.
-            last = (T) ln.prev;
-            last.next = null;
-        }
-        else
-        {
-            // neither the last nor the first.
-            ln.next.prev = ln.prev;
-        }
-        first.prev = ln;
-        ln.next = first;
-        ln.prev = null;
-        first = ln;
-    }
-
-    /**
-     * Moves an existing node to the end of the link list.
-     * <p>
-     * @param ln The node to set as the head.
-     */
-    public synchronized void makeLast(T ln)
-    {
-        if ( ln.next == null )
-        {
-            // already the last node. or not a node
-            return;
-        }
-        // splice: remove it from the list
-        if ( ln.prev != null )
-        {
-            ln.prev.next = ln.next;
-        }
-        else
-        {
-            // first
-            first = last;
-        }
-
-        if ( last != null )
-        {
-            last.next = ln;
-        }
-        ln.prev = last;
-        ln.next = null;
-        last = ln;
-    }
-
-    /**
-     * Remove all of the elements from the linked list implementation.
-     */
-    public synchronized void removeAll()
-    {
-        for (T me = first; me != null; )
-        {
-            if ( me.prev != null )
-            {
-                me.prev = null;
-            }
-            T next = (T) me.next;
-            me = next;
-        }
-        first = last = null;
-        // make sure this will work, could be add while this is happening.
-        size = 0;
-    }
-
-    /**
-     * Removes the specified node from the link list.
-     * <p>
-     * @param me Description of the Parameter
-     * @return true if an element was removed.
-     */
-    public synchronized boolean remove(T me)
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "removing node" );
-        }
-
-        if ( me.next == null )
-        {
-            if ( me.prev == null )
-            {
-                // Make sure it really is the only node before setting head and
-                // tail to null. It is possible that we will be passed a node
-                // which has already been removed from the list, in which case
-                // we should ignore it
-
-                if ( me == first && me == last )
-                {
-                    first = last = null;
-                }
-            }
-            else
-            {
-                // last but not the first.
-                last = (T) me.prev;
-                last.next = null;
-                me.prev = null;
-            }
-        }
-        else if ( me.prev == null )
-        {
-            // first but not the last.
-            first = (T) me.next;
-            first.prev = null;
-            me.next = null;
-        }
-        else
-        {
-            // neither the first nor the last.
-            me.prev.next = me.next;
-            me.next.prev = me.prev;
-            me.prev = me.next = null;
-        }
-        size--;
-
-        return true;
-    }
-
-    /**
-     * Removes the specified node from the link list.
-     * <p>
-     * @return The last node if there was one to remove.
-     */
-    public synchronized T removeLast()
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "removing last node" );
-        }
-        T temp = last;
-        if ( last != null )
-        {
-            remove( last );
-        }
-        return temp;
-    }
-
-    /**
-     * Returns the size of the list.
-     * <p>
-     * @return int
-     */
-    public synchronized int size()
-    {
-        return size;
-    }
-
-    // ///////////////////////////////////////////////////////////////////
-    /**
-     * Dump the cache entries from first to list for debugging.
-     */
-    public synchronized void debugDumpEntries()
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "dumping Entries" );
-            for (T me = first; me != null; me = (T) me.next)
-            {
-                log.debug( "dump Entries> payload= '" + me.getPayload() + "'" );
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/struct/DoubleLinkedListNode.java b/src/org/apache/commons/jcs/utils/struct/DoubleLinkedListNode.java
deleted file mode 100644
index 26d080e..0000000
--- a/src/org/apache/commons/jcs/utils/struct/DoubleLinkedListNode.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.apache.commons.jcs.utils.struct;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-
-/**
- * This serves as a placeholder in a double linked list. You can extend this to
- * add functionality. This allows you to remove in constant time from a linked
- * list.
- * <p>
- * It simply holds the payload and a reference to the items before and after it
- * in the list.
- */
-public class DoubleLinkedListNode<T>
-    implements Serializable
-{
-    /** Dont' change. */
-    private static final long serialVersionUID = -1114934407695836097L;
-
-    /** The object in the node. */
-    private final T payload;
-
-    /** Double Linked list references */
-    public DoubleLinkedListNode<T> prev;
-
-    /** Double Linked list references */
-    public DoubleLinkedListNode<T> next;
-
-    /**
-     * @param payloadP
-     */
-    public DoubleLinkedListNode(T payloadP)
-    {
-        payload = payloadP;
-    }
-
-    /**
-     * @return Object
-     */
-    public T getPayload()
-    {
-        return payload;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/struct/LRUElementDescriptor.java b/src/org/apache/commons/jcs/utils/struct/LRUElementDescriptor.java
deleted file mode 100644
index f728466..0000000
--- a/src/org/apache/commons/jcs/utils/struct/LRUElementDescriptor.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.commons.jcs.utils.struct;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This is a node in the double linked list. It is stored as the value in the underlying map used by
- * the LRUMap class.
- */
-public class LRUElementDescriptor<K, V>
-    extends DoubleLinkedListNode<V>
-{
-    /** Don't change. */
-    private static final long serialVersionUID = 8249555756363020156L;
-
-    /** The key value */
-    private K key;
-
-    /**
-     * @param key
-     * @param payloadP
-     */
-    public LRUElementDescriptor(K key, V payloadP)
-    {
-        super(payloadP);
-        this.setKey(key);
-    }
-
-    /**
-     * @param key The key to set.
-     */
-    public void setKey(K key)
-    {
-        this.key = key;
-    }
-
-    /**
-     * @return Returns the key.
-     */
-    public K getKey()
-    {
-        return key;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/struct/LRUMap.java b/src/org/apache/commons/jcs/utils/struct/LRUMap.java
deleted file mode 100644
index fa100b2..0000000
--- a/src/org/apache/commons/jcs/utils/struct/LRUMap.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.commons.jcs.utils.struct;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- *
- * @author Wiktor Niesiobędzki
- *
- *         Simple LRUMap implementation that keeps the number of the objects below or equal maxObjects
- *
- * @param <K>
- * @param <V>
- */
-public class LRUMap<K, V> extends AbstractLRUMap<K, V>
-{
-
-    /** if the max is less than 0, there is no limit! */
-    int maxObjects = -1;
-    AtomicInteger counter = new AtomicInteger(0);
-
-    public LRUMap()
-    {
-        super();
-    }
-
-    /**
-     *
-     * @param maxObjects
-     *            maximum number to keep in the map
-     */
-    public LRUMap(int maxObjects)
-    {
-        super();
-        this.maxObjects = maxObjects;
-    }
-
-    @Override
-    public boolean shouldRemove()
-    {
-        return maxObjects > 0 && this.size() > maxObjects;
-    }
-
-    public Object getMaxCounter()
-    {
-        return maxObjects;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/struct/LRUMapEntry.java b/src/org/apache/commons/jcs/utils/struct/LRUMapEntry.java
deleted file mode 100644
index 5747244..0000000
--- a/src/org/apache/commons/jcs/utils/struct/LRUMapEntry.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.apache.commons.jcs.utils.struct;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Serializable;
-import java.util.Map.Entry;
-
-/**
- * Entry for the LRUMap.
- * <p>
- * @author Aaron Smuts
- */
-public class LRUMapEntry<K, V>
-    implements Entry<K, V>, Serializable
-{
-    /** Don't change */
-    private static final long serialVersionUID = -8176116317739129331L;
-
-    /** key */
-    private final K key;
-
-    /** value */
-    private V value;
-
-    /**
-     * S
-     * @param key
-     * @param value
-     */
-    public LRUMapEntry(K key, V value)
-    {
-        this.key = key;
-        this.value = value;
-    }
-
-    /**
-     * @return key
-     */
-    @Override
-    public K getKey()
-    {
-        return this.key;
-    }
-
-    /**
-     * @return value
-     */
-    @Override
-    public V getValue()
-    {
-        return this.value;
-    }
-
-    /**
-     * @param valueArg
-     * @return the old value
-     */
-    @Override
-    public V setValue(V valueArg)
-    {
-        V old = this.value;
-        this.value = valueArg;
-        return old;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/struct/SingleLinkedList.java b/src/org/apache/commons/jcs/utils/struct/SingleLinkedList.java
deleted file mode 100644
index 0e0f5f3..0000000
--- a/src/org/apache/commons/jcs/utils/struct/SingleLinkedList.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package org.apache.commons.jcs.utils.struct;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This is an basic thread safe single linked list. It provides very limited functionality. It is
- * small and fast.
- * <p>
- * @author Aaron Smuts
- */
-public class SingleLinkedList<T>
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( SingleLinkedList.class );
-
-    /** for sync */
-    private final Object lock = new Object();
-
-    /** the head of the queue */
-    private Node<T> head = new Node<T>();
-
-    /** the end of the queue */
-    private Node<T> tail = head;
-
-    /** The size of the list */
-    private int size = 0;
-
-    /**
-     * Takes the first item off the list.
-     * <p>
-     * @return null if the list is empty.
-     */
-    public T takeFirst()
-    {
-        synchronized ( lock )
-        {
-            // wait until there is something to read
-            if ( head == tail )
-            {
-                return null;
-            }
-
-            Node<T> node = head.next;
-
-            T value = node.payload;
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "head.payload = " + head.payload );
-                log.debug( "node.payload = " + node.payload );
-            }
-
-            // Node becomes the new head (head is always empty)
-
-            node.payload = null;
-            head = node;
-
-            size--;
-            return value;
-        }
-    }
-
-    /**
-     * Adds an item to the end of the list.
-     * <p>
-     * @param payload
-     */
-    public void addLast( T payload )
-    {
-        Node<T> newNode = new Node<T>();
-
-        newNode.payload = payload;
-
-        synchronized ( lock )
-        {
-            size++;
-            tail.next = newNode;
-            tail = newNode;
-        }
-    }
-
-    /**
-     * Removes everything.
-     */
-    public void clear()
-    {
-        synchronized ( lock )
-        {
-            head = tail;
-            size = 0;
-        }
-    }
-
-    /**
-     * The list is composed of nodes.
-     * <p>
-     * @author Aaron Smuts
-     */
-    protected static class Node<T>
-    {
-        /** next in the list */
-        Node<T> next = null;
-
-        /** The data in this node */
-        T payload;
-    }
-
-    /**
-     * Returns the number of elements in the list.
-     * <p>
-     * @return number of items in the list.
-     */
-    public int size()
-    {
-        return size;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/struct/SortedPreferentialArray.java b/src/org/apache/commons/jcs/utils/struct/SortedPreferentialArray.java
deleted file mode 100644
index 165cf29..0000000
--- a/src/org/apache/commons/jcs/utils/struct/SortedPreferentialArray.java
+++ /dev/null
@@ -1,612 +0,0 @@
-package org.apache.commons.jcs.utils.struct;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This maintains a sorted array with a preferential replacement policy when full.
- * <p>
- * Insertion time is n, search is log(n)
- * <p>
- * Clients must manage thread safety on previous version. I synchronized the public methods to add
- * easy thread safety. I synchronized all public methods that make modifications.
- */
-public class SortedPreferentialArray<T extends Comparable<? super T>>
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( SortedPreferentialArray.class );
-
-    /** prefer large means that the smallest will be removed when full. */
-    private boolean preferLarge = true;
-
-    /** maximum number allowed */
-    private int maxSize = 0;
-
-    /** The currency number */
-    private int curSize = 0;
-
-    /** The primary array */
-    private final T[] array;
-
-    /** the number that have been inserted. */
-    private int insertCnt = 0;
-
-    /**
-     * Construct the array with the maximum size.
-     * <p>
-     * @param maxSize int
-     */
-    public SortedPreferentialArray( int maxSize )
-    {
-        this.maxSize = maxSize;
-        @SuppressWarnings("unchecked") // No generic arrays in java
-        T[] ts = (T[]) new Comparable<?>[maxSize];
-        array = ts;
-    }
-
-    /**
-     * If the array is full this will remove the smallest if preferLarge==true and if obj is bigger,
-     * or the largest if preferLarge=false and obj is smaller than the largest.
-     * <p>
-     * @param obj Object
-     */
-    public synchronized void add(T obj)
-    {
-        if ( obj == null )
-        {
-            return;
-        }
-
-        if ( curSize < maxSize )
-        {
-            insert( obj );
-            return;
-        }
-        if ( preferLarge )
-        {
-            // insert if obj is larger than the smallest
-            T sma = getSmallest();
-            if ( obj.compareTo( sma ) > 0 )
-            {
-                insert( obj );
-                return;
-            }
-            // obj is less than or equal to the smallest.
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "New object is smaller than or equal to the smallest" );
-            }
-            return;
-        }
-        // Not preferLarge
-        T lar = getLargest();
-        // insert if obj is smaller than the largest
-        int diff = obj.compareTo( lar );
-        if ( diff > 0 || diff == 0 )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "New object is larger than or equal to the largest" );
-            }
-            return;
-        }
-        // obj is less than the largest.
-        insert( obj );
-    }
-
-    /**
-     * Returns the largest without removing it from the array.
-     * <p>
-     * @return Comparable
-     */
-    public synchronized T getLargest()
-    {
-        return array[curSize - 1];
-    }
-
-    /**
-     * Returns the smallest element without removing it from the array.
-     * <p>
-     * @return Comparable
-     */
-    public synchronized T getSmallest()
-    {
-        return array[0];
-    }
-
-    /**
-     * Insert looks for the nearest largest. It then determines which way to shuffle depending on
-     * the preference.
-     * <p>
-     * @param obj Comparable
-     */
-    private void insert(T obj)
-    {
-        try
-        {
-            int nLar = findNearestLargerEqualOrLastPosition( obj );
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "nLar = " + nLar + " obj = " + obj );
-            }
-
-            if ( nLar == curSize )
-            {
-                // this next check should be unnecessary
-                // findNearestLargerPosition should only return the curSize if
-                // there is
-                // room left. Check to be safe
-                if ( curSize < maxSize )
-                {
-                    array[nLar] = obj;
-                    curSize++;
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( this.dumpArray() );
-                    }
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Inserted object at the end of the array" );
-                    }
-                    return;
-                } // end if not full
-            }
-
-            boolean isFull = false;
-            if ( curSize == maxSize )
-            {
-                isFull = true;
-            }
-
-            // The array is full, we must replace
-            // remove smallest or largest to determine whether to
-            // shuffle left or right to insert
-            if ( preferLarge )
-            {
-                if ( isFull )
-                {
-                    // is full, prefer larger, remove smallest by shifting left
-                    int pnt = nLar - 1; // set iteration stop point
-                    for ( int i = 0; i < pnt; i++ )
-                    {
-                        array[i] = array[i + 1];
-                    }
-                    // use nLar-1 for insertion point
-                    array[nLar - 1] = obj;
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Inserted object at " + ( nLar - 1 ) );
-                    }
-                }
-                else
-                {
-                    // not full, shift right from spot
-                    int pnt = nLar; // set iteration stop point
-                    for ( int i = curSize; i > pnt; i-- )
-                    {
-                        array[i] = array[i - 1];
-                    }
-                    // use nLar-1 for insertion point
-                    array[nLar] = obj;
-                    curSize++;
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Inserted object at " + ( nLar ) );
-                    }
-                }
-            }
-            else
-            {
-                // prefer smaller, remove largest by shifting right
-                // use nLar for insertion point
-                int pnt = nLar + 1;
-                if ( !isFull )
-                {
-                    pnt = nLar;
-                }
-                for ( int i = curSize; i > pnt; i-- )
-                {
-                    array[i] = array[i - 1];
-                }
-                array[nLar] = obj;
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "Inserted object at " + nLar );
-                }
-            }
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( this.dumpArray() );
-            }
-        }
-        catch ( Exception e )
-        {
-            log.error( "Insertion problem" + this.dumpArray(), e );
-        }
-
-        insertCnt++;
-        if ( insertCnt % 100 == 0 )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( this.dumpArray() );
-            }
-        }
-    }
-
-    /**
-     * Determines whether the preference is for large or small.
-     * <p>
-     * @param pref boolean
-     */
-    public synchronized void setPreferLarge( boolean pref )
-    {
-        preferLarge = pref;
-    }
-
-    /**
-     * Returns and removes the nearer larger or equal object from the aray.
-     * <p>
-     * @param obj Comparable
-     * @return Comparable, null if arg is null or none was found.
-     */
-    public synchronized T takeNearestLargerOrEqual( T obj )
-    {
-        if ( obj == null )
-        {
-            return null;
-        }
-
-        T retVal = null;
-        try
-        {
-            int pos = findNearestOccupiedLargerOrEqualPosition( obj );
-            if ( pos == -1 )
-            {
-                return null;
-            }
-
-            try
-            {
-                retVal = array[pos];
-                remove( pos );
-            }
-            catch ( Exception e )
-            {
-                log.error( "Problem removing from array. pos [" + pos + "] " + obj, e );
-            }
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "obj = " + obj + " || retVal = " + retVal );
-            }
-        }
-        catch ( Exception e )
-        {
-            log.error( "Take problem" + this.dumpArray(), e );
-        }
-        return retVal;
-    }
-
-    /**
-     * Returns the current size of the array.
-     * <p>
-     * @return int
-     */
-    public synchronized int size()
-    {
-        return this.curSize;
-    }
-
-    /**
-     * This determines the position in the array that is occupied by an object that is larger or
-     * equal to the argument. If none exists, -1 is returned.
-     * <p>
-     * @param obj Object
-     * @return Object
-     */
-    private int findNearestOccupiedLargerOrEqualPosition(T obj)
-    {
-        if ( curSize == 0 )
-        {
-            // nothing in the array
-            return -1;
-        }
-
-        // this gives us an insert position.
-        int pos = findNearestLargerEqualOrLastPosition( obj );
-
-        // see if the previous will do to handle the empty insert spot position
-        if ( pos == curSize )
-        { // && curSize < maxSize ) {
-            // pos will be > 0 if it equals curSize, we check for this above.
-            if ( obj.compareTo(array[pos - 1] ) <= 0 )
-            {
-                pos = pos - 1;
-            }
-            else
-            {
-                pos = -1;
-            }
-        }
-        else
-        {
-            // the find nearest, returns the last, since it is used by insertion.
-            if ( obj.compareTo(array[pos] ) > 0 )
-            {
-                return -1;
-            }
-        }
-
-        return pos;
-    }
-
-    /**
-     * This method determines the position where an insert should take place for a given object.
-     * With some additional checking, this can also be used to find an object matching or greater
-     * than the argument.
-     * <p>
-     * If the array is not full and the current object is larger than all the rest the first open
-     * slot at the end will be returned.
-     * <p>
-     * NOTE: If the object is larger than the largest and it is full, it will return the last position.
-     * <p>
-     * If the array is empty, the first spot is returned.
-     * <p>
-     * If the object is smaller than all the rests, the first position is returned. The caller must
-     * decide what to do given the preference.
-     * <p>
-     * Returns the position of the object nearest to or equal to the larger object.
-     * <p>
-     * If you want to find the takePosition, you have to calculate it.
-     * findNearestOccupiedLargerOrEqualPosition will calculate this for you.
-     * <p>
-     * @param obj Comparable
-     * @return int
-     */
-    private int findNearestLargerEqualOrLastPosition(T obj)
-    {
-        // do nothing if a null was passed in
-        if ( obj == null )
-        {
-            return -1;
-        }
-
-        // return the first spot if the array is empty
-        if ( curSize <= 0 )
-        {
-            return 0;
-        }
-
-        // mark the numer to be returned, the greaterPos as unset
-        int greaterPos = -1;
-        // prepare for a binary search
-        int curPos = ( curSize - 1 ) / 2;
-        int prevPos = -1;
-
-        try
-        {
-            // set the loop exit flag to false
-            boolean done = false;
-
-            // check the ends
-            // return insert position 0 if obj is smaller
-            // than the smallest. the caller can determine what to
-            // do with this, depending on the preference setting
-            if ( obj.compareTo( getSmallest() ) <= 0 )
-            {
-                // LESS THAN OR EQUAL TO SMALLEST
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( obj + " is smaller than or equal to " + getSmallest() );
-                }
-                greaterPos = 0;
-                done = true;
-                // return greaterPos;
-            }
-            else
-            {
-                // GREATER THAN SMALLEST
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( obj + " is bigger than " + getSmallest() );
-                }
-
-                // return the largest position if obj is larger
-                // than the largest. the caller can determine what to
-                // do with this, depending on the preference setting
-                if ( obj.compareTo( getLargest() ) >= 0 )
-                {
-                    if ( curSize == maxSize )
-                    {
-                        // there is no room left in the array, return the last
-                        // spot
-                        greaterPos = curSize - 1;
-                        done = true;
-                    }
-                    else
-                    {
-                        // there is room left in the array
-                        greaterPos = curSize;
-                        done = true;
-                    }
-                }
-                else
-                {
-                    // the obj is less than or equal to the largest, so we know that the
-                    // last item is larger or equal
-                    greaterPos = curSize - 1;
-                }
-            }
-
-            // /////////////////////////////////////////////////////////////////////
-            // begin binary search for insertion spot
-            while ( !done )
-            {
-                if ( log.isDebugEnabled() )
-                {
-                    log.debug( "\n curPos = " + curPos + "; greaterPos = " + greaterPos + "; prevpos = " + prevPos );
-                }
-
-                // get out of loop if we have come to the end or passed it
-                if ( curPos == prevPos || curPos >= curSize )
-                {
-                    done = true;
-                    break;
-                }
-                else
-
-                // EQUAL TO
-                // object at current position is equal to the obj, use this,
-                // TODO could avoid some shuffling if I found a lower pos.
-                if (array[curPos].compareTo( obj ) == 0 )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( array[curPos] + " is equal to " + obj );
-                    }
-                    greaterPos = curPos;
-                    done = true;
-                    break;
-                }
-                else
-
-                // GREATER THAN
-                // array object at current position is greater than the obj, go
-                // left
-                if (array[curPos].compareTo( obj ) > 0 )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( array[curPos] + " is greater than " + obj );
-                    }
-                    // set the smallest greater equal to the current position
-                    greaterPos = curPos;
-                    // set the current position to
-                    // set the previous position to the current position
-                    // We could have an integer overflow, but this array could
-                    // never get that large.
-                    int newPos = Math.min( curPos, ( curPos + prevPos ) / 2 );
-                    prevPos = curPos;
-                    curPos = newPos;
-                }
-                else
-
-                // LESS THAN
-                // the object at the current position is smaller, go right
-                if (array[curPos].compareTo( obj ) < 0 )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( array[curPos] + " is less than " + obj );
-                    }
-                    if ( ( greaterPos != -1 ) && greaterPos - curPos < 0 )
-                    {
-                        done = true;
-                        break; // return greaterPos;
-                    }
-                    else
-                    {
-                        int newPos = 0;
-                        if ( prevPos > curPos )
-                        {
-                            newPos = Math.min( ( curPos + prevPos ) / 2, curSize );
-                        }
-                        else if ( prevPos == -1 )
-                        {
-                            newPos = Math.min( ( curSize + curPos ) / 2, curSize );
-                        }
-                        prevPos = curPos;
-                        curPos = newPos;
-                    }
-                }
-            } // end while
-            // /////////////////////////////////////////////////////////////////////
-
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Greater Position is [" + greaterPos + "]" + " array[greaterPos] [" + array[greaterPos]
-                    + "]" );
-            }
-        }
-        catch ( Exception e )
-        {
-            log.error( "\n curPos = " + curPos + "; greaterPos = " + greaterPos + "; prevpos = " + prevPos + " "
-                + this.dumpArray(), e );
-        }
-
-        return greaterPos;
-    }
-
-    /**
-     * Removes the item from the array at the specified position. The remaining items to the right
-     * are shifted left.
-     * <p>
-     * @param position int
-     * @throw IndexOutOfBoundsException if position is out of range.
-     */
-    private void remove( int position )
-    {
-        if ( position >= curSize || position < 0 )
-        {
-            throw new IndexOutOfBoundsException( "position=" + position + " must be less than curSize=" + curSize );
-        }
-        curSize--;
-
-        if ( position < curSize )
-        {
-            try
-            {
-                System.arraycopy( array, position + 1, array, position, ( curSize - position ) );
-            }
-            catch ( IndexOutOfBoundsException ibe )
-            {
-                // throw this, log details for debugging. This shouldn't happen.
-                log.warn( "Caught index out of bounds exception. "
-                    + "called 'System.arraycopy( array, position + 1, array, position, (curSize - position) );'  "
-                    + "array.lengh [" + array.length + "] position [" + position + "] curSize [" + curSize + "]" );
-                throw ibe;
-            }
-        }
-    }
-
-    /**
-     * Debugging method to return a human readable display of array data.
-     * <p>
-     * @return String representation of the contents.
-     */
-    protected synchronized String dumpArray()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "\n ---------------------------" );
-        buf.append( "\n curSize = " + curSize );
-        buf.append( "\n array.length = " + array.length );
-        buf.append( "\n ---------------------------" );
-        buf.append( "\n Dump:" );
-        for ( int i = 0; i < curSize; i++ )
-        {
-            buf.append( "\n " + i + "=" + array[i] );
-        }
-        return buf.toString();
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/threadpool/DaemonThreadFactory.java b/src/org/apache/commons/jcs/utils/threadpool/DaemonThreadFactory.java
deleted file mode 100644
index e1ec271..0000000
--- a/src/org/apache/commons/jcs/utils/threadpool/DaemonThreadFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.apache.commons.jcs.utils.threadpool;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.concurrent.ThreadFactory;
-
-/**
- * Allows us to set the daemon status on the threads.
- * <p>
- * @author aaronsm
- */
-public class DaemonThreadFactory
-    implements ThreadFactory
-{
-    private String prefix;
-    private boolean threadIsDaemon = true;
-    private int threadPriority = Thread.NORM_PRIORITY;
-
-    /**
-     * Constructor
-     *
-     * @param prefix thread name prefix
-     */
-    public DaemonThreadFactory(String prefix)
-    {
-        this(prefix, Thread.NORM_PRIORITY);
-    }
-
-    /**
-     * Constructor
-     *
-     * @param prefix thread name prefix
-     * @param threadPriority set thread priority
-     */
-    public DaemonThreadFactory(String prefix, int threadPriority)
-    {
-        this.prefix = prefix;
-        this.threadPriority = threadPriority;
-    }
-
-    /**
-     * Sets the thread to daemon.
-     * <p>
-     * @param runner
-     * @return a daemon thread
-     */
-    @Override
-    public Thread newThread( Runnable runner )
-    {
-        Thread t = new Thread( runner );
-        String oldName = t.getName();
-        t.setName( prefix + oldName );
-        t.setDaemon(threadIsDaemon);
-        t.setPriority(threadPriority);
-        return t;
-    }
-}
\ No newline at end of file
diff --git a/src/org/apache/commons/jcs/utils/threadpool/PoolConfiguration.java b/src/org/apache/commons/jcs/utils/threadpool/PoolConfiguration.java
deleted file mode 100644
index 05f17e7..0000000
--- a/src/org/apache/commons/jcs/utils/threadpool/PoolConfiguration.java
+++ /dev/null
@@ -1,268 +0,0 @@
-package org.apache.commons.jcs.utils.threadpool;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This object holds configuration data for a thread pool.
- * <p>
- * @author Aaron Smuts
- */
-public final class PoolConfiguration
-    implements Cloneable
-{
-    /** Should we bound the queue */
-    private boolean useBoundary = true;
-
-    /** If the queue is bounded, how big can it get */
-    private int boundarySize = 2000;
-
-    /** only has meaning if a boundary is used */
-    private int maximumPoolSize = 150;
-
-    /**
-     * the exact number that will be used in a boundless queue. If the queue has a boundary, more
-     * will be created if the queue fills.
-     */
-    private int minimumPoolSize = 4;
-
-    /** How long idle threads above the minimum should be kept alive. */
-    private int keepAliveTime = 1000 * 60 * 5;
-
-    public enum WhenBlockedPolicy {
-        /** abort when queue is full and max threads is reached. */
-        ABORT,
-
-        /** block when queue is full and max threads is reached. */
-        BLOCK,
-
-        /** run in current thread when queue is full and max threads is reached. */
-        RUN,
-
-        /** wait when queue is full and max threads is reached. */
-        WAIT,
-
-        /** discard oldest when queue is full and max threads is reached. */
-        DISCARDOLDEST
-    }
-
-    /** should be ABORT, BLOCK, RUN, WAIT, DISCARDOLDEST, */
-    private WhenBlockedPolicy whenBlockedPolicy = WhenBlockedPolicy.RUN;
-
-    /** The number of threads to create on startup */
-    private int startUpSize = 4;
-
-    /**
-     * @param useBoundary The useBoundary to set.
-     */
-    public void setUseBoundary( boolean useBoundary )
-    {
-        this.useBoundary = useBoundary;
-    }
-
-    /**
-     * @return Returns the useBoundary.
-     */
-    public boolean isUseBoundary()
-    {
-        return useBoundary;
-    }
-
-    /**
-     * Default
-     */
-    public PoolConfiguration()
-    {
-        // nop
-    }
-
-    /**
-     * Construct a completely configured instance.
-     * <p>
-     * @param useBoundary
-     * @param boundarySize
-     * @param maximumPoolSize
-     * @param minimumPoolSize
-     * @param keepAliveTime
-     * @param whenBlockedPolicy
-     * @param startUpSize
-     */
-    public PoolConfiguration( boolean useBoundary, int boundarySize, int maximumPoolSize, int minimumPoolSize,
-                              int keepAliveTime, WhenBlockedPolicy whenBlockedPolicy, int startUpSize )
-    {
-        setUseBoundary( useBoundary );
-        setBoundarySize( boundarySize );
-        setMaximumPoolSize( maximumPoolSize );
-        setMinimumPoolSize( minimumPoolSize );
-        setKeepAliveTime( keepAliveTime );
-        setWhenBlockedPolicy( whenBlockedPolicy );
-        setStartUpSize( startUpSize );
-    }
-
-    /**
-     * @param boundarySize The boundarySize to set.
-     */
-    public void setBoundarySize( int boundarySize )
-    {
-        this.boundarySize = boundarySize;
-    }
-
-    /**
-     * @return Returns the boundarySize.
-     */
-    public int getBoundarySize()
-    {
-        return boundarySize;
-    }
-
-    /**
-     * @param maximumPoolSize The maximumPoolSize to set.
-     */
-    public void setMaximumPoolSize( int maximumPoolSize )
-    {
-        this.maximumPoolSize = maximumPoolSize;
-    }
-
-    /**
-     * @return Returns the maximumPoolSize.
-     */
-    public int getMaximumPoolSize()
-    {
-        return maximumPoolSize;
-    }
-
-    /**
-     * @param minimumPoolSize The minimumPoolSize to set.
-     */
-    public void setMinimumPoolSize( int minimumPoolSize )
-    {
-        this.minimumPoolSize = minimumPoolSize;
-    }
-
-    /**
-     * @return Returns the minimumPoolSize.
-     */
-    public int getMinimumPoolSize()
-    {
-        return minimumPoolSize;
-    }
-
-    /**
-     * @param keepAliveTime The keepAliveTime to set.
-     */
-    public void setKeepAliveTime( int keepAliveTime )
-    {
-        this.keepAliveTime = keepAliveTime;
-    }
-
-    /**
-     * @return Returns the keepAliveTime.
-     */
-    public int getKeepAliveTime()
-    {
-        return keepAliveTime;
-    }
-
-    /**
-     * @param whenBlockedPolicy The whenBlockedPolicy to set.
-     */
-    public void setWhenBlockedPolicy( String whenBlockedPolicy )
-    {
-        if ( whenBlockedPolicy != null )
-        {
-            WhenBlockedPolicy policy = WhenBlockedPolicy.valueOf(whenBlockedPolicy.trim().toUpperCase());
-            setWhenBlockedPolicy(policy);
-        }
-        else
-        {
-            // the value is null, default to RUN
-            this.whenBlockedPolicy = WhenBlockedPolicy.RUN;
-        }
-    }
-
-    /**
-     * @param whenBlockedPolicy The whenBlockedPolicy to set.
-     */
-    public void setWhenBlockedPolicy( WhenBlockedPolicy whenBlockedPolicy )
-    {
-        if ( whenBlockedPolicy != null )
-        {
-            this.whenBlockedPolicy = whenBlockedPolicy;
-        }
-        else
-        {
-            // the value is null, default to RUN
-            this.whenBlockedPolicy = WhenBlockedPolicy.RUN;
-        }
-    }
-
-    /**
-     * @return Returns the whenBlockedPolicy.
-     */
-    public WhenBlockedPolicy getWhenBlockedPolicy()
-    {
-        return whenBlockedPolicy;
-    }
-
-    /**
-     * @param startUpSize The startUpSize to set.
-     */
-    public void setStartUpSize( int startUpSize )
-    {
-        this.startUpSize = startUpSize;
-    }
-
-    /**
-     * @return Returns the startUpSize.
-     */
-    public int getStartUpSize()
-    {
-        return startUpSize;
-    }
-
-    /**
-     * To string for debugging purposes.
-     * @return String
-     */
-    @Override
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder();
-        buf.append( "useBoundary = [" + isUseBoundary() + "] " );
-        buf.append( "boundarySize = [" + boundarySize + "] " );
-        buf.append( "maximumPoolSize = [" + maximumPoolSize + "] " );
-        buf.append( "minimumPoolSize = [" + minimumPoolSize + "] " );
-        buf.append( "keepAliveTime = [" + keepAliveTime + "] " );
-        buf.append( "whenBlockedPolicy = [" + getWhenBlockedPolicy() + "] " );
-        buf.append( "startUpSize = [" + startUpSize + "]" );
-        return buf.toString();
-    }
-
-    /**
-     * Copies the instance variables to another instance.
-     * <p>
-     * @return PoolConfiguration
-     */
-    @Override
-    public PoolConfiguration clone()
-    {
-        return new PoolConfiguration( isUseBoundary(), boundarySize, maximumPoolSize, minimumPoolSize, keepAliveTime,
-                                      getWhenBlockedPolicy(), startUpSize );
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/threadpool/ThreadPoolManager.java b/src/org/apache/commons/jcs/utils/threadpool/ThreadPoolManager.java
deleted file mode 100644
index 32020c1..0000000
--- a/src/org/apache/commons/jcs/utils/threadpool/ThreadPoolManager.java
+++ /dev/null
@@ -1,405 +0,0 @@
-package org.apache.commons.jcs.utils.threadpool;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Properties;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.apache.commons.jcs.utils.threadpool.PoolConfiguration.WhenBlockedPolicy;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This manages threadpools for an application
- * <p>
- * It is a singleton since threads need to be managed vm wide.
- * <p>
- * This manager forces you to use a bounded queue. By default it uses the current thread for
- * execution when the buffer is full and no free threads can be created.
- * <p>
- * You can specify the props file to use or pass in a properties object prior to configuration. By
- * default it looks for configuration information in thread_pool.properties.
- * <p>
- * If set, the Properties object will take precedence.
- * <p>
- * If a value is not set for a particular pool, the hard coded defaults will be used.
- *
- * <pre>
- * int boundarySize_DEFAULT = 2000;
- *
- * int maximumPoolSize_DEFAULT = 150;
- *
- * int minimumPoolSize_DEFAULT = 4;
- *
- * int keepAliveTime_DEFAULT = 1000 * 60 * 5;
- *
- * boolean abortWhenBlocked = false;
- *
- * String whenBlockedPolicy_DEFAULT = IPoolConfiguration.POLICY_RUN;
- *
- * int startUpSize_DEFAULT = 4;
- * </pre>
- *
- * You can configure default settings by specifying a default pool in the properties, ie "cache.ccf"
- * <p>
- * @author Aaron Smuts
- */
-public class ThreadPoolManager
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( ThreadPoolManager.class );
-
-    /**
-     * DEFAULT SETTINGS, these are not final since they can be set via the properties file or object
-     */
-    private static boolean useBoundary_DEFAULT = true;
-
-    /** Default queue size limit */
-    private static int boundarySize_DEFAULT = 2000;
-
-    /** Default max size */
-    private static int maximumPoolSize_DEFAULT = 150;
-
-    /** Default min */
-    private static int minimumPoolSize_DEFAULT = 4;
-
-    /** Default keep alive */
-    private static int keepAliveTime_DEFAULT = 1000 * 60 * 5;
-
-    /** Default when blocked */
-    private static WhenBlockedPolicy whenBlockedPolicy_DEFAULT = WhenBlockedPolicy.RUN;
-
-    /** Default startup size */
-    private static int startUpSize_DEFAULT = 4;
-
-    /** The default config, created using property defaults if present, else those above. */
-    private static PoolConfiguration defaultConfig;
-
-    /** the root property name */
-    private static final String PROP_NAME_ROOT = "thread_pool";
-
-    /** default property file name */
-    private static final String DEFAULT_PROP_NAME_ROOT = "thread_pool.default";
-
-    /**
-     * You can specify the properties to be used to configure the thread pool. Setting this post
-     * initialization will have no effect.
-     */
-    private static volatile Properties props = null;
-
-    /** singleton instance */
-    private static ThreadPoolManager INSTANCE = null;
-
-    /** Map of names to pools. */
-    private ConcurrentHashMap<String, ThreadPoolExecutor> pools;
-
-    /** Lock for pools initialization. */
-    private ReentrantLock poolLock;
-
-    /**
-     * No instances please. This is a singleton.
-     */
-    private ThreadPoolManager()
-    {
-        this.pools = new ConcurrentHashMap<String, ThreadPoolExecutor>();
-        this.poolLock = new ReentrantLock();
-        configure();
-    }
-
-    /**
-     * Creates a pool based on the configuration info.
-     * <p>
-     * @param config
-     * @return A ThreadPoll wrapper
-     */
-    private ThreadPoolExecutor createPool( PoolConfiguration config )
-    {
-        BlockingQueue<Runnable> queue = null;
-        if ( config.isUseBoundary() )
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Creating a Bounded Buffer to use for the pool" );
-            }
-
-            queue = new LinkedBlockingQueue<Runnable>(config.getBoundarySize());
-        }
-        else
-        {
-            if ( log.isDebugEnabled() )
-            {
-                log.debug( "Creating a non bounded Linked Queue to use for the pool" );
-            }
-            queue = new LinkedBlockingQueue<Runnable>();
-        }
-
-        ThreadPoolExecutor pool = new ThreadPoolExecutor(
-            config.getStartUpSize(),
-            config.getMaximumPoolSize(),
-            config.getKeepAliveTime(),
-            TimeUnit.MILLISECONDS,
-            queue,
-            new DaemonThreadFactory("JCS-ThreadPoolManager-"));
-
-        // when blocked policy
-        switch (config.getWhenBlockedPolicy())
-        {
-            case ABORT:
-                pool.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy());
-                break;
-
-            case RUN:
-                pool.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
-                break;
-
-            case WAIT:
-                throw new RuntimeException("POLICY_WAIT no longer supported");
-
-            case DISCARDOLDEST:
-                pool.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardOldestPolicy());
-                break;
-
-            default:
-                break;
-        }
-
-        pool.prestartAllCoreThreads();
-
-        return pool;
-    }
-
-    /**
-     * Returns a configured instance of the ThreadPoolManger To specify a configuration file or
-     * Properties object to use call the appropriate setter prior to calling getInstance.
-     * <p>
-     * @return The single instance of the ThreadPoolManager
-     */
-    public static synchronized ThreadPoolManager getInstance()
-    {
-        if ( INSTANCE == null )
-        {
-            INSTANCE = new ThreadPoolManager();
-        }
-        return INSTANCE;
-    }
-
-    /**
-     * Dispose of the instance of the ThreadPoolManger and shut down all thread pools
-     */
-    public static synchronized void dispose()
-    {
-        if ( INSTANCE != null )
-        {
-            for ( String poolName : INSTANCE.getPoolNames())
-            {
-                try
-                {
-                    INSTANCE.getPool(poolName).shutdownNow();
-                }
-                catch (Throwable t)
-                {
-                    log.warn("Failed to close pool " + poolName, t);
-                }
-            }
-
-            INSTANCE = null;
-        }
-    }
-
-    /**
-     * Returns a pool by name. If a pool by this name does not exist in the configuration file or
-     * properties, one will be created using the default values.
-     * <p>
-     * Pools are lazily created.
-     * <p>
-     * @param name
-     * @return The thread pool configured for the name.
-     */
-    public ThreadPoolExecutor getPool( String name )
-    {
-        ThreadPoolExecutor pool = pools.get( name );
-
-        if ( pool == null )
-        {
-            poolLock.lock();
-
-            try
-            {
-                // double check
-                pool = pools.get( name );
-
-                if ( pool == null )
-                {
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "Creating pool for name [" + name + "]" );
-                    }
-
-                    PoolConfiguration config = loadConfig( PROP_NAME_ROOT + "." + name );
-                    pool = createPool( config );
-                    pools.put( name, pool );
-
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug( "PoolName = " + getPoolNames() );
-                    }
-                }
-            }
-            finally
-            {
-                poolLock.unlock();
-            }
-        }
-
-        return pool;
-    }
-
-    /**
-     * Returns the names of all configured pools.
-     * <p>
-     * @return ArrayList of string names
-     */
-    public ArrayList<String> getPoolNames()
-    {
-        return new ArrayList<String>(pools.keySet());
-    }
-
-    /**
-     * This will be used if it is not null on initialization. Setting this post initialization will
-     * have no effect.
-     * <p>
-     * @param props The props to set.
-     */
-    public static void setProps( Properties props )
-    {
-        ThreadPoolManager.props = props;
-    }
-
-    /**
-     * Initialize the ThreadPoolManager and create all the pools defined in the configuration.
-     */
-    private static void configure()
-    {
-        if ( log.isDebugEnabled() )
-        {
-            log.debug( "Initializing ThreadPoolManager" );
-        }
-
-        if ( props == null )
-        {
-            log.warn( "No configuration settings found.  Using hardcoded default values for all pools." );
-            props = new Properties();
-        }
-
-        // set intial default and then override if new
-        // settings are available
-        defaultConfig = new PoolConfiguration( useBoundary_DEFAULT, boundarySize_DEFAULT, maximumPoolSize_DEFAULT,
-                                               minimumPoolSize_DEFAULT, keepAliveTime_DEFAULT,
-                                               whenBlockedPolicy_DEFAULT, startUpSize_DEFAULT );
-
-        defaultConfig = loadConfig( DEFAULT_PROP_NAME_ROOT );
-    }
-
-    /**
-     * Configures the default PoolConfiguration settings.
-     * <p>
-     * @param root
-     * @return PoolConfiguration
-     */
-    private static PoolConfiguration loadConfig( String root )
-    {
-        PoolConfiguration config = defaultConfig.clone();
-
-        try
-        {
-            config.setUseBoundary( Boolean.parseBoolean( props.getProperty( root + ".useBoundary", "false" ) ) );
-        }
-        catch ( NumberFormatException nfe )
-        {
-            log.error( "useBoundary not a boolean.", nfe );
-        }
-
-        // load default if they exist
-        try
-        {
-            config.setBoundarySize( Integer.parseInt( props.getProperty( root + ".boundarySize", "2000" ) ) );
-        }
-        catch ( NumberFormatException nfe )
-        {
-            log.error( "boundarySize not a number.", nfe );
-        }
-
-        // maximum pool size
-        try
-        {
-            config.setMaximumPoolSize( Integer.parseInt( props.getProperty( root + ".maximumPoolSize", "150" ) ) );
-        }
-        catch ( NumberFormatException nfe )
-        {
-            log.error( "maximumPoolSize not a number.", nfe );
-        }
-
-        // minimum pool size
-        try
-        {
-            config.setMinimumPoolSize( Integer.parseInt( props.getProperty( root + ".minimumPoolSize", "4" ) ) );
-        }
-        catch ( NumberFormatException nfe )
-        {
-            log.error( "minimumPoolSize not a number.", nfe );
-        }
-
-        // keep alive
-        try
-        {
-            config.setKeepAliveTime( Integer.parseInt( props.getProperty( root + ".keepAliveTime", "300000" ) ) );
-        }
-        catch ( NumberFormatException nfe )
-        {
-            log.error( "keepAliveTime not a number.", nfe );
-        }
-
-        // when blocked
-        config.setWhenBlockedPolicy( props.getProperty( root + ".whenBlockedPolicy", "RUN" ) );
-
-        // startupsize
-        try
-        {
-            config.setStartUpSize( Integer.parseInt( props.getProperty( root + ".startUpSize", "4" ) ) );
-        }
-        catch ( NumberFormatException nfe )
-        {
-            log.error( "startUpSize not a number.", nfe );
-        }
-
-        if ( log.isInfoEnabled() )
-        {
-            log.info( root + " PoolConfiguration = " + config );
-        }
-
-        return config;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/timing/ElapsedTimer.java b/src/org/apache/commons/jcs/utils/timing/ElapsedTimer.java
deleted file mode 100644
index bd728e9..0000000
--- a/src/org/apache/commons/jcs/utils/timing/ElapsedTimer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.commons.jcs.utils.timing;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This is a simple timer utility.
- */
-public class ElapsedTimer
-{
-    /** display suffix describing the unit of measure. */
-    private static final String SUFFIX = "ms.";
-
-    /**
-     * Sets the start time when created.
-     */
-    private long timeStamp = System.currentTimeMillis();
-
-    /**
-     * Gets the time elapsed between the start time and now. The start time is reset to now.
-     * Subsequent calls will get the time between then and now.
-     * <p>
-     * @return the elapsed time
-     */
-    public long getElapsedTime()
-    {
-        long now = System.currentTimeMillis();
-        long elapsed = now - timeStamp;
-        timeStamp = now;
-        return elapsed;
-    }
-
-    /**
-     * Returns the elapsed time with the display suffix.
-     * <p>
-     * @return formatted elapsed Time
-     */
-    public String getElapsedTimeString()
-    {
-        return String.valueOf( getElapsedTime() ) + SUFFIX;
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/timing/SleepUtil.java b/src/org/apache/commons/jcs/utils/timing/SleepUtil.java
deleted file mode 100644
index e1c09cd..0000000
--- a/src/org/apache/commons/jcs/utils/timing/SleepUtil.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.apache.commons.jcs.utils.timing;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Utility methods to help deal with thread issues.
- */
-public class SleepUtil
-{
-    /**
-     * Sleep for a specified duration in milliseconds. This method is a
-     * platform-specific workaround for Windows due to its inability to resolve
-     * durations of time less than approximately 10 - 16 ms.
-     * <p>
-     * @param milliseconds the number of milliseconds to sleep
-     */
-    public static void sleepAtLeast( long milliseconds )
-    {
-        long endTime = System.currentTimeMillis() + milliseconds;
-
-        while ( System.currentTimeMillis() <= endTime )
-        {
-            try
-            {
-                Thread.sleep( milliseconds );
-            }
-            catch ( InterruptedException e )
-            {
-                // TODO - Do something here?
-            }
-        }
-    }
-}
diff --git a/src/org/apache/commons/jcs/utils/zip/CompressionUtil.java b/src/org/apache/commons/jcs/utils/zip/CompressionUtil.java
deleted file mode 100644
index 93f05fa..0000000
--- a/src/org/apache/commons/jcs/utils/zip/CompressionUtil.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.apache.commons.jcs.utils.zip;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.zip.DataFormatException;
-import java.util.zip.Deflater;
-import java.util.zip.GZIPInputStream;
-import java.util.zip.Inflater;
-
-/** Compress / Decompress. */
-public final class CompressionUtil
-{
-    /** The logger */
-    private static final Log log = LogFactory.getLog( CompressionUtil.class );
-
-    /**
-     * no instances.
-     */
-    private CompressionUtil()
-    {
-        // NO OP
-    }
-
-    /**
-     * Decompress the byte array passed using a default buffer length of 1024.
-     * <p>
-     * @param input compressed byte array webservice response
-     * @return uncompressed byte array
-     */
-    public static byte[] decompressByteArray( final byte[] input )
-    {
-        return decompressByteArray( input, 1024 );
-    }
-
-    /**
-     * Decompress the byte array passed
-     * <p>
-     * @param input compressed byte array webservice response
-     * @param bufferLength buffer length
-     * @return uncompressed byte array
-     */
-    public static byte[] decompressByteArray( final byte[] input, final int bufferLength )
-    {
-        if ( null == input )
-        {
-            throw new IllegalArgumentException( "Input was null" );
-        }
-
-        // Create the decompressor and give it the data to compress
-        final Inflater decompressor = new Inflater();
-
-        decompressor.setInput( input );
-
-        // Create an expandable byte array to hold the decompressed data
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream( input.length );
-
-        // Decompress the data
-        final byte[] buf = new byte[bufferLength];
-
-        try
-        {
-            while ( !decompressor.finished() )
-            {
-                int count = decompressor.inflate( buf );
-                baos.write( buf, 0, count );
-            }
-        }
-        catch ( DataFormatException ex )
-        {
-            log.error( "Problem decompressing.", ex );
-        }
-
-        decompressor.end();
-
-        try
-        {
-            baos.close();
-        }
-        catch ( IOException ex )
-        {
-            log.error( "Problem closing stream.", ex );
-        }
-
-        return baos.toByteArray();
-    }
-
-    /**
-     * Compress the byte array passed
-     * <p>
-     * @param input byte array
-     * @return compressed byte array
-     * @throws IOException thrown if we can't close the output stream
-     */
-    public static byte[] compressByteArray( byte[] input )
-        throws IOException
-    {
-        return compressByteArray( input, 1024 );
-    }
-
-    /**
-     * Compress the byte array passed
-     * <p>
-     * @param input byte array
-     * @param bufferLength buffer length
-     * @return compressed byte array
-     * @throws IOException thrown if we can't close the output stream
-     */
-    public static byte[] compressByteArray( byte[] input, int bufferLength )
-        throws IOException
-    {
-        // Compressor with highest level of compression
-        Deflater compressor = new Deflater();
-        compressor.setLevel( Deflater.BEST_COMPRESSION );
-
-        // Give the compressor the data to compress
-        compressor.setInput( input );
-        compressor.finish();
-
-        // Create an expandable byte array to hold the compressed data.
-        // It is not necessary that the compressed data will be smaller than
-        // the uncompressed data.
-        ByteArrayOutputStream bos = new ByteArrayOutputStream( input.length );
-
-        // Compress the data
-        byte[] buf = new byte[bufferLength];
-        while ( !compressor.finished() )
-        {
-            int count = compressor.deflate( buf );
-            bos.write( buf, 0, count );
-        }
-
-        // JCS-136 ( Details here : http://www.devguli.com/blog/eng/java-deflater-and-outofmemoryerror/ )
-        compressor.end();
-        bos.close();
-
-        // Get the compressed data
-        return bos.toByteArray();
-
-    }
-
-    /**
-     * decompress a gzip byte array, using a default buffer length of 1024
-     * <p>
-     * @param compressedByteArray gzip-compressed byte array
-     * @return decompressed byte array
-     * @throws IOException thrown if there was a failure to construct the GzipInputStream
-     */
-    public static byte[] decompressGzipByteArray( byte[] compressedByteArray )
-        throws IOException
-    {
-        return decompressGzipByteArray( compressedByteArray, 1024 );
-    }
-
-    /**
-     * decompress a gzip byte array, using a default buffer length of 1024
-     * <p>
-     * @param compressedByteArray gzip-compressed byte array
-     * @param bufferlength size of the buffer in bytes
-     * @return decompressed byte array
-     * @throws IOException thrown if there was a failure to construct the GzipInputStream
-     */
-    public static byte[] decompressGzipByteArray( byte[] compressedByteArray, int bufferlength )
-        throws IOException
-    {
-        ByteArrayOutputStream uncompressedStream = new ByteArrayOutputStream();
-
-        GZIPInputStream compressedStream = new GZIPInputStream( new ByteArrayInputStream( compressedByteArray ) );
-
-        byte[] buffer = new byte[bufferlength];
-
-        int index = -1;
-
-        while ( ( index = compressedStream.read( buffer ) ) != -1 )
-        {
-            uncompressedStream.write( buffer, 0, index );
-        }
-
-        return uncompressedStream.toByteArray();
-    }
-}

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