Web applications 新手:帮助为本地化网站使用mod_重写

Web applications 新手:帮助为本地化网站使用mod_重写,web-applications,jsf,localization,locale,setlocale,Web Applications,Jsf,Localization,Locale,Setlocale,新手:使用JSF帮助切换区域设置 嗨,我希望有人能帮助我,我在地区之间切换有问题,特别是我的网站的en_GB到en_US和en_US到en_GB,但是所有其他两个字符的地区切换都很好 faces_config.xml代码段 <default-locale>en_gb</default-locale> <supported-locale>en_us</supported-locale> <supported-locale>en_gb<

新手:使用JSF帮助切换区域设置

嗨,我希望有人能帮助我,我在地区之间切换有问题,特别是我的网站的en_GB到en_US和en_US到en_GB,但是所有其他两个字符的地区切换都很好

faces_config.xml代码段

<default-locale>en_gb</default-locale>
<supported-locale>en_us</supported-locale>
<supported-locale>en_gb</supported-locale>
<supported-locale>cy</supported-locale>
<supported-locale>es</supported-locale>
<supported-locale>fr</supported-locale>
}

我的问题是,当我将区域设置更改为en_US或en_GB时,selectItem默认为en_GB ItemLabel,因此除非我先选择fr、es或cy,否则我无法选择en_US或en_GB区域设置


感谢任何帮助

发生这种情况的原因应该是显而易见的:

public String getLanguage() {
    return locale.getLanguage();
}
这将始终仅返回语言代码。但是您的英语标识符分别是“en_GB”和“en_US”,因此它总是选择第一个

我相信现在,解决办法是显而易见的,不是吗?我建议的修改是:

public String getLanguage() {
    return locale.toString();
}

也就是说,除非您只是在其他地方使用语言代码……

否则发生这种情况的原因应该是显而易见的:

public String getLanguage() {
    return locale.getLanguage();
}
这将始终仅返回语言代码。但是您的英语标识符分别是“en_GB”和“en_US”,因此它总是选择第一个

我相信现在,解决办法是显而易见的,不是吗?我建议的修改是:

public String getLanguage() {
    return locale.toString();
}

也就是说,除非你只是在其他地方使用语言代码…

谢谢你的帮助-这很有效,我在拔头发,正如你所说的,当你想到它时,这很明显,干得好。谢谢你的帮助-这很有效,我在拔头发,正如你所说的,当你想到它时,这很明显,干得好。