这是一个入门级的问题,应网友请求,总结一下XAF汉化过程的几个关键点。

一、所有Dev的控件的汉化,Dev官方有汉化文件。点击下载15.2版本。

正版用户登陆至官网是有专门的下载界面的,并且可以参与汉化。否则,就要去各种论坛或网上搜索了。

下载完成后,如上图所示,解决并放置到Win/Web的ZH-Hans目录中去。选中*.resources.dll,并按下F4键,调出设置属性窗口:

将复制到输出目录选中为:如果较新则复制。

说明:这里使用的是卫星资源文件,是国际化的常见方式。Dev提供了多数汉化内容,比如在XAF 中的Grid翻页时使用的英文。

原时:在程序运行时,能找到dll/exe所在路径的ZH-Hans目录中有资源文件就会去加载,只要满足了这个条件就可以了。

二、XAF部分的汉化

上一步的工作只是处理了控件部分,XAF是由标准控件+XAF自己的代码组成的。

XAF支持多语言国际化,汉化当然是其中一种了。

如上图所示打开Model.xafml,在Language菜单中显示的当前有哪些语言PerferredLanguae是当前使用的语言。

选中Language Manger..可以管理软件将拥有哪些语言,点Add->ZH-Hans->OK,再次查看下拉框Language可以看到语言中多了ZH-Hans。

注意,这并不是说你的软件支持了这个语言,只能说你第一步中增加的那些dll有被选择的来源了。

在PerferredLanguae中选择ZH-Hans即可真正的应用了下载回来的dll.

此时,官方提供的“控件”等多数内容已经汉化,但仍有一部分没有。

比如说:XAF的那新新建、编辑、删除等按钮,这些内容就可以在上图中的XAFML 编辑器中汉化了。

重要的:如果在Language中选择了一种语言,则说明接下来的设置(仅属于与国际化有关的字符部分)将在指定的语言中生效。

如果选中了“(Default Language)”并在上面做修改,则说明所有语言都会被改变。

如果先在“(Default Language)”上面修改,再去修改指定的语言,则指定的语言的修改会升效。

接下来修改信息吧:

上图所示的是汉化按钮的信息,右侧的属性栏中,可以看到,带有地球标记的属性,都是国际化相关的。

左边这颗树,如果你还不熟悉,一定要多展开来经常看,这是XAF程序的最大控制中心,除了这里还有一个,一会儿会说。基本上所有的汉化内容都会在这里找到的。第一步中已经说了,官方提供了多数汉化,但有些控件中仍有一部分汉化,接下来请看第三步:

三、汉化遗漏的控件内容

不管是win、web项目,都可以打开winapplication.cs/webapplicatin.cs出现上图,按A,B,C,D的顺序,依次点击,操作完成后,Localization将会多出一些结点。你可以查看界面上没有被汉化的内容在xafml中查找。99%能找到你要找的结点。

另外1%是什么情况:

1:比如你修改了模板,由于类型的名称变了,资源文件不生效了。我之前的做法是将类名称改为和官方一样的。(什么是模板?不知道没有关系,不用知道,当你有一天知道了,并且你的记性足够好,你的耳边就想回响去这段话)

2:官方的bug没有制作汉化相关内容,这个情况多数功能都不存在了。

3.对,上面这部分就是XAF的另一个控件中心,界面操作的部分,只有xafml editor和这里。别的都是代码啦!

四、自动翻译批量汉化

在XAFML中,选中了一种语言后,有一个地球图标会可用,如图所示,我使用的语言是“zh-CHS”,点击后,选中行后,再点击Translate按钮,可以调用bing自动翻译。

如果按照教程使用之前的zh-hans,到这一步时,是不能自动翻译的,原因是bing不能识别zh-hans,所以我使用了zh-CHS,至于zh-cn/zh-hans/zh-chs这些都是中文语言的不同名称到底有什么区别,自己补习吧。

如果一次选中了多行,将会批量的翻译。之前官方提供了google翻译引擎的代码,可以去官方搜索。

关于汉化的话汉的话题还有很多,不过对于多数软件开发,这些也够用了。有其他问题请在下面留言,方便追踪。

