jquery - CDN数据表切换语言

标签 jquery internationalization datatables

我正在使用 datatables.net 中的数据表在多语言应用程序中。我知道如何通过简单地传递语言文件或自己自定义字符串来切换表格的语言。

 "language": {
            "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/lang.json"
        }

但是是否可以根据用户浏览器设置更改语言?

最佳答案

不幸的是,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 传递给与当前浏览器语言对应的 dataTables :

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/

关于jquery - CDN数据表切换语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31261092/

相关文章:

javascript - 放大图像后获取图像裁剪的 x 和 y 坐标

c - 国际化C程序

php - 如何使用 MEDIUM 或 FULL 日期类型使用 IntlDateFormatter 格式化日期,但没有年份?

jquery - 数据表响应式第一次不起作用

css - 使用 sScrollX/sScrollY 的列标题未对齐

javascript - 在 WordPress 表单管理器中一键提交多个表单

javascript - jquery 插件或 javascript 方法自动调整文本输入(不是文本区域)(固定宽度)可变高度

javascript - jQuery Unresolved 冲突

javascript - Vue-i18n 和列表

javascript - 在javascript中使用dblclick事件打开一个新页面