Ticket #20467: tr20467.patch

File tr20467.patch, 2.1 KB (added by stoecker, 4 years ago)
  • src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java

     
    11// License: GPL. For details, see LICENSE file.
    22package org.openstreetmap.josm.data.osm;
    33
     4import static org.openstreetmap.josm.tools.I18n.marktr;
    45import static org.openstreetmap.josm.tools.I18n.tr;
    56import static org.openstreetmap.josm.tools.I18n.trc;
    67import static org.openstreetmap.josm.tools.I18n.trcLazy;
     
    231232                    n = way.get("ref");
    232233                }
    233234                if (n == null) {
    234                     n = way.hasKey("highway") ? tr("highway") :
    235                         way.hasKey("railway") ? tr("railway") :
    236                         way.hasKey("waterway") ? tr("waterway") :
    237                         way.hasKey("landuse") ? tr("landuse") : null;
     235                    for (String key : Arrays.asList(marktr("highway"), marktr("railway"), marktr("waterway"), marktr("landuse"))) {
     236                        if (way.hasKey(key) && !way.isKeyFalse(key)) {
     237                            /* I18N: first is highway, railway, waterway or landuse type, second is the type itself */
     238                            n = way.isKeyTrue(key) ? tr(key) : tr("{0} ({1})", trcLazy(key, way.get(key)), tr(key));
     239                            break;
     240                        }
     241                    }
    238242                }
    239243                if (n == null) {
    240244                    n = formatAddress(way);
    241245                }
    242                 if (n == null && way.hasKey("building")) {
    243                     n = tr("building");
     246                if (n == null && way.hasKey("building") && !way.isKeyFalse("building")) {
     247                    n = way.isKeyTrue("building") ? tr("building") : tr("{0} (building)", trc("building", way.get("building")));
    244248                }
    245249                if (n == null || n.isEmpty()) {
    246250                    n = String.valueOf(way.getId());