如何汉化XAF应用的更多相关文章

  1. XAF应用开发教程(八) 汉化与多国语言支持

    使用了XAF开发时,汉化是一个比较常的问题. 要实现汉化很简单: 1.在这里下载汉化资源文件.这里演示的版本是15.1.X的 2.文件下载后将:文件解压到目录    <你的项目>\BIN\ ...

  2. DevExpress DXperience 的本地化(汉化)方法

    Devexpress的.net组件目前非常流行,在国内开发者中有非常高的热度,但是由于是国外控件,我们经常遇到的一个问题是汉化.目前Devexpress公司2011.2版以后使用了统一的本地化模式,针 ...

  3. 真正的汉化-PowerDesigner 16.5 汉化

    一.背景 经常使用PowerDesigner,之前使用15版本,后来16出来后,就一直在使用16,不过一直是英文.一些同事对使用英文版总显示有些吃力. 遍寻百度.必应,都没有找到真正的针对版本16的汉 ...

  4. CentOS下Zabbix安装部署及汉化

    搭建环境:Centos6.5_x86_64,Zabbix2.4.5,epel 源 服务端: 1.安装开发软件包yum -y groupinstall "Development Tools&q ...

  5. pycharm2016.3.1激活及汉化

    pycharm快捷键 PyCharm设置python新建文件指定编码为utf-8 Python | 设置PyCharm支持中文 0, 注册码 43B4A73YYJ-eyJsaWNlbnNlSWQiOi ...

  6. jquery dataTable汉化(插件形式)

    1.jquery dataTable.js 官网:http://datatables.net/ 中文:http://dt.thxopen.com/ 2.汉化提示信息(放到xx.js中,引入即可) 注: ...

  7. ENGLISH抠脚童鞋的福利--GitHub汉化插件

    今天在某前端群看到一个插件,激动万分啊!我就把插件使用实现的步骤分享一下! 打开chrome浏览器输入地址:chrome://extensions/ : 跳转到其他页面,点击左上角--扩展程序: 将T ...

  8. TinyMCE的使用(包括汉化及本地图片上传功能)

    TinyMCE我就不多介绍了,这是下载地址:https://www.tinymce.com/download/ 下载下来是英文版,要汉化也很简单.首先去网上随便下载个汉化包,然后把汉化包解压后的lan ...

  9. ERDAS 2014安装破解及汉化图文教程

    关于ERDAS 2014 的安装破解及其汉化过程: 说明:汉化只是之针对英语能力不能正常满足使用软件的朋友们.如果英语过专八,完全没有必要汉化!在此之前查了好多关于ERDAS汉化的文档,可惜只是简单的 ...

随机推荐

  1. 一小时学会C# 6

    c# 6已经出来有一段时间了,今天我们就详细地看一下这些新的特性. 一.字符串插值 (String Interpolation) C# 6之前我们拼接字符串时需要这样 var Name = " ...

  2. 剑指Offer面试题:33.二叉树的深度

    一.题目一:二叉树的深度 1.1 题目说明 题目一:输入一棵二叉树的根结点,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度.例如下图中的二叉树的 ...

  3. 浅析MSIL中间语言——PE文件结构篇

    一.开篇 开篇我想讲一下于本文无关的话题,其实我很想美化一下自己博客园一直没时间弄,无意间找了博客园李宝亨的博客园里面有一篇分享自己主题的文章,我就将这个模板暂时用作我的blog主题,我要讲述一个关于 ...

  4. CSharpGL(3)使用CSharpGL.vsix插件

    CSharpGL(3)使用CSharpGL.vsix插件 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更 ...

  5. jqGrid的autoencode参数设置为true在客户端可能引发的编码问题

    不久前使用jqGrid+MVC做过一段时间开发. 一开始,分页参数几乎都是默认值,jqGrid的分页功能很好用. 考虑到each input is evil,我们的系统对安全性又有较高要求,所以,为了 ...

  6. Pointer's NULL And 0

    问题起源 在使用Qt框架的时候, 经常发现一些构造函数 *parent = 0 这样的代码. 时间长了, 就觉的疑惑了. 一个指针不是等于NULL吗? 这样写, 行得通吗? 自己测试一下就可以了. 测 ...

  7. word-spacing汉字不起作用的解决方法

    异常处理汇总-前端系列 http://www.cnblogs.com/dunitian/p/4523015.html 调节文字间的距离,发现==>word-spacing汉字不起作用 研究发现, ...

  8. XSD文件生成C#VO实体类

    最近公司要做一个项目,需要和现有的其他项目对接,由于不知道他们的数据库,只有XSD文件.所以,我们在修改相应的程序时,就需要根据他们提供的XSD文件,来写我们的VO实体类,由于我写过根据Oracle数 ...

  9. Web APi之捕获请求原始内容的实现方法以及接受POST请求多个参数多种解决方案(十四)

    前言 我们知道在Web APi中捕获原始请求的内容是肯定是很容易的,但是这句话并不是完全正确,前面我们是不是讨论过,在Web APi中,如果对于字符串发出非Get请求我们则会出错,为何?因为Web A ...

  10. 使用jQuery Draggable和Droppable实现拖拽功能

    上篇博客中已经介绍了web开发中基本拖放原理,现在给出需要完成的功能.最后运行的效果如下图所示: 主要功能需求说明: 1.左侧的元素结构最后会通过Ajax call服务器的数据来生成,能支持多级元素. ...