Kendo UI全球化/语言包

Lou*_*ier 25 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"
    }
  }
Run Code Online (Sandbox Code Playgroud)

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

通过在Kendo UI论坛上可以看到,只包含一个额外的JavaScript来覆盖这些消息,似乎没有任何方式来本地化控件.

还有其他办法吗?

(请注意,我将回答我自己的问题,而且我没有遭受双相情感障碍!这只是让社区参与剑道全球项目的一种方式!)

Lou*_*ier 28

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>
Run Code Online (Sandbox Code Playgroud)

它的工作原理是覆盖小部件原型的默认选项,因此它就好像这些小部件是以预期语言本地创建的.

由于它不会更改任何内容,并且不会覆盖任何方法,因此如果您需要在单个窗口小部件上显示特定消息(而不是"10 itens"),您仍然可以使用标准方法传递自定义消息的自定义选项"你可能想在网格的寻呼机中显示"10个产品"......)

该项目目前只有几个语言包.翻译非常简单,每个翻译人员都将获得全额学分.所以贡献者真的非常受欢迎.

该项目的页面可以在这里找到:https://github.com/loudenvier/kendo-global