欢迎各位兄弟 发布技术文章
这里的技术是共享的
<button onclick="chk_userlanguage();">查看浏览器语言</button>
var chk_userlanguage = function () {
if (navigator.userLanguage) {
baseLang = navigator.userLanguage.substring(0, 2).toLowerCase();
} else {
baseLang = navigator.language.substring(0, 2).toLowerCase();
}
console.log(baseLang);
switch (baseLang) {
case "de":
return 'German';
break;
case "en":
return 'English';
break;
case "ja":
return 'Japanese';
break;
case "zh":
return 'Chinese';
break;
default:
return '其它语言';
}
}
来自 https://blog.csdn.net/yuhuiyuhuiyuhuiyuhui/article/details/105771085
脚本
我需要创建一个页面(仅限客户端)来检测浏览器使用的语言,并显示与该语言相关的相应类元素,并隐藏其他语言.
英语将是默认语言,因此如果数组中没有任何单元格匹配,则会显示.
我正在使用navigator.language
和navigator.userLanguage
(IE)值来检测浏览器当前使用的语言.
我目前有一些正在进行中的代码,但我不确定最好的方法来整合所有潜在的可能性,然后使用数组选择它们.
还有一种语言与一个国家联系在一起的可能性.比如说英语作为一个例子有en-us,en-uk等.我怎么把这个绑在一起?
码
HTML
<ul class="text">
<li class="en active">English: Some text in english</li>
<li class="fr">French: Some text in french</li>
<li class="de">German: Some text in german</li>
<li class="it">Italian: Some text in italian</li>
<li class="ja">Japanese: Some text in japanese</li>
<li class="es">Spanish: Some text in spanish</li>
</ul>
JS(WIP)
var userLang = navigator.language || navigator.userLanguage,
countries = ['fr', 'de', 'it', 'ja', 'es'],
languagues = ['fr', 'de', 'it', 'ja', 'es'];
if (userLang === "fr") {
$('li').removeClass('active');
$('.fr').addClass('active');
}
例
感谢您的时间.
UPDATE
为了提供对我有用并最终帮助未来用户的完整解决方案,我使用了HTML
上面相同的布局并将其与putvande的jQuery解决方案相结合.
注意:此效果会根据为浏览器选择的语言触发更改.有关如何在Google Chrome中执行此操作的示例:
转到设置 - >
向下滚动并单击"显示高级设置..." - >
单击"语言和输入设置..." - >
然后选择您想要的语言,单击"完成"并重新启动浏览器.
我希望这有帮助.
put*_*nde 21
您可以将其拆分navigator.language
为两个并仅使用第一个参数(语言)并使用它来选择li
具有该类的那个:
var userLang = navigator.language || navigator.userLanguage;
// Check if the li for the browsers language is available
// and set active if it is available
if($('.' + userLang.split('-')[0]).length) {
$('li').removeClass('active');
$('.' + userLang.split('-')[0]).addClass('active');
}
或者你也会li
根据国家改变(例如美国和英国的英语)?
来自 https://qa.1r1g.com/sf/ask/1282213481/