diff --git a/.tx/config b/.tx/config
index 2ab250f63..649663716 100644
--- a/.tx/config
+++ b/.tx/config
@@ -26,7 +26,7 @@ trans.da = apps/routerconsole/locale/messages_da.po
trans.de = apps/routerconsole/locale/messages_de.po
trans.el = apps/routerconsole/locale/messages_el.po
trans.es = apps/routerconsole/locale/messages_es.po
-trans.et_EE = apps/routerconsole/locale/messages_ee.po
+trans.et_EE = apps/routerconsole/locale/messages_et.po
trans.fi = apps/routerconsole/locale/messages_fi.po
trans.fr = apps/routerconsole/locale/messages_fr.po
trans.hu = apps/routerconsole/locale/messages_hu.po
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java
index 28fa6034a..8ced600bc 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java
@@ -73,7 +73,7 @@ public class ConfigUIHelper extends HelperBase {
* Any language-specific flag added to the icon set must be
* added to the top-level build.xml for the updater.
*/
- private static final String langs[] = {"ar", "cs", "da", "de", "ee", "el", "en", "es", "fi",
+ private static final String langs[] = {"ar", "cs", "da", "de", "et", "el", "en", "es", "fi",
"fr", "hu", "it", "nl", "pl", "pt", "ru",
"sv", "uk", "vi", "zh"};
private static final String flags[] = {"lang_ar", "cz", "dk", "de", "ee", "gr", "us", "es", "fi",
@@ -96,7 +96,7 @@ public class ConfigUIHelper extends HelperBase {
buf.append("checked=\"checked\" ");
buf.append("value=\"").append(langs[i]).append("\">")
.append("
")
- .append(_(xlangs[i])).append("
\n");
+ .append(Messages.getDisplayLanguage(langs[i], xlangs[i], _context)).append("
\n");
}
return buf.toString();
}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/Messages.java b/apps/routerconsole/java/src/net/i2p/router/web/Messages.java
index b50940fab..7becafbe9 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/Messages.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/Messages.java
@@ -39,4 +39,17 @@ public class Messages extends Translate {
public static String getString(int n, String s, String p, I2PAppContext ctx) {
return Translate.getString(n, s, p, ctx, BUNDLE_NAME);
}
+
+ /**
+ * Return the "display language", e.g. "English" for the language specified
+ * by langCode, using the current language.
+ * Uses translation if available, then JVM Locale.getDisplayLanguage() if available, else default param.
+ *
+ * @param langCode two-letter lower-case
+ * @param dflt e.g. "English"
+ * @since 0.9.5
+ */
+ public static String getDisplayLanguage(String langCode, String dflt, I2PAppContext ctx) {
+ return Translate.getDisplayLanguage(langCode, dflt, ctx, BUNDLE_NAME);
+ }
}
diff --git a/apps/routerconsole/jsp/console.jsp b/apps/routerconsole/jsp/console.jsp
index 883c83c56..cff8e1aca 100644
--- a/apps/routerconsole/jsp/console.jsp
+++ b/apps/routerconsole/jsp/console.jsp
@@ -38,7 +38,7 @@
-
+

diff --git a/apps/routerconsole/jsp/home.jsp b/apps/routerconsole/jsp/home.jsp
index b1dd1079b..bb01182cd 100644
--- a/apps/routerconsole/jsp/home.jsp
+++ b/apps/routerconsole/jsp/home.jsp
@@ -65,7 +65,7 @@
-
+

diff --git a/apps/routerconsole/locale/messages_ee.po b/apps/routerconsole/locale/messages_et.po
similarity index 100%
rename from apps/routerconsole/locale/messages_ee.po
rename to apps/routerconsole/locale/messages_et.po
diff --git a/core/java/src/net/i2p/util/Translate.java b/core/java/src/net/i2p/util/Translate.java
index 11fc9d45e..05d345c95 100644
--- a/core/java/src/net/i2p/util/Translate.java
+++ b/core/java/src/net/i2p/util/Translate.java
@@ -163,6 +163,29 @@ public abstract class Translate {
return rv;
}
+ /**
+ * Return the "display language", e.g. "English" for the language specified
+ * by langCode, using the current language.
+ * Uses translation if available, then JVM Locale.getDisplayLanguage() if available, else default param.
+ *
+ * @param langCode two-letter lower-case
+ * @param dflt e.g. "English"
+ * @since 0.9.5
+ */
+ public static String getDisplayLanguage(String langCode, String dflt, I2PAppContext ctx, String bun) {
+ String curLang = getLanguage(ctx);
+ if (!"en".equals(curLang)) {
+ String rv = getString(dflt, ctx, bun);
+ if (!rv.equals(dflt))
+ return rv;
+ Locale curLocale = new Locale(curLang);
+ rv = (new Locale(langCode)).getDisplayLanguage(curLocale);
+ if (rv.length() > 0 && !rv.equals(langCode))
+ return rv;
+ }
+ return dflt;
+ }
+
/**
* Clear the cache.
* Call this after adding new bundles to the classpath.