如何汉化XAF应用
这是一个入门级的问题,应网友请求,总结一下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应用的更多相关文章
- XAF应用开发教程(八) 汉化与多国语言支持
使用了XAF开发时,汉化是一个比较常的问题. 要实现汉化很简单: 1.在这里下载汉化资源文件.这里演示的版本是15.1.X的 2.文件下载后将:文件解压到目录 <你的项目>\BIN\ ...
- DevExpress DXperience 的本地化(汉化)方法
Devexpress的.net组件目前非常流行,在国内开发者中有非常高的热度,但是由于是国外控件,我们经常遇到的一个问题是汉化.目前Devexpress公司2011.2版以后使用了统一的本地化模式,针 ...
- 真正的汉化-PowerDesigner 16.5 汉化
一.背景 经常使用PowerDesigner,之前使用15版本,后来16出来后,就一直在使用16,不过一直是英文.一些同事对使用英文版总显示有些吃力. 遍寻百度.必应,都没有找到真正的针对版本16的汉 ...
- CentOS下Zabbix安装部署及汉化
搭建环境:Centos6.5_x86_64,Zabbix2.4.5,epel 源 服务端: 1.安装开发软件包yum -y groupinstall "Development Tools&q ...
- pycharm2016.3.1激活及汉化
pycharm快捷键 PyCharm设置python新建文件指定编码为utf-8 Python | 设置PyCharm支持中文 0, 注册码 43B4A73YYJ-eyJsaWNlbnNlSWQiOi ...
- jquery dataTable汉化(插件形式)
1.jquery dataTable.js 官网:http://datatables.net/ 中文:http://dt.thxopen.com/ 2.汉化提示信息(放到xx.js中,引入即可) 注: ...
- ENGLISH抠脚童鞋的福利--GitHub汉化插件
今天在某前端群看到一个插件,激动万分啊!我就把插件使用实现的步骤分享一下! 打开chrome浏览器输入地址:chrome://extensions/ : 跳转到其他页面,点击左上角--扩展程序: 将T ...
- TinyMCE的使用(包括汉化及本地图片上传功能)
TinyMCE我就不多介绍了,这是下载地址:https://www.tinymce.com/download/ 下载下来是英文版,要汉化也很简单.首先去网上随便下载个汉化包,然后把汉化包解压后的lan ...
- ERDAS 2014安装破解及汉化图文教程
关于ERDAS 2014 的安装破解及其汉化过程: 说明:汉化只是之针对英语能力不能正常满足使用软件的朋友们.如果英语过专八,完全没有必要汉化!在此之前查了好多关于ERDAS汉化的文档,可惜只是简单的 ...
随机推荐
- 备忘-Android ViewPager 子页监听事件
@Override public Object instantiateItem(View arg0, int arg1) { ((ViewPager) arg0).addView(mListViews ...
- ASP.NET Web API标准的“管道式”设计
ASP.NET Web API的核心框架是一个消息处理管道,这个管道是一组HttpMessageHandler的有序组合.这是一个双工管道,请求消息从一端流入并依次经过所有HttpMessageHan ...
- Redis 发布订阅用法
一.发布订阅模型发布订阅其作用是为了减少依赖关系,通常也叫观察者模式.主要是把耦合点单独抽离出来作为第三方,隔离易变化的发送方和接收方. 发送方:只负责向第三方发送消息.(杂志社把读者杂志交给邮局)接 ...
- Redis初级介绍
1 什么是Redis Redis(REmote DIctionary Server,远程数据字典服务器)是开源的内存数据库,常用作缓存或者消息队列. Redis的特点: Redis存在于内存,使用硬盘 ...
- kafka 安装出现的几个问题
1.安装kafka的过程出现两个问题 1)错误: 找不到或无法加载主类 kafka.Kafka 原因: 下载的是源码包,需要编译.可以下载Binary downloads: 2) ERROR I ...
- sublime text3同时编辑多行
sublime text3同时编辑多行 下面的才是正确的姿势,之前一直是shift + 右键 拖啊. http://stackoverflow.com/questions/32127604/how-t ...
- ASP.NET Core - ASP.NET Core MVC 的功能划分
概述 大型 Web 应用比小型 Web 应用需要更好的组织.在大型应用中,ASP.NET MVC(和 Core MVC)所用的默认组织结构开始成为你的负累.你可以使用两种简单的技术来更新组织方法并及时 ...
- SSIS Design1: 源数据提取
数据量的大小由两个方面决定:行的宽度和数据行的数量,为了减少ETL运行的时间,可以从源数据的提取上做优化,从数据源的输入上控制数据的质量和大小,减少转换和IO. 一,减少行的宽度 1,只加载需要的数据 ...
- Constraint5:unique 约束和null
unique约束使用unique index来限制列值的唯一性: 创建unique约束之后,column中允许插入null值,unique 约束将两个null值看作是相同的(即null=null为tr ...
- Sql Server系列:嵌套查询
嵌套查询是指一个查询语句嵌套在另一个查询语句内部的查询.嵌套查询也就子查询,在SELECT子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或多个表.子查询中可以使用比较运 ...
