描述(Description)
该方法设计是为了提供给插件和扩展的开发人员,最终向用户显示语言字符串。它提供了将
languageOption
配置对象
用作语言字符串的单个配置点,然后从该对象中查找值的功能。对于开发人员未提供自己的字符串的情况,应该提供默认值。
该方法还提供了在考虑国际化时必须考虑的单数,复数,双重等形式的基本支持。这是通过提供一个包含要使用的表单的键的对象以及默认值来完成的。
考虑如下对象:
1
2
3
4
5
{
_: "%d rows selected",
0: "Click a row to select",
1: "1 row selected"
}
当数值0
传入(第三个参数)的情况下,将使用 “Click a row to select” 字符串。数值为1
时,使用”1 row selected”。对于其他所有值,默认
_
参数的值将与%d
替换为数字值一起使用。对于使用双重形式的语言,添加2
参数等。
应该指出,国际化(简称i18n)/本地化(简称为l10n)很难。 该方法为DataTables及其组件中的基本国际化提供了良好的支持,但不完全支持。在此时,完全支持已经超出了DataTables库的范围。
类型(Type)
这个选项能够接受以下类型的参数:
function i18n( token, def [, numeric ] )
描述(Description):
查找在DataTables的
languageOption
初始化对象中定义的语言标记。
参数(Parameters):
名称(Name) | 类型(Type) | 是否可选(Optional) | |
---|---|---|---|
1 | token |
stringType
|
No |
从语言对象中查找语言标记。应该使用Javascript对象的方式(其实是字符串,比如: 'select.rows' )给出该标记,DataTables
将会使用该符号来查找对应的值。该值遵循与
columns.dataOption
作为字符串相同的规则。
|
|||
2 | def |
objectType
,
stringType
|
No |
如果DataTables初始化没有指定值,则使用的默认值。这可以是简单的字符串,也可以是对象。
在是对象的情况下,_ 参数 必须 定义 - 这个是默认的。对于你希望有特殊数字的字符串(英文单数形式或阿拉伯语双重形式)
该数字应定义为参数名称。如果没有找到定义,则使用默认的。
字符 %d 将被字符串替换为传递给该函数的 numeric 参数给出的值。
|
|||
3 | numeric |
integerType
|
Yes - default:undefined |
如果处理数字输出,则应在此参数中给出要显示的数字。如果不需要数字运算符(例如按钮标签文本),则不需要此参数。 |
返回(Returns):
返回国际化字符串
例子(Example)
简单的字符串标记查找,不使用定义的字符串,使用默认的(结果将弹出提示框显示 “Copy to clipboard”)
1
2
3
4
5
var table = $('#myTable').DataTable();
alert(
table.i18n( 'buttons.copy', 'Copy to clipboard' )
);
跟上面例子一样,只是开发人员定义了值(结果将弹出提示框显示 “Click to copy”)
1
2
3
4
5
6
7
8
9
10
11
var table = $('#myTable').DataTable( {
language: {
buttons: {
copy: "Click to copy"
}
}
} );
alert(
table.i18n( 'buttons.copy', 'Copy to clipboard' )
);
对象形式,开发人员不定义
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var table = $('#myTable').DataTable();
// 将显示 "0 rows selected"
alert(
table.i18n( 'select.rows', {
_: '%d rows selected',
1: '1 row selected'
}, 0 )
);
// 将显示 "1 row selected"
alert(
table.i18n( 'select.rows', {
_: '%d rows selected',
1: '1 row selected'
}, 1 )
);
// 将显示 "4 rows selected"
alert(
table.i18n( 'select.rows', {
_: '%d rows selected',
1: '1 row selected'
}, 4 )
);
和上面例子一样,对象形式,加入开发人员定义
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var table = $('#myTable').DataTable( {
language: {
select: {
rows: {
_: '%d rows selected',
0: 'Click a row to select',
1: 'Just one row selected'
}
}
}
} );
// 将显示 "Click a row to select"
alert(
table.i18n( 'select.rows', {
_: '%d rows selected',
1: '1 row selected'
}, 0 )
);
// 将显示 "Just one row selected"
alert(
table.i18n( 'select.rows', {
_: '%d rows selected',
1: '1 row selected'
}, 1 )
);
// 将显示 "4 rows selected"
alert(
table.i18n( 'select.rows', {
_: '%d rows selected',
1: '1 row selected'
}, 4 )
);
相关属性(Related)
下面的选项是直接相关的,也可能是您的应用程序的开发非常有用。
Options