diff options
author | James Moger <james.moger@gitblit.com> | 2014-04-28 12:44:38 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-04-28 12:44:38 -0400 |
commit | a8100bb4d3aa64e254e92e29130e8fd9bd4e0dd2 (patch) | |
tree | 26d4dc5aad3ad3d72a53f19715e375ea1ba324a6 /src/main/java/com/gitblit/manager | |
parent | 3e3581286bdf064cabb46b2c30bca73e6a78ea58 (diff) | |
download | gitblit-a8100bb4d3aa64e254e92e29130e8fd9bd4e0dd2.tar.gz gitblit-a8100bb4d3aa64e254e92e29130e8fd9bd4e0dd2.zip |
Fix forcing default locale to en or LANG_CC for web ui
Diffstat (limited to 'src/main/java/com/gitblit/manager')
-rw-r--r-- | src/main/java/com/gitblit/manager/GitblitManager.java | 6 | ||||
-rw-r--r-- | src/main/java/com/gitblit/manager/IRuntimeManager.java | 9 | ||||
-rw-r--r-- | src/main/java/com/gitblit/manager/RuntimeManager.java | 19 |
3 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/com/gitblit/manager/GitblitManager.java b/src/main/java/com/gitblit/manager/GitblitManager.java index 790445a7..5b16ef66 100644 --- a/src/main/java/com/gitblit/manager/GitblitManager.java +++ b/src/main/java/com/gitblit/manager/GitblitManager.java @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.TimeZone; @@ -606,6 +607,11 @@ public class GitblitManager implements IGitblit { } @Override + public Locale getLocale() { + return runtimeManager.getLocale(); + } + + @Override public boolean isDebugMode() { return runtimeManager.isDebugMode(); } diff --git a/src/main/java/com/gitblit/manager/IRuntimeManager.java b/src/main/java/com/gitblit/manager/IRuntimeManager.java index acd3a576..29e7368f 100644 --- a/src/main/java/com/gitblit/manager/IRuntimeManager.java +++ b/src/main/java/com/gitblit/manager/IRuntimeManager.java @@ -17,6 +17,7 @@ package com.gitblit.manager; import java.io.File; import java.util.Date; +import java.util.Locale; import java.util.Map; import java.util.TimeZone; @@ -39,6 +40,14 @@ public interface IRuntimeManager extends IManager { TimeZone getTimezone(); /** + * Returns the fixed locale for clients, or null if clients may choose their locale + * + * @return a fixed locale or null if clients are allowed to specify locale preference + * @since 1.5.1 + */ + Locale getLocale(); + + /** * Determine if this Gitblit instance is actively serving git repositories * or if it is merely a repository viewer. * diff --git a/src/main/java/com/gitblit/manager/RuntimeManager.java b/src/main/java/com/gitblit/manager/RuntimeManager.java index 9805701b..52f4d67b 100644 --- a/src/main/java/com/gitblit/manager/RuntimeManager.java +++ b/src/main/java/com/gitblit/manager/RuntimeManager.java @@ -18,6 +18,7 @@ package com.gitblit.manager; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Locale; import java.util.Map; import java.util.TimeZone; @@ -63,6 +64,8 @@ public class RuntimeManager implements IRuntimeManager { logger.info("Settings : " + settings.toString()); logTimezone("JVM timezone: ", TimeZone.getDefault()); logTimezone("App timezone: ", getTimezone()); + logger.info("JVM locale : " + Locale.getDefault()); + logger.info("App locale : " + (getLocale() == null ? "<client>" : getLocale())); return this; } @@ -146,6 +149,22 @@ public class RuntimeManager implements IRuntimeManager { logger.info("{}{} ({})", new Object [] { type, zone.getID(), offset }); } + @Override + public Locale getLocale() { + String lc = settings.getString(Keys.web.forceDefaultLocale, null); + if (!StringUtils.isEmpty(lc)) { + int underscore = lc.indexOf('_'); + if (underscore > 0) { + String lang = lc.substring(0, underscore); + String cc = lc.substring(underscore + 1); + return new Locale(lang, cc); + } else { + return new Locale(lc); + } + } + return null; + } + /** * Is Gitblit running in debug mode? * |