Telerik 控件的汉化-检索当前控件的键值对

(第一次随手写了个东东发现被各种转载,傻笑下,那就顺便把下午试验出来的方式给大家分析下吧,妹纸说难得被转载一次,鼓励我多写点)

telerik每个版本内置的英文是有差异的,然后很多资料的内置键值对都是不全的,下面的方法是用来查询当前控件的所有键值对.

这个是借鉴资料山寨来的思路.

核心思路其实就是新增一个继承LocalizationManager,CustomLocalizationManager类,然后重写这个类的语言的时候获取出所有键值对.

1.新建一个CustomLocalizationManager类,用来注入当前你想获取键值对的控件.

在工程起始加载自定义汉化类

  /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        public App()
        {
            LocalizationManager.Manager = new CustomLocalizationManager();
        }
    }
 public class CustomLocalizationManager : LocalizationManager
    {
        public override string GetStringOverride(string key)
        {
            //switch (key)
            //{
            //    case "JudgementCode":
            //        return "Your translation";
            //}

            if (!dataKeys.dic.ContainsKey(key))
            {
                DataKeys.dic.Add(key, base.GetStringOverride(key));
            }

            return base.GetStringOverride(key);
         }
    }

增加一个Dictionary 类用来记录键值对:

 public static class DataKeys
    {
        public static Dictionary<string, string> dic = new Dictionary<string, string>();
    }

2. 加载一个你想汉化的telerik控件如:(注意把LocalizationManager 类注入到控件内部)

<telerik:RadGridView Grid.Row="0"
                             AutoGenerateColumns="False"
                             Margin="5">
			<telerik:RadGridView.Columns>
                <telerik:GridViewDataColumn DataMemberBinding="{Binding Name}">
                    <telerik:GridViewDataColumn.Header>
                        <TextBlock telerik:LocalizationManager.ResourceKey="JudgementCode"></TextBlock>
                    </telerik:GridViewDataColumn.Header>
                </telerik:GridViewDataColumn>
			</telerik:RadGridView.Columns>
        </telerik:RadGridView>

然后就没有然后了...编译通过,然后调试下DataKeys.dic,里面记录了所有的键值对(删了测试的键值JudgementCode),再根据我上一篇文章说的方式,加载本地化资源文件...Over

DataKeys.dic 值如下:

KEYS:

CommitEdit
CommitCellEdit
BeginEdit
BeginInsert
CancelCellEdit
CancelRowEdit
Copy
Delete
MoveLeft
MoveRight
MoveUp
MoveDown
MoveNext
MovePrevious
MoveFirst
MoveLast
MoveHome
MoveEnd
MovePageDown
MovePageUp
MoveTop
MoveBottom
Paste
SelectCurrentItem
SelectCurrentUnit
ExtendSelectionToCurrentUnit
ActivateRow
ExpandHierarchyItem
CollapseHierarchyItem
JudgementCode
GridViewGroupPanelText
GridViewGroupPanelTopTextGrouped

VALUES:

Commit Edit
CommitCellEdit
Begin Edit
Begin Insert
Cancel Cell Edit
Cancel Row Edit
Copy
Delete
Move Left
Move Right
Move Up
Move Down
Move Next
Move Previous
Move First
Move Last
Move Home
Move End
Move PageDown
Move PageUp
Move Top
Move Bottom
Paste
Select Current Item
Select the current unit
Extends selection to current unit
Activate
Expand
Collapse

Drag a column header and drop it here to group by that column
Grouped by:

  

时间: 2024-08-24 02:49:13

Telerik 控件的汉化-检索当前控件的键值对的相关文章

Telerik GridView 控件的汉化

之前搜索这个控件的汉化时,都没有发现合适的汉化包,自己做了一个. 实现的思路就是基本都是telerik 官网的实现. 官网链接:http://docs.telerik.com/devtools/silverlight/common-localization 1.本地创建一个资源文件包GridViewResources (不能上传文件,直接把键值对,拷贝在这里了,中文是随手翻译的,自己看着改) ActivateRow 激活 Activate BeginEdit 编辑 Begin Edit Begi

DevExpress的Web控件汉化方法

