我有以下情况,一个剑道网格,我想选择哪些过滤器运算符,这工作正常:
var filters_op = {
operators: {
string: {
eq: "Is equal to",
neq: "Is not equal to",
contains: "Contains"
}
}
}
element.kendoGrid({
dataSource: dataSource,
filterable: filters_op,
columns: ...
...
});
然而,我的应用程序是多语言,之前我有属性filterable: true
(或错误)和供应商kendo global做翻译工作并带来自己的可过滤操作符。
另一方面,Kendo Global的默认运算符包含一些过滤器,如“开始于”,“之后”,“之后或等于”...我的应用程序尚不支持,当我覆盖它们时,我失去了K.Global的翻译支持
是否有可能同时选择我想要的和K.Glbl的翻译?
您无法选择在kendo global函数的filterable
参数中翻译哪一个kendoGrid运算符。剑道不允许这样做。
但是,您可以自己(或第三方库)翻译运算符,并在filters_op
上提供它们。这将覆盖kendo默认的filters
并翻译它们。
我建议你使用I18n.t
的i18n翻译方法来做到这一点。您的代码将如下所示,例如:
var filtersOp = {
operators: {
string: {
eq: I18n.t('kendo.grid.filterable.operators.string.eq'),
neq: I18n.t('kendo.grid.filterable.operators.string.neq'),
contains: I18n.t('kendo.grid.filterable.operators.string.contains')
},
date: {
eq: I18n.t('kendo.grid.filterable.operators.date.eq'),
neq: I18n.t('kendo.grid.filterable.operators.date.neq')
},
enums: {
eq: I18n.t('kendo.grid.filterable.operators.enums.eq'),
neq: I18n.t('kendo.grid.filterable.operators.enums.neq')
}
}
}
...
element.kendoGrid({
...
filterable: filtersOp,
columns: ...
...
})
如您所见,I18n
库将处理此转换过程。