Index: /trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/Main.java	(revision 1511)
+++ /trunk/src/org/openstreetmap/josm/Main.java	(revision 1512)
@@ -424,9 +424,17 @@
     static public String getLanguageCodeU()
     {
-        String languageCode = Locale.getDefault().getLanguage();
+        String languageCode = getLanguageCode();
+        if(languageCode.equals("en"))
+            return "";
         return languageCode.substring(0,1).toUpperCase() + languageCode.substring(1) + ":";
     }
     static public String getLanguageCode()
     {
+        String full = Locale.getDefault().toString();
+        if(full.equals("iw_IL"))
+            return "he";
+        /* list of non-single codes supported by josm */
+        else if(full.equals("en_GB"))
+            return full;
         return Locale.getDefault().getLanguage();
     }
Index: /trunk/src/org/openstreetmap/josm/actions/HelpAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/HelpAction.java	(revision 1511)
+++ /trunk/src/org/openstreetmap/josm/actions/HelpAction.java	(revision 1512)
@@ -172,5 +172,5 @@
         {
             String title = url.substring(i);
-            if(!title.startsWith(languageCode) && !languageCode.equals("En:"))
+            if(languageCode.length() != 0 && !title.startsWith(languageCode))
                 title = languageCode + title;
             langurl = url.substring(0, i) + title;
@@ -195,5 +195,5 @@
           help.read(new StringReader(reader.read(this.url)),
           help.getEditorKit().createDefaultDocument());
-          if(help.getText().indexOf("      Describe ") >= 0)
+          if(help.getText().length() == 0)
           {
               if(lang)
Index: /trunk/src/org/openstreetmap/josm/gui/GettingStarted.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/GettingStarted.java	(revision 1511)
+++ /trunk/src/org/openstreetmap/josm/gui/GettingStarted.java	(revision 1512)
@@ -67,24 +67,18 @@
          */
         protected byte[] updateData() {
-            String motd = "";
-            String baseurl = Main.pref.get("help.baseurl", "http://josm.openstreetmap.de");
-            WikiReader wr = new WikiReader(baseurl);
-            String vers = "";
-            String languageCode = Main.getLanguageCodeU();
-            try {
-                motd = wr.read(baseurl + "/wiki/"+languageCode+"StartupPage");
-            } catch (IOException ioe) {
-                try {
-                    motd = wr.read(baseurl + "/wiki/StartupPage");
-                } catch (IOException ioe2) {
-                    motd = "<html>" + styles + "<body><h1>" +
-                        "JOSM - " + tr("Java OpenStreetMap Editor") +
-                        "</h1>\n<h2 align=\"center\">(" +
-                        tr("Message of the day not available") +
-                        ")</h2></html>";
-                }
+            String motd = new WikiReader().readLang("StartupPage");
+            if(motd.length() == 0)
+            {
+                motd = "<html>" + styles + "<body><h1>" +
+                "JOSM - " + tr("Java OpenStreetMap Editor") +
+                "</h1>\n<h2 align=\"center\">(" +
+                tr("Message of the day not available") +
+                ")</h2></html>";
             }
-            motd = motd.replace("<!-- VERSION -->", tr("- running version is {0}",
-            AboutAction.getVersionString()));
+            else
+            {
+                motd = motd.replace("<!-- VERSION -->", tr("- running version is {0}",
+                AboutAction.getVersionString()));
+            }
             // Save this to prefs in case JOSM is updated so MOTD can be refreshed
             Main.pref.putInteger("cache.motd.html.version", myVersion);
Index: /trunk/src/org/openstreetmap/josm/tools/WikiReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/WikiReader.java	(revision 1511)
+++ /trunk/src/org/openstreetmap/josm/tools/WikiReader.java	(revision 1512)
@@ -6,4 +6,6 @@
 import java.io.InputStreamReader;
 import java.net.URL;
+
+import org.openstreetmap.josm.Main;
 
 /**
@@ -20,4 +22,8 @@
     }
 
+    public WikiReader() {
+        this.baseurl = Main.pref.get("help.baseurl", "http://josm.openstreetmap.de");
+    }
+
     /**
      * Read the page specified by the url and return the content.
@@ -32,6 +38,23 @@
         BufferedReader in = new BufferedReader(new InputStreamReader(new URL(url).openStream(), "utf-8"));
         if (url.startsWith(baseurl) && !url.endsWith("?format=txt"))
-            return readFromTrac(in, url);
+            return readFromTrac(in);
         return readNormal(in);
+    }
+
+    public String readLang(String text) {
+        String languageCode = Main.getLanguageCodeU();
+        String url = baseurl + "/wiki/"+languageCode+text;
+        String res = "";
+        try {
+            res = readFromTrac(new BufferedReader(new InputStreamReader(new URL(url).openStream(), "utf-8")));
+        } catch (IOException ioe) {}
+        if(res.length() == 0 && languageCode.length() != 0)
+        {
+            url = baseurl + "/wiki/"+text;
+            try {
+                res = readFromTrac(new BufferedReader(new InputStreamReader(new URL(url).openStream(), "utf-8")));
+            } catch (IOException ioe) {}
+        }
+        return res;
     }
 
@@ -45,5 +68,5 @@
     }
 
-    private String readFromTrac(BufferedReader in, String url) throws IOException {
+    private String readFromTrac(BufferedReader in) throws IOException {
         boolean inside = false;
         boolean transl = false;
@@ -66,4 +89,6 @@
                 transl = false;
         }
+        if(b.indexOf("      Describe ") >= 0)
+            return "";
         return "<html>" + b + "</html>";
     }
