我在多语言应用中使用来自datatables.net的数据表。我知道如何通过简单地传递语言文件或自己定制字符串来切换表的语言。
"language": {
"url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/lang.json"
}
但是否有可能根据用户浏览器设置更改语言?
答案 0 :(得分:9)
不幸的是,langauge packages是按语言名称命名的,而不是语言代码:
// cdn.datatables.net/plug-ins/1.10.7/i18n/Finnish.json
//cdn.datatables.net/plug-ins/1.10.7/i18n/French.json
等。因此,您必须构建一个将语言代码转换为语言名称的地图:
var langMap = {
'en' : 'English',
'da' : 'Danish',
'se' : 'Swedish'
//etc, the languages you want to support
}
现在,您可以将正确的语言包URL传递给与当前浏览器语言对应的dataTable:
function getLanguage() {
var lang = navigator.language || navigator.userLanguage;
return '//cdn.datatables.net/plug-ins/1.10.7/i18n/'+langMap[lang]+'.json'
}
var table = $('#example').DataTable({
language : {
url: getLanguage()
}
});
演示 - >的 http://jsfiddle.net/3er6f4w6/ 强>