如何汉化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汉化的文档,可惜只是简单的 ...
随机推荐
- 用python实现的百度音乐下载器-python-pyqt-改进版
之前写过一个用python实现的百度新歌榜.热歌榜下载器的博文,实现了百度新歌.热门歌曲的爬取与下载.但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒.而且用Pyqt ...
- 文件上传之Apache commons fileupload使用
后台servlet代码: File file1 = null,file2=null; String description1 = null,description2 = ...
- web项目ajax技术一些总结
WEB项目中,最主要的就是前后端间的联络.有时需要不进行页面跳转的前提下请求后端方法(action),就需要用到ajax. 在这个博客中,我用到的都是原生的js的ajax,不是很喜欢用jquery的a ...
- css水平居中那点事
昨晚深夜写了css垂直居中那点事,今晚该写他的兄弟篇:css水平居中那点事了..…^^ 其实本来这两个可以连在一起写,可是为了不要搞混,为了让思路更清晰,最后决定还是分开来些比较好...这样以后也有利 ...
- 【原】安装Win7和Ubuntu双系统后,Win7耳机无声音的解决办法
最近安装了Ubuntu的桌面版,作成了双系统,可是发现了一个问题:进入Win7后有时插耳机会没有声音,外放有声音.后来更新驱动也没有解决问题,最后在网上查到了解决办法. 产生原因:进入Ubuntu后, ...
- PHP制作查询租房表
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- python3.5 正则表达式
我们平时上网的时候,经常需要在一些网站上注册帐号,而注册帐号的时候对帐号名称会有一些要求. 比如: 上面的图片中,输入的邮件地址.密码.手机号 才可以注册成功. 我们需要匹配用户输入的内容,判断用户输 ...
- angular-ui分页组件
http://angular-ui.github.io/bootstrap/#/pagination 分页组件只提供生成分页按钮,数据的显示需要使用ng-repeat, 注意设置 items-per- ...
- javascript命名规范
javascript命名规范 3.命名 命名的方法通常有以下几类: a).命名法说明 1).camel命名法,形如thisIsAnApple 2).pascal命名法,形如ThisIsAnApple ...
- 那些让IE6-8羞愧的替补型js
1,html5shiv 这个js特别简单,可以让IE8识别一些新的标签,常用的比如 header footor section,就能使用更好的语义的标签了. 引入方式: <!--[if lt I ...
