如何汉化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汉化的文档,可惜只是简单的 ...
随机推荐
- .Net开发笔记(二十一) 反射在.net中的应用
反射概念在网上到处都有,但是讲到的具体的应用很少,一个重要的原因是现实中真的很少用得到它.引用msdn上对“反射”的解释: "通过 System.Reflection 命名空间中的类以及 S ...
- 跟vczh看实例学编译原理——零:序言
在<如何设计一门语言>里面,我讲了一些语言方面的东西,还有痛快的喷了一些XX粉什么的.不过单纯讲这个也是很无聊的,所以我开了这个<跟vczh看实例学编译原理>系列,意在科普一些 ...
- 学习scala03 控制结构
scala拥有非常宽松的控制结构. if与while scala中的if和while几乎和java中的结构一模一样. //if语句 val a= ){ println(“”) }else{ print ...
- 如果调用ASP.NET Web API不能发送PUT/DELETE请求怎么办?
理想的RESTful Web API采用面向资源的架构,并使用请求的HTTP方法表示针对目标资源的操作类型.但是理想和现实是有距离的,虽然HTTP协议提供了一系列原生的HTTP方法,但是在具体的网络环 ...
- Angular 2 最终版正式发布
9月15日,Angular 2 的最终版正式发布了. 作为 Angular 1 的全平台继任者 -- Angular 2 的最终版,意味着什么? 意味着稳定性已经得到了大范围用例的验证: 意味着已经针 ...
- Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折
Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折 1.1.1. 软件的本质:抽象 1 1.2. 软件开发的过程就是不断 ...
- SQL 中 EXISTS 与 NOT EXISTS
带有 EXISTS 操作符的子查询不返回任何数据,只产生逻辑真值 'true' 或逻辑假值 'false'.带有 EXISTS 操作符的子查询都是相关子查询. 相关子查询:子查询的条件依赖父查询. E ...
- 前端学PHP之数组函数
× 目录 [1]键值操作 [2]记数[3]回调函数[4]组合[5]栈和队列[6]顺序 前面的话 PHP中的数组功能非常强大,数组处理函数有着强大.灵活.高效的特点.PHP5提供了近100个操作数组的系 ...
- javascript中15种原生对象类型系统综述
前面的话 在编程语言中,能够表示并操作的值的类型称做数据类型,编程语言最基本的特性就是能够支持多种数据类型.javascript拥有强大的类型系统,主要包括原生对象.宿主对象和浏览器拓展对象,本文主要 ...
- Tomcat报java.lang.OutOfMemoryError: Java heap space错误停止运行如何解决
最近开发的一个商业项目,部署完成后,经常出现Tomcat挂掉的现象,报的异常是:java.lang.OutOfMemoryError: Java heap space,上网google了一下,了解了一 ...
