國際化
使用 Intl Javascript API 來呈現日期和數字
- 作者:Allan Jardine
- 需求:DataTables 1.10+
使用 Javascript Intl API 的渲染方法。IE11、Edge、Chrome、Firefox 和 Safari 10+ 支援此功能。任何不支援 Intl 的瀏覽器將只會向終端使用者顯示未格式化的資料。
使用這些方法的巨大優勢在於,您表格中的資料將自動以適合使用者地區設定的格式顯示。例如,在美國日期可能格式化為「m/d/yyyy」,而在法國則會顯示為「dd/mm/yyyy」。
提供兩種渲染方法
intlNumber
將格式化數字。intlDateTime
將格式化日期時間。
兩者都可選擇性地接受兩個參數
- [可選] 地區設定或地區設定陣列
- [可選] 格式化選項
有關支援的選項,請參閱 MDN 文件中關於 DateTimeFormat 和 NumberFormat 的說明。
使用方式
此外掛程式可以透過多種不同的方式取得和使用。
瀏覽器
此外掛程式可在 DataTables CDN 上取得
然後,外掛程式會自動將其自身註冊到全域的 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/dataRender/intl.mjs';
CommonJS
如果您使用的是適用於 Node 的 CommonJS 載入器 (例如,使用舊版本的 Webpack 或非模組化的 Node 程式碼),請使用以下方法 require
外掛程式
var $ = require('jquery');
var DataTable = require('datatables.net');
require('datatables.net-plugins/dataRender/intl.js');
範例
// Number renderer - using the `columns.render` option:
render: DataTable.render.intlNumber()
// Number renderer - with specified locale:
render: DataTable.render.intlNumber('de')
// Number renderer - with specified locale and options:
render: DataTable.render.intlNumber('de', {
style: 'currency',
currency: 'USD'
} )
// Date time renderer - using the `columns.render` option:
render: DataTable.render.intlDateTime()
// Date time renderer - with specified locale:
render: DataTable.render.intlDateTime('en-US')
// Date time renderer - with specified locale and options:
render: DataTable.render.intlDateTime('de', {
weekday: 'long'
} )
版本控制
如果您對如何改進此外掛程式有任何想法,或發現任何錯誤,它可以在 GitHub 上取得,並且非常歡迎提交 pull request!
- 此外掛程式:intl.js
- 完整的 DataTables 外掛程式儲存庫:DataTables/Plugins