我需要创建一个网页是(客户端只),检测浏览器使用的语言,并显示与该语言相应的类元件和兽皮其他。
英语将是默认语言,因此如果数组中没有任何单元格匹配,则会显示此语言。
我使用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's jQuery solution结合它。
注意:此效果会根据为浏览器选择的语言触发更改。至于如何做到这一点谷歌浏览器的例子:
- 转到设置 - >
- 向下滚动,然后点击“显示高级设置...” - >
- 点击“语言和输入法设置...“ - >
- 然后选择你想要的语言,点击完成并重新启动浏览器。
我希望这有助于。
不寻常的在客户端完成国际化。大概有需要,而不是服务器端? – Orbling
@Orbling,不幸的是对于这种情况。 – Xareyo
您是否可以通过AJAX或其他方式获得按需加载的语言集?所有翻译原位都需要按照您的要求完成,这对于某些元素类型会很痛苦。你可以使用'.show()'而不用担心除选择器以外的任何元素上的活动类。 – Orbling