kendo-ui - Kendo UI 全局化/语言包

标签 kendo-ui

Kendo UI 不附带本地化包。您只能选择一个只设置数字和日期格式的文化文件,而不是小部件中显示的实际文本(例如:寻呼机文本 - 每页项目、下一页等,过滤器菜单(等于等),网格部分(在此处拖动一列......)等)

要本地化一个小部件,必须在每个小部件的单独选项中传递一组消息,以覆盖 Kendo UI 默认使用的消息。像这样的东西:

 filterable: {
        messages: {
            info: "Título:", // sets the text on top of the filter menu
            filter: "Filtrar", // sets the text for the "Filter" button
            clear: "Limpar", // sets the text for the "Clear" button

            // when filtering boolean numbers
            isTrue: "é verdadeiro", // sets the text for "isTrue" radio button
            isFalse: "é falso", // sets the text for "isFalse" radio button

            //changes the text of the "And" and "Or" of the filter menu
            and: "E",
            or: "Ou"
        },
        operators: {
            //filter menu for "string" type columns
            string: {
                eq: "Igual a",
                neq: "Diferente de",
                startswith: "Começa com",
                contains: "Contém",
                endswith: "Termina em"
            },
            //filter menu for "number" type columns
            number: {
                eq: "Igual a",
                neq: "Diferente de",
                gte: "Maior que ou igual a",
                gt: "Mair que",
                lte: "Menor que ou igual a",
                lt: "Menor que"
            },
            //filter menu for "date" type columns
            date: {
                eq: "Igual a",
                neq: "Diferente de",
                gte: "Maior que ou igual a",
                gt: "Mair que",
                lte: "Menor que ou igual a",
                lt: "Menor que"
            }
        }
    },
  groupable: {
    messages: {
      empty: "Arraste colunas aqui para agrupar pelas mesmas"
    }
  }

当然,您可以在单个 JavaScript 变量中共享此选项,但是您将面临一个意想不到的问题:如果您将所有小部件的所有选项的消息收集在单个选项变量中,它将为所有网格打开所有这些选项。如果你想要一个没有分组的网格,你必须有一个单独的本地化选项变量,没有分组,否则,即使你不想要,组也会显示,因为 groupable: { messages: { .... } }将使 Kendo 将其识别为已启用。

似乎没有任何方法可以通过仅包含一个额外的 JavaScript 来覆盖这些消息来本地化控件,如 Kendo UI forums 所示。 .

有没有其他方法可以做到这一点?

(请注意,我将回答我自己的问题,而且我没有患有躁郁症!这只是让社区参与剑道全局项目的一种方式!)

最佳答案

github 上的 kendo-global 项目通过仅包含所需的语言文件,可以轻松本地化所有 Kendo UI 小部件上的所有可本地化文本,如下所示:

<script src="http://cdn.kendostatic.com/2012.3.1114/js/kendo.all.min.js"></script>
<script src="/js/lang/kendo.pt-BR.js"></script>
它通过覆盖小部件原型(prototype)上的默认选项来工作,因此它的工作方式就像这些小部件是以预期语言本地创建的一样。
由于它不会改变任何东西,也不会覆盖任何方法,因此如果您需要在单个小部件上使用特定消息(而不是“10 条“您可能想在网格的寻呼机中显示“10 个产品”...)
该项目目前只有几个语言包。翻译非常容易,每位译员都将获得满分。所以贡献者真的,真的很受欢迎。
该项目的页面可以在这里找到:https://github.com/loudenvier/kendo-global

关于kendo-ui - Kendo UI 全局化/语言包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746637/

相关文章:

javascript - 除非展开节点,否则 kendo treeview 数据源不会在 javascript 调试中显示子项

javascript - 带有自定义过滤器菜单的 Kendo Grid 不起作用

javascript - Kendo UI 图表 - 点击事件

javascript - 如何从 Kendo UI 网格查找重复记录

javascript - KendoUI 网格服务器分页

vue.js - vue中设置子组件的props

javascript - Kendo UI 网格 - 绑定(bind)到导航属性

kendo-ui - 剑道窗口定位

kendo-ui - 如何删除 Kendo 网格中的多行?

charts - 如何在剑道图表中应用平面颜色效果