From 78dcfd830c21eaa926f04582efc1afb173967026 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Tue, 29 Jan 2013 13:44:36 +0000 Subject: [PATCH] * Translations: - Use JVM language name if available - Correct Estonian language code from ee to et --- .tx/config | 2 +- .../net/i2p/router/web/ConfigUIHelper.java | 4 ++-- .../java/src/net/i2p/router/web/Messages.java | 13 +++++++++++ apps/routerconsole/jsp/console.jsp | 2 +- apps/routerconsole/jsp/home.jsp | 2 +- .../locale/{messages_ee.po => messages_et.po} | 0 core/java/src/net/i2p/util/Translate.java | 23 +++++++++++++++++++ 7 files changed, 41 insertions(+), 5 deletions(-) rename apps/routerconsole/locale/{messages_ee.po => messages_et.po} (100%) diff --git a/.tx/config b/.tx/config index 2ab250f630..6496637161 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 28fa6034af..8ced600bc0 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("<img height=\"11\" width=\"16\" alt=\"\" src=\"/flags.jsp?c=").append(flags[i]).append("\"> ") - .append(_(xlangs[i])).append("<br>\n"); + .append(Messages.getDisplayLanguage(langs[i], xlangs[i], _context)).append("<br>\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 b50940fab5..7becafbe9a 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 883c83c56e..cff8e1acaf 100644 --- a/apps/routerconsole/jsp/console.jsp +++ b/apps/routerconsole/jsp/console.jsp @@ -38,7 +38,7 @@ <a href="/console?lang=cs&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=cz" title="ÄeÅ¡tina" alt="ÄeÅ¡tina"></a> <a href="/console?lang=da&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=dk" title="Dansk" alt="Dansk"></a> <a href="/console?lang=de&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=de" title="Deutsch" alt="Deutsch"></a> - <a href="/console?lang=ee&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=ee" title="Eesti" alt="Eesti"></a> + <a href="/console?lang=et&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=ee" title="Eesti" alt="Eesti"></a> <a href="/console?lang=es&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=es" title="Español" alt="Español"></a> <a href="/console?lang=fi&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=fi" title="Suomi" alt="Suomi"></a> <a href="/console?lang=fr&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=fr" title="Français" alt="Français"></a><br> diff --git a/apps/routerconsole/jsp/home.jsp b/apps/routerconsole/jsp/home.jsp index b1dd1079b1..bb01182cd5 100644 --- a/apps/routerconsole/jsp/home.jsp +++ b/apps/routerconsole/jsp/home.jsp @@ -65,7 +65,7 @@ <a href="/home?lang=cs&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=cz" title="ÄŒesky" alt="ÄŒesky"></a> <a href="/home?lang=da&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=dk" title="Dansk" alt="Dansk"></a> <a href="/home?lang=de&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=de" title="Deutsch" alt="Deutsch"></a> - <a href="/home?lang=ee&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=ee" title="Eesti" alt="Eesti"></a> + <a href="/home?lang=et&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=ee" title="Eesti" alt="Eesti"></a> <a href="/home?lang=es&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=es" title="Español" alt="Español"></a> <a href="/home?lang=fi&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=fi" title="Suomi" alt="Suomi"></a> <a href="/home?lang=fr&consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=fr" title="Français" alt="Français"></a><br> 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 11fc9d45e6..05d345c953 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. -- GitLab