{hero}

i18n()

自:DataTables 1.10.7 起

國際化權杖查詢。

描述

此方法旨在供基於 DataTables 建構的外掛程式和擴充功能開發人員使用,其中軟體會向最終使用者顯示語言字串。它提供使用 language 組態物件作為語言字串的單一組態點,然後從該物件中查詢值的功能。對於開發人員未提供他們自己的字串的情況,應提供預設值。

i18n() 方法還提供對單數、複數、雙數等形式的基本支援,這些形式在考慮國際化時必須加以考慮。這是透過提供一個包含要使用的形式的鍵以及預設值的物件來完成的。

例如,考慮以下物件

{
    _: "%d rows selected",
    0: "Click a row to select",
    1: "1 row selected"
}

在將 0 作為數值(第三個參數)傳入的情況下,將使用 "點擊列以選取" 字串。對於 1,將使用 "已選取 1 列" 字串。對於所有其他值,將使用預設的 _ 參數的值,並將 %d 替換為數值。對於使用雙數形式的語言,請新增一個 2 參數,依此類推。

應注意的是,國際化(簡稱 i18n)/本地化(簡稱 l10n很困難。此方法為 DataTables 及其元件中的基本國際化提供了良好的支援,但並非完整支援。完整支援超出 DataTables 函式庫目前範圍,且本身就是一個完整的專案!

類型

函式 i18n( token, def [, numeric ] )

描述

查詢 DataTables language 初始化物件中定義的語言權杖。

參數
傳回

產生的國際化字串

範例

簡單字串查詢,不使用已定義的字串(即使用預設值)

var table = new DataTable('#myTable');

// Will show "Copy to clipboard"
alert(table.i18n('buttons.copy', 'Copy to clipboard'));

如上,但使用開發人員定義的值

var table = $('#myTable').DataTable({
	language: {
		buttons: {
			copy: 'Click to copy'
		}
	}
});

// Will show "Click to copy"
alert(table.i18n('buttons.copy', 'Copy to clipboard'));

不使用開發人員定義選項的複數形式

var table = new DataTable('#myTable');

// Will show "0 rows selected"
alert(
	table.i18n(
		'select.rows',
		{
			_: '%d rows selected',
			1: '1 row selected'
		},
		0
	)
);

// Will show "1 row selected"
alert(
	table.i18n(
		'select.rows',
		{
			_: '%d rows selected',
			1: '1 row selected'
		},
		1
	)
);

// Will show "4 rows selected"
alert(
	table.i18n(
		'select.rows',
		{
			_: '%d rows selected',
			1: '1 row selected'
		},
		4
	)
);

使用開發人員定義選項的複數形式

var table = $('#myTable').DataTable({
	language: {
		select: {
			rows: {
				_: '%d rows selected',
				0: 'Click a row to select',
				1: 'Just one row selected'
			}
		}
	}
});

// Will show "Click a row to select"
alert(
	table.i18n(
		'select.rows',
		{
			_: '%d rows selected',
			1: '1 row selected'
		},
		0
	)
);

// Will show "Just one row selected"
alert(
	table.i18n(
		'select.rows',
		{
			_: '%d rows selected',
			1: '1 row selected'
		},
		1
	)
);

// Will show "4 rows selected"
alert(
	table.i18n(
		'select.rows',
		{
			_: '%d rows selected',
			1: '1 row selected'
		},
		4
	)
);

相關

下列選項直接相關,在您的應用程式開發中也可能很有用。