title: Kendo UI Globalization / Language packs
body: <p>Kendo UI does not come with localization packs. You can only chose a culture file which will only setup number and date formats, but not the actual texts displayed in the widgets (for example: the pager texts - items per page, next page, etc., the filter menus (Is equal to, etc.), the grid parts (Drag a column here....), etc.)</p>
  
  <p>To localize a widget one must pass, in the individual options of each widget, a bunch of messages to override the messages used by default by Kendo UI. Something like this:</p>
  
  <pre class="lang-js prettyprint-override"><code> 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"
      }
    }
  </code></pre>
  
  <p>Of course you could share this options in a single JavaScript variable, but then you will face an unexpected problem: if you have messages for ALL options of all widgets collected in a single option variable, it will TURN ON all those options for all grids. If you want a grid without grouping you will have to have a separate localized options variable without the groupable or else, even if you don't want, the group will show because the <code>groupable: { messages: { .... } }</code> will make Kendo recognize it as enabled.</p>
  
  <p>It doesn't seem to be any way to localize the controls by including just an extra JavaScript to override those messages as can be seen on <a href="http://www.kendoui.com/forums/framework/globalization/complete-solution-for-language-localization-of-all-text-strings-in-an-app.aspx#2117178">Kendo UI forums</a>.</p>
  
  <p>Is there any other way to do that?</p>
  
  <p>(notice that I'll be answering my own question, and I do not suffer from Bipolar Disorder! It is just a way to get the involvement of the community on the kendo-global project!)</p>