Kendo ui 剑道UI全球化/语言包

Kendo ui 剑道UI全球化/语言包,kendo-ui,Kendo Ui,剑道UI不附带本地化包。您只能选择一个区域性文件,该文件将只设置数字和日期格式,而不设置小部件中显示的实际文本(例如:寻呼机文本-每页项目、下一页等)、筛选菜单(等于等)、网格部分(在此处拖动列…)等) 要本地化小部件,必须在每个小部件的各个选项中传递一组消息,以覆盖剑道UI默认使用的消息。大概是这样的: 可过滤:{ 信息:{ 信息:“Título:,//设置过滤器菜单顶部的文本 filter:“Filtrar”,//设置“filter”按钮的文本 清除:“Limpar”,//设置“清除”按钮的

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

要本地化小部件,必须在每个小部件的各个选项中传递一组消息,以覆盖剑道UI默认使用的消息。大概是这样的:

可过滤:{
信息:{
信息:“Título:,//设置过滤器菜单顶部的文本
filter:“Filtrar”,//设置“filter”按钮的文本
清除:“Limpar”,//设置“清除”按钮的文本
//过滤布尔数时
isTrue://设置“isTrue”单选按钮的文本
isFalse://设置“isFalse”单选按钮的文本
//更改过滤器菜单的“和”和“或”的文本
和:“E”,
或“Ou”
},
操作员:{
//“字符串”类型列的筛选菜单
字符串:{
情商:“鬣蜥a”,
neq:“不同的人”,
开始语:“来吧”,
包含:“续”,
结束语:“Termina em”
},
//“数字”类型列的筛选菜单
编号:{
情商:“鬣蜥a”,
neq:“不同的人”,
gte:“我是你的天使”,
gt:“Mair que”,
lte:“Menor que ou igual a”,
lt:“Menor que”
},
//“日期”类型列的筛选菜单
日期:{
情商:“鬣蜥a”,
neq:“不同的人”,
gte:“我是你的天使”,
gt:“Mair que”,
lte:“Menor que ou igual a”,
lt:“Menor que”
}
}
},
可分组:{
信息:{
空的:“你的生活是怎样的?”
}
}
当然,您可以在单个JavaScript变量中共享这些选项,但随后您将面临一个意想不到的问题:如果您在单个选项变量中收集了所有小部件的所有选项的消息,那么它将为所有网格打开所有这些选项。如果你想要一个没有分组的网格,你必须有一个没有分组的单独的本地化选项变量,否则,即使你不想要,该组也会显示,因为
groupable:{messages:{….}
会使Kendo将其识别为已启用

通过只包含一个额外的JavaScript来覆盖这些消息,这似乎不是本地化控件的任何方法

还有别的办法吗


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

github上的剑道全局项目通过只包含如下所示的所需语言文件,使所有剑道UI小部件上的所有可本地化文本易于本地化:


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

由于它不会改变任何内容,也不会覆盖任何方法,因此如果您需要在单个小部件上显示特定消息(而不是“10个iTen”,您可能希望在网格的寻呼机中显示“10个产品”),您仍然可以使用标准方法通过自定义消息传递自定义选项

该项目目前只有几个语言包。翻译是非常容易的,每个译者都会得到全额学分。所以贡献者真的非常受欢迎


项目页面可在此处找到:

我正在与Telerik Controls 2013年第1季度SP1合作。 看起来您无法再覆盖剑道网格的许多标签或工具提示的消息。以下是我无法使用剑道全局语言文件覆盖的几个消息/工具提示的列表:

  • 物品专页
  • 首先
  • 先前的
  • 下一个
  • 最后
我对原来的问题没有很好的答案。 值得一提的是,对于我来说,解决方案是使用fluentapi

@(Html.Kendo().Grid<Whatever>()
    .Name("Grid")
    .Pageable(e => e           
        .Messages(p => p.ItemsPerPage("")
            .First("לדף הראשון")
            .Previous("לדף הקודם")
            .Next("לדף הבא")
            .Last("לדף האחרון")
            .Refresh("ריענון")
            .Display("מציג {0}-{1} מתוך {2} רשומות")
            .Page("דף")
            .Of("מתוך {0}")))
 ...
@(Html.Kendo().Grid())
.名称(“网格”)
.Pageable(e=>e
.Messages(p=>p.ItemsPerPage(“”)
.首先(“לדףהאשון”)
.上一次(“לדףהקום”)
.下一步(“לדףהבא”)
.最后(“לדףהאחרו”)
.刷新(“ריענו”)
.显示
.第页(“•ף”)
.Of(“מתוך{0}”))
...

如果需要更动态的选项,我认为获取当前本地化并初始化小部件将是一个不错的选择

 @{
    var culture = System.Threading.Thread.CurrentThread.CurrentCulture.ToString();
}

@section HeadContent {
    <script src="@Url.Content("~/Scripts/cultures/kendo.culture." + culture + ".min.js")"></script>
}
@{
var culture=System.Threading.Thread.CurrentThread.CurrentCulture.ToString();
}
@章节标题内容{
}
这里有更多关于


如果您使用的是MVC扩展,那么您必须知道Telerik将强制您进行本地化。他们的MVC扩展将根据web.config中定义的本地化选择一个本地化。如果您使用的是ASP.NET MVC和扩展,而不是纯Kendo.UI JavaScript,那么您应该使用satellit的本机本地化e assemblies.kendo global不会帮助您,因为MVC扩展会强制附属程序集为您发送“消息”。在撰写本文时,语言包与kendo.ui.core版本不兼容。我打开了一张罚单(第58期)在您的GitHub项目站点上,提供一些建议。@JennyO'Reilly我需要时间下载新的kendo.core.ui,然后用