diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/views/home.jsp b/openid-connect-server-webapp/src/main/webapp/WEB-INF/views/home.jsp index 363051881..f3e902904 100644 --- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/views/home.jsp +++ b/openid-connect-server-webapp/src/main/webapp/WEB-INF/views/home.jsp @@ -3,7 +3,7 @@ <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="security" uri="http://www.springframework.org/security/tags"%> - +
diff --git a/openid-connect-server-webapp/src/main/webapp/resources/js/locale/en/messages.json b/openid-connect-server-webapp/src/main/webapp/resources/js/locale/en/messages.json index 33f840409..aeeac39d2 100644 --- a/openid-connect-server-webapp/src/main/webapp/resources/js/locale/en/messages.json +++ b/openid-connect-server-webapp/src/main/webapp/resources/js/locale/en/messages.json @@ -363,5 +363,13 @@ "number_clients": "Authorized clients: {0}", "number_approvals": "Approved sites: {0}" } + }, + "topbar": { + "about": "About", + "contact": "Contact", + "statistics": "Statistics", + "home": "Home", + "login": "Log in", + "logout": "Log out" } } \ No newline at end of file diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java index 25ba928a1..8c5a7303b 100644 --- a/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java +++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java @@ -47,6 +47,8 @@ public class JsonMessageSource extends AbstractMessageSource { private static final Logger logger = LoggerFactory.getLogger(JsonMessageSource.class); private Resource baseDirectory; + + private Locale fallbackLocale = new Locale("en"); // US English is the fallback language private Map languageMaps = new HashMap<>(); @@ -55,9 +57,20 @@ public class JsonMessageSource extends AbstractMessageSource { JsonObject lang = getLanguageMap(locale); - MessageFormat mf = getMessageFormat(code, locale, lang); + String value = getValue(code, lang); + + if (value == null) { + // if we haven't found anything, try the default locale + lang = getLanguageMap(fallbackLocale); + value = getValue(code, lang); + } + + if (value == null) { + value = code; + } + + MessageFormat mf = new MessageFormat(value, locale); - // TODO Auto-generated method stub return mf; } @@ -67,14 +80,19 @@ public class JsonMessageSource extends AbstractMessageSource { * @param lang * @return */ - private MessageFormat getMessageFormat(String code, Locale locale, JsonObject lang) { + private String getValue(String code, JsonObject lang) { + + // if there's no language map, nothing to look up + if (lang == null) { + return null; + } JsonElement e = lang; Iterable parts = Splitter.on('.').split(code); Iterator it = parts.iterator(); - String value = code; + String value = null; while (it.hasNext()) { String p = it.next(); @@ -99,9 +117,8 @@ public class JsonMessageSource extends AbstractMessageSource { } - MessageFormat mf = new MessageFormat(value, locale); + return value; - return mf; } /**