CDN 数据表切换语言
CDN Datatables switch language
我在多语言应用程序中使用来自datatables.net的数据table。我知道如何通过简单地传递语言文件或自己自定义字符串来切换 table 的语言。
"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()
}
});
我在多语言应用程序中使用来自datatables.net的数据table。我知道如何通过简单地传递语言文件或自己自定义字符串来切换 table 的语言。
"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()
}
});