Ticket #3261: locale-name.patch

File locale-name.patch, 2.6 KB (added by plaicy, 16 years ago)
  • src/org/openstreetmap/josm/data/osm/Way.java

     
    185185        if (incomplete) {
    186186            name = tr("incomplete");
    187187        } else {
    188             name = get("name");
     188            name = getNameTag();
    189189            if (name == null) {
    190190                name = get("ref");
    191191            }
  • src/org/openstreetmap/josm/data/osm/Relation.java

     
    180180            }
    181181            String nameTag = null;
    182182            for (String n : names) {
    183                 nameTag = get(n);
     183                nameTag = (n=="name") ? getNameTag() : get(n);
    184184                if (nameTag != null) {
    185185                    break;
    186186                }
  • src/org/openstreetmap/josm/data/osm/Node.java

     
    131131        if (incomplete) {
    132132            name = tr("incomplete");
    133133        } else {
    134             name = get("name");
     134            name = getNameTag();
    135135            if (name == null) {
    136136                name = id == 0 ? tr("node") : ""+id;
    137137            }
  • src/org/openstreetmap/josm/data/osm/OsmPrimitive.java

     
    99import java.util.Collections;
    1010import java.util.Date;
    1111import java.util.HashMap;
     12import java.util.Locale;
    1213import java.util.Map;
    1314import java.util.Map.Entry;
    1415
     
    334335        return keys == null ? null : keys.get(key);
    335336    }
    336337
     338    protected String getNameTag() {
     339        String result = null;
     340        if (Main.pref.getBoolean("tags.name.uselocale", true)) {
     341            final String language = Locale.getDefault().getLanguage();
     342            if (language != "") {
     343                result = get("name:" + language);
     344            }
     345        }
     346        if ((result == null) || (result == "")) {
     347            result = get("name");
     348        }
     349        return result;
     350    }
     351
    337352    public final Collection<Entry<String, String>> entrySet() {
    338353        if (keys == null)
    339354            return Collections.emptyList();