src/main/java/com/gitblit/ConfigUserService.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/models/UserPreferences.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/GitBlitWebApp.properties | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/pages/UserPage.java | ●●●●● patch | view | raw | blame | history |
src/main/java/com/gitblit/ConfigUserService.java
@@ -707,8 +707,9 @@ config.setBoolean(USER, model.username, DISABLED, true); } if (model.getPreferences() != null) { if (!StringUtils.isEmpty(model.getPreferences().locale)) { config.setString(USER, model.username, LOCALE, model.getPreferences().locale); if (model.getPreferences().getLocale() != null) { String val = model.getPreferences().getLocale().getLanguage() + "_" + model.getPreferences().getLocale().getCountry(); config.setString(USER, model.username, LOCALE, val); } } @@ -880,11 +881,13 @@ user.stateProvince = config.getString(USER, username, STATEPROVINCE); user.countryCode = config.getString(USER, username, COUNTRYCODE); user.cookie = config.getString(USER, username, COOKIE); user.getPreferences().locale = config.getString(USER, username, LOCALE); if (StringUtils.isEmpty(user.cookie) && !StringUtils.isEmpty(user.password)) { user.cookie = StringUtils.getSHA1(user.username + user.password); } // preferences user.getPreferences().setLocale(config.getString(USER, username, LOCALE)); // user roles Set<String> roles = new HashSet<String>(Arrays.asList(config.getStringList( USER, username, ROLE))); src/main/java/com/gitblit/models/UserPreferences.java
@@ -37,7 +37,7 @@ public final String username; public String locale; private String locale; private final Map<String, UserRepositoryPreferences> repositoryPreferences = new TreeMap<String, UserRepositoryPreferences>(); @@ -58,6 +58,10 @@ return new Locale(locale); } public void setLocale(String locale) { this.locale = locale; } public UserRepositoryPreferences getRepositoryPreferences(String repositoryName) { String key = repositoryName.toLowerCase(); if (!repositoryPreferences.containsKey(key)) { src/main/java/com/gitblit/wicket/GitBlitWebApp.properties
@@ -727,7 +727,7 @@ gb.accountPreferences = Account Preferences gb.accountPreferencesDescription = Specify your account preferences gb.languagePreference = Language Preference gb.languagePreferenceDescription = Select your preferred translation for the Gitblit UI gb.languagePreferenceDescription = Select your preferred translation for Gitblit gb.displayNameDescription = The preferred name for display gb.emailAddressDescription = The primary email address for receiving notifications gb.sshKeys = SSH Keys src/main/java/com/gitblit/wicket/pages/UserPage.java
@@ -181,28 +181,36 @@ new Language("Português", "pt_BR"), new Language("中文", "zh_CN")); String lc = user.getPreferences().locale; if (StringUtils.isEmpty(lc)) { Locale locale = user.getPreferences().getLocale(); if (locale == null) { // user has not specified language preference // try server default preference lc = app().settings().getString(Keys.web.forceDefaultLocale, null); String lc = app().settings().getString(Keys.web.forceDefaultLocale, null); if (StringUtils.isEmpty(lc)) { // server default language is not configured // try browser preference Locale sessionLocale = GitBlitWebSession.get().getLocale(); if (sessionLocale != null) { lc = sessionLocale.getLanguage() + "_" + sessionLocale.getCountry(); locale = sessionLocale; } } else { } } } Language preferredLanguage = null; if (!StringUtils.isEmpty(lc)) { if (locale != null) { String localeCode = locale.getLanguage(); if (!StringUtils.isEmpty(locale.getCountry())) { localeCode += "_" + locale.getCountry(); } for (Language language : languages) { if (language.code.equals(lc)) { if (language.code.equals(localeCode)) { // language_COUNTRY match preferredLanguage = language; } else if (preferredLanguage != null && lc.startsWith(language.code)) { // language match, but not COUNTRY match } else if (preferredLanguage != null && language.code.startsWith(locale.getLanguage())) { // language match preferredLanguage = language; } } @@ -242,7 +250,7 @@ Language lang = language.getObject(); if (lang != null) { user.getPreferences().locale = lang.code; user.getPreferences().setLocale(lang.code); } try {