i18n()
国际化符号查找。
描述
此方法专用于将数据创建于 DataTables 基础上的插件和扩展的开发者,其中软件将语言字符串呈现给最终用户。此方法支持将 language
配置对象用作语言字符串的单一配置点,随后可由此对象查找值。对于开发者尚未提供其自身字符串的情况,应提供默认值。
i18n()
方法还对奇数、复数、双数等形式提供基本支持,在考虑国际化时必须考虑到这些因素。这是通过提供包含一个对象所用的形式键及其默认值来实现的。
例如,考虑下列对象
{
_: "%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 库的范围,并且是一个完整的项目本身!
类型
函数 i18n(token, def [, numeric ] )
- 描述
查找在 DataTables
language
初始化对象中定义的语言符号。- 参数
名称 类型 可选 1 token
否 从语言对象中查找的语言符号。符号应采用 Javascript 点表示法(作为 字符串)给出,将由此符号由 DataTables 查找结果值。此值遵循
columns.data
的相同规则,作为字符串。2 def
否 如果 DataTables 初始化未指定值,则使用默认值。对于简单的情况,此值可以是字符串,对于复数,此值可以是对象。
如果使用复数形式,则 必须 定义名为
_
的参数 - 这是默认值。对于您希望有特殊字符串的数字(例如英语中的单数形式或阿拉伯语中的双数形式),则数字应定义为参数名称。如果未对所请求的数字定义参数,则将使用默认值。字符串中的字符
%d
将被替换为传递给此函数的numeric
参数所给的值。3 数字
是 如果处理数字输出,则应在此参数中给出要显示的数字。如果不需要数字运算符(例如按钮标签文本),则不需要此参数。
- 返回
得到国际化的字符串
示例
没有使用定义字符串(即使用默认值)的简单字符串查找
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
)
);
相关
以下选项直接相关,在您的应用程序开发中也可能会有用。