国际化

DataTables 增强表格时为文档添加了多个控件,其中许多控件以某种方式使用语言字符串向最终用户传达用法。这些默认字符串使用英语,但可以轻松翻译成其他语言,或自定义为适合表格表示的数据的具体样式。

社区提供了 90 多种翻译,已准备好使用,可轻松将 DataTables 集成到你的母语中!

配置

DataTables 使用的语言选项通过 language 配置选项进行配置。这是一个对象,其中包含字符串,由 DataTables 的每个部分使用一个参数描述。完整的语言选项列表可在 language 文档参考中找到。

语言选项的配置方式与 DataTables 中的 其他配置选项 完全相同,作为初始化对象的一部分。此示例显示如何更改搜索字符串

$('#example').DataTable( {
    language: {
        search: "Search in table:"
    }
} );

与其他初始化选项一样,你可以根据需要更改任意多或任意少的选项。你不提供值的选项将使用 DataTables 的默认值。此示例显示了用于以法语显示 DataTables 界面所用的每种语言选项

$('#example').DataTable( {
    language: {
        processing:     "Traitement en cours...",
        search:         "Rechercher :",
        lengthMenu:    "Afficher _MENU_ éléments",
        info:           "Affichage de l'élement _START_ à _END_ sur _TOTAL_ éléments",
        infoEmpty:      "Affichage de l'élement 0 à 0 sur 0 éléments",
        infoFiltered:   "(filtré de _MAX_ éléments au total)",
        infoPostFix:    "",
        loadingRecords: "Chargement en cours...",
        zeroRecords:    "Aucun élément à afficher",
        emptyTable:     "Aucune donnée disponible dans le tableau",
        paginate: {
            first:      "Premier",
            previous:   "Précédent",
            next:       "Suivant",
            last:       "Dernier"
        },
        aria: {
            sortAscending:  ": activer pour trier la colonne par ordre croissant",
            sortDescending: ": activer pour trier la colonne par ordre décroissant"
        }
    }
} );

Ajax 加载翻译

为方便起见,DataTables 提供了通过 Ajax 从远程文件加载语言信息的选择。这是通过 language.url 选项进行配置的。例如,我们可能有

$('#example').DataTable( {
    language: {
        url: '/localisation/fr_FR.json'
    }
} );

language 中的其他选项一样,Ajax 加载的文件可以根据 DataTables 语言选项的要求指定任意多或任意少的选项。未指定的任何选项都将使用 DataTables 的默认值。

数字数据排序

数字数据的呈现格式通常遵循一定的规则,例如小数点用给定的字符表示,千分位用分隔符分隔,并且数字类型用诸如货币符号之类的标识进行识别。DataTables 会自动检测数字数据类型,例如货币值、百分比值和带有千分位的数字,但默认情况下,所有这些值都使用点号 (.) 作为小数点,因为这是在 Javascript 中表示数字的方式。

DataTables 能够通过 language.decimal 选项将任何字符用作数字数据的小数点,从而为任何形式的数字数据提供完整数字类型检测和排序。例如,世界上许多地区使用逗号 (,) 作为小数点,Unicode 定义了小数分隔符字符 (),并且在财务文档等中有时会使用连字符 (-)。

通过使用language.decimal选项,您可以告知 DataTables 在表格数据中要查找的十进制位置字符,以便正确对此数据进行排序。

与 DataTables 中的所有语言参数一样,language.decimal可以在表格初始化或加载 Ajax(如上所示)的语言文件中定义。

$('#example').DataTable( {
    language: {
        decimal: ",",
    }
} );

可用翻译

DataTables 社区已经共同提交了 50 多种默认英文字符串的翻译,您可以随时在您的项目中使用。这些翻译可在此站点的插件部分获得。