原文:DevExpress的Web控件汉化方法 项目中用到devexpress的web控件,机器没有安装devexpress控件,直接在项目中引用的dev的dll,项目运行时发现都是英文界面,所以解决汉化问题. 项目中用的是v10.2版本,以此版本为例,其他版本方法应该类似. 步骤如下:   1.从官网下载对应的汉化包,地址:http://www.devexpresscn.com/news/DevExpress-news-94.html,找到对应的版本下载. 2.在下载的汉化文件里找到\Web\

分享一个Winform里面的HTML编辑控件Zeta HTML Edit Control,汉化附源码

我们知道,Web开发上有很多HTML的编辑控件,如FCKEditor.CKEditor.kindeditor等等,很多都做的很好,而虽然Winform里面有WebBrowser控件,但是默认这个控件是不允许编辑内容的,可以显示网页而已.Winform开发里面,有些使用RichTextBox控件来编辑HTML,也有一些结合WebBrowser控件来实现内容的编辑,其中我觉得做的最好的应该是Zeta HTML Edit Control(http://www.codeproject.com/Artic

EasyUI中控件汉化问题

--BY ZYZ 我在使用EasyUI的过程中,遇到了控件无汉化的情况,如下图. 这么多洋文看着觉得挺烦的.时间居然是月日年格式的,这样可不行,得改. 重写控件代码?别,那能是我这种低级代码C-V客能干的事吗? 后来我发现在官网(http://www.jeasyui.com/index.php)上下载的EasyUI文件内就包含了EasyUI的汉化脚本. 打开locale文件夹一看,哟,主要语言都有,最主要是找到了(easyui-lang-zh_CN.js),还得说官方的就是好啊. 那还不得赶紧把

如何汉化XAF应用

这是一个入门级的问题,应网友请求,总结一下XAF汉化过程的几个关键点. 一.所有Dev的控件的汉化,Dev官方有汉化文件.点击下载15.2版本. 正版用户登陆至官网是有专门的下载界面的,并且可以参与汉化.否则,就要去各种论坛或网上搜索了. 下载完成后,如上图所示,解决并放置到Win/Web的ZH-Hans目录中去.选中*.resources.dll,并按下F4键,调出设置属性窗口: 将复制到输出目录选中为:如果较新则复制. 说明:这里使用的是卫星资源文件,是国际化的常见方式.Dev提供了多数汉化

DecExpress 控件怎样最快速最准确的汉化

DecExpress官网提供汉化包定制化,网址https://www.devexpress.com/Support/Center/Question/Details/A421 12.1之前的版本有汉化包下载,以后的版本支持在线选择版本并自定义,上面网址中的Web Localization Service 就是在线编辑页面,不过的先登录,没有账号的注册一下就可以了,汉化好之后(中文简体的是zh-CN),会发一个下载的超链接到你的注册邮箱中, 把汉化好下载后解压后,在你的程序执行文件夹(例如Debug

谷歌约束控件(ConstraintLayout)扁平化布局入门

序 在Google IO大会中不仅仅带来了Android Studio 2.2预览版,同时带给我们一个依赖约束的库. 简单来说,她是相对布局的升级版本,但是区别与相对布局更加强调约束.何为约束,即控件之间的关系. 她能让你的布局更加扁平化,一般来说一个界面一层就够了:同时借助于AS我们能极其简单的完成界面布局. 准备 1.准备好Android Studio 2.2预览版,在这里给大家准备好了下载链接: https://dl.google.com/dl/android/studio/ide-zip

jQuery EasyUI API - Grid - DataGrid [原创汉化官方API]

jQuery EasyUI API - Grid - DataGrid [原创汉化官方API] 2014-04-02   DataGrid 继承自 $.fn.panel.defaults,覆盖默认值 $.fn.datagrid.defaults. DataGrid控件显示数据以表格的形式提供了丰富的选择,支持排序,组和编辑数据. DataGrid控件被设计来减少开发时间和要求开发商没有特定的知识.它是轻量级的和功能丰富的.合并单元格,多列标题,冻结列和页脚是仅有的几个特点. [依赖于] pane

汉化eclipse

本来是想汉化eclipse那个新建java类,本来想通过swt的方式获取子控件修改名字. 结果跟着源代码就看到了它的属性文件.所以做法就是直接更改里面的英文.再扔到jar包里. 复制一点着文件的内容: ############################################################################### # Copyright (c) 2000, 2011 IBM Corporation and others. # All rights r