Index: trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java	(revision 4143)
+++ trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java	(revision 4144)
@@ -4,4 +4,5 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 import static org.openstreetmap.josm.tools.I18n.trc;
+import static org.openstreetmap.josm.tools.I18n.trc_lazy;
 import static org.openstreetmap.josm.tools.I18n.trn;
 
@@ -372,5 +373,5 @@
             return null;
         } else
-            return relation.get(nameTag);
+            return trc_lazy(nameTag, relation.get(nameTag));
     }
 
Index: trunk/src/org/openstreetmap/josm/tools/I18n.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/I18n.java	(revision 4143)
+++ trunk/src/org/openstreetmap/josm/tools/I18n.java	(revision 4144)
@@ -160,4 +160,12 @@
     }
 
+    public static final String trc_lazy(String context, String text) {
+        if (context == null)
+            return tr(text);
+        if (text == null)
+            return null;
+        return MessageFormat.format(gettext_lazy(text, context), (Object)null);
+    }
+
     /**
      * Marks a string for translation (such that a script can harvest
@@ -218,4 +226,27 @@
         }
         return text;
+    }
+
+    /* try without context, when context try fails */
+    private static final String gettext_lazy(String text, String ctx)
+    {
+        int i;
+        if(ctx == null && text.startsWith("_:") && (i = text.indexOf("\n")) >= 0)
+        {
+            ctx = text.substring(2,i-1);
+            text = text.substring(i+1);
+        }
+        if(strings != null)
+        {
+            String trans = strings.get(ctx == null ? text : "_:"+ctx+"\n"+text);
+            if(trans != null)
+                return trans;
+        }
+        if(pstrings != null) {
+            String[] trans = pstrings.get(ctx == null ? text : "_:"+ctx+"\n"+text);
+            if(trans != null)
+                return trans[0];
+        }
+        return gettext(text, null);
     }
 
