Gitblit1.8语言偏好选择简体中文 (zh_CN)后,在偏好标签页无法保存选中解决方法

Gitblit1.8语言偏好选择简体中文 (zh_CN)后,在偏好标签页无法保存选中,这是Gitblit1.8的bug导致的。需要修改com.gitblit.wicket.pages.UserPage来解决。

修改前代码(L214开始)

for (Language language : languages) {
	if (language.code.equals(localeCode)) {
		// language_COUNTRY match
		preferredLanguage = language;
	} else if (preferredLanguage != null && language.code.startsWith(locale.getLanguage())) {
		// language match
		preferredLanguage = language;
	}
}

修改后代码

for (Language language : languages) {
	if (language.code.equals(localeCode)) {
		// language_COUNTRY match
		preferredLanguage = language;
		break;
	} else if (preferredLanguage != null && language.code.startsWith(locale.getLanguage())) {
		// language match
		preferredLanguage = language;
		break;
	}
}

说明:在两个判断选中语言的分支添加break即可,业务逻辑及原因自己看吧,很简单。修改后偏好标签页如下图所示:

gitblit_lang