我有以下情况,一个剑道网格,我想选择哪些过滤器运算符,这很好用:
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的翻译?
答案 0 :(得分:2)
您无法选择在kendo global功能的filterable
参数中翻译哪个kendoGrid运算符。剑道不允许这样做。
但是,您可以自己(或第三方库)翻译运算符,并在filters_op
上提供。这将覆盖kendo默认filters
并翻译它们。
我建议您使用i18n的I18n.t
翻译方法来执行此操作。您的代码将如下所示,例如:
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
库将处理此转换过程。