国际化

使用 Intl Javascript API 对字符串数据进行排序

此排序类型会使用区域感知对照器替换 DataTables 的默认字符串排序。IE11、Edge、Chrome、Firefox 和 Safari 10+ 支持此功能。任何不支持 Intl 的浏览器都将回退到 UTF8 字符串排序。

在进行 DataTables 的初始化之前只需调用此方法,即可用区域感知排序替换默认的字符串排序。此方法可以选择使用两个参数

  1. [可选] 区域或区域数组
  2. [可选] 对照器选项

有关支持的选项,请参阅 MDN Intl 文档

使用

获取并使用此插件的方式有多种。

浏览器

此插件可在 DataTables CDN 上获得

JS

然后,此插件将自动针对全局 DataTables 实例进行注册。如果您使用的是 AMD 加载程序(例如 Require.js),也可以使用此文件。

请注意,如果您使用的是多个插件,将插件合并到一个文件中并在您自己的服务器上托管可以提高性能,这样做的效率比向 DataTables CDN 发出多个请求更高。

NPM

所有插件都可以在 NPM 上找到(也可以与 Yarn 或其他任何 Javascript 包管理器配合使用),作为 datatables.net-plugins 的一部分。要使用此插件,您需要先安装插件包

npm install datatables.net-plugins

ES 模块

然后,如果您使用的是 ES 模块,请导入 datatables.net、您需要的任何其他 DataTables 扩展和插件

import DataTable from 'datatables.net';
import 'datatables.net-plugins/sorting/intl.mjs';

CommonJS

如果您使用的是 Node 的 CommonJS 加载程序(例如与较旧版本的 Webpack 或非模块化 Node 代码配合使用),请使用以下方法来 require 插件

var $ = require('jquery');
var DataTable = require('datatables.net');
require('datatables.net-plugins/sorting/intl.js');

示例

// Host's current locale
  DataTable.intlOrder();
// Explicit locale
  DataTable.intlOrder('de-u-co-phonebk');
// Locale with configuration options
  DataTable.intlOrder('fr', {
    sensitivity: 'base'
  } );

版本控制

如果您对如何改进此插件有任何想法,或者发现任何错误之处,请到 GitHub 上提出您的建议和请求,我们非常欢迎您!