我想通过java或javascript识别浏览器语言。但是使用方法accept-language我可以获得值,但是如果这些语言未放在字符串的第一部分中,则无法识别正确的UI语言。
激活的UI语言是de-DE! 激活了任何其他语言,例如en,african,... 语言设置在浏览器设置(此处为chrome)中已更改
示例1:激活de-DE并在可用语言的第一个位置: de-DE,de; q = 0.9,en; q = 0.8,af; q = 0.7,en-US; q = 0.6,pl; q = 0.5
示例2:de-DE被激活,并且不在可用语言的第一个位置(此处位于位置2): en,de-DE; q = 0.9,de; q = 0.8,af; q = 0.7,en-US; q = 0.6,pl; q = 0.5
示例3:激活de-DE,并且不在可用语言的第一个位置(此处为最后一个位置): en,af; q = 0.9,de; q = 0.8,en-US; q = 0.7,pl; q = 0.6,de-DE; q = 0.5
JavaScript:
function SprachenCheck() {
if (navigator.language.indexOf("en") > -1) {
text = 'Dear visitor, welcome on our pages!';
} else if (navigator.language.indexOf("de") > -1) {
text = 'Sehr geehrter Besucher, willkommen auf unseren Seiten!';
}
var ausgabe = document.getElementById('ausgabe');
ausgabe.innerHTML = text;
}
Java:
public String getLanguageFromRequest() {
String metadat = request.getHeader("Accept-Language");
if (StringUtils.isNotEmpty(metadat)) {
String[] lArray = metadat.split(",");
return lArray[0].substring(0,2).toLowerCase();
}
}