ArcGIS Pro快速汉化方法

文章导读:ArcGIS Pro作为ArcMap的接棒者,已经逐步出现在各种GIS试用环节中,其功能和特色就不用说了,本文主要说明一下ArcGIS Pro的汉化问题。跟ArcMap一样,ArcGIS Pro 每个版本都会有官方的中文包(特别说明,这是官方发布的中文包),但一般中文包会落后原生的英文包本年时间左右,对于ArcGIS Pro 中文版重度试用并喜欢尝鲜的人来说,这个等待的过程特别漫长。本文通过剖析ArcGIS Pro的本地化技术,通过自编写的小程序,结合上一版的ArcGIS Pro中文版,实现Pro 界面的快速汉化(原则上都是官方的中文版,只不过是使用上一版的中文版作为基础套到最新版本的中使用),这样可以在官方发布最新的ArcGIS Pro版本时第一时间使用到中文界面。 By 李远祥

汉化的效果

首先看看笔者汉化 ArcGIS Pro 的效果。该版本时以ArcGIS Pro 2.0 中文版作为蓝本,直接作用在ArcGIS Pro 2.1 英文版上的。完全保留了2.0的汉化效果,新版本出现的新功能都是原来的英文显示。

总体上说,作者的这种快速汉化方式还是比较好的,完完全全将上个版本的官方中文直接应用在最新版本中。
再来看看没有汉化的部分,毕竟官方的中文版是比较大的,而作者的汉化手段也比较特殊,原则上绝对很难完全汉化的,这种方式只适合尝鲜使用。
没汉化的部分包括所有的单独弹出窗口和可移动面板,例如属性表、符号设置窗体等



如果希望这种汉化方式能够完全汉化的话,是不科学的。要使用完整版本的中文版,笔者还是建议等待官方的正式中文包。

ArcGIS Pro 本地化的技术说明

大多数软件都有本地化技术,就是我们常说的多国语言支持。ArcGIS Pro 也是一样,我们可以通过查看ArcGIS Pro 2.0 简体中文版的结构来了解其本地化的方式。
在装有ArcGIS Pro中文版的机器上,去查看其安装目录,直接到例如 C:\Program Files\ArcGIS\Pro\bin 路径下,可以看到 一个 zh-CN 的文件夹,这个文件夹内包含的就是中文版资源的目录

该目录下有一大堆的包含 resources 关键字的dll,其实质就是中文化的面板和窗体资源,如下图

其每一个dll是关联到Bin目录下的一些dll,例如Bin目录下的ArcGIS.Desktop.Editors.Wpf.dll ,会跟zh-CN的ArcGIS.Desktop.Editors.Wpf.resources.dll 对应,共同组成本地化资源。

如果有用过Sisulizer等专业的本地化工具基本上就能理解这个结构。

另一个是非界面的东西,例如中文帮助,在Help目录下同样可以找到zh-CN 目录,如下图所示

如果想使用中文帮助的话,笔者是建议将上一个版本的中文包直接拷贝走,将帮助文档的启动首页直接放在计算机桌面使用就好了。

另外一个就是笔者的方式,也就是开始截图部分,基本上都是Ribbon主界面的汉化。这个目录在C:\Program Files\ArcGIS\Pro\bin\Extensions 中,看字面的意思是扩展,其实跟扩展模块没任何的关系。Extensions目录下是每个主要功能模块的dll和配置文档。

以Editing为例,打开后可以看到中文版下同样也有zh-CN的目录

根目录下的是英文的界面,如果切换到中文的话,程序会调用zh-CN里面的内容。打开zh-CN目录,可以看到里面的一些文件构成。如下图

其中有一个是resources文件,另一个是后缀为daml的文件。dll文件我们无法处理,但这个daml文件则是一个xml文件,可以用专业的文件编辑器打开,这样方便阅读。

笔者的汉化方式就是针对这些daml文件进行的。

以中文包里面的daml文件为例,可以查看一下其结构,每个文件的结构都不一样,但还是会有一些特征可寻。


从截取的代码来看,本地化部分一般集中在caption、heading、extendedCaption、disabledText 等标签中。有了这些特征的话,就可以将英文版的同样的文件进行对照了。这就是最关键的一步。

这个文件结构是最简单,而且是最安全的修改方式。如果想手动去对照修改,工作量是非常大的。所以笔者是通过编写程序进行处理。

自制的汉化工具

相信通过前面的介绍,大部分程序员已经知道笔者的意图的。没错,就是拿着上一个中文版的daml文件,读取里面的几个关键,将其内容写到最新版的英文版的关键字中。

也许有人会问,为什么不能直接将上一中文版的daml文件直接覆盖到最新英文版的文件中。笔者通过前后对比,发现Esri每个版本的daml文件都做了修改,甚至是结构也做了修改。唯一庆幸的是对应的关键字是保留的,所以只能通过程序读取和识别,将中文部分直接读出来,写到对应的xml属性和节点中。直接覆盖的话,ArcGIS Pro 启动就直接崩溃了。

再来看看汉化的程序。程序很简单,就是一个运行exe加上一个zh-CN目录,而这个zh-CN目录里面存放的内容,就是来自上一中文版的 C:\Program Files\ArcGIS\Pro\bin\Extensions 路径里面每个zh-CN文件夹里面的daml文件。为了图方便,笔者是从上一中文版中每一个文件拷贝出来的,后续会添加一个自动拾取功能,可以放在中文版的机器上让其自动拾取重要的中文配置文件。

其运行很简单,将这个程序和资源复制到装有最新英文版的ArcGIS Pro 中,双击运行一下,提示完成操作即可实现主界面汉化。

汉化后是不需要切换语言的,因为最新的版本都只有英文版,所以,其设置还是会保留原来的英文语言设置。

因为在根目录下的daml文件已经被修改了,可以看到修改的日期为2018年2月9日,跟原来的文件日期不一样了。

这种方式有点投机取巧,但也不失为一种好办法,可以完全忽略掉resource dll的限制,也可以实现跨版本的修改,享受同样的官方翻译的待遇。

该工具笔者已经上传,ArcGIS Pro 尝鲜者或者中文版重度使用者、从事培训行业的人员可以尝试使用。可以到 http://download.csdn.net/download/liyuanxiang1984/10259523 进行下载。

总结

ArcGIS Pro 作为Esri的重要桌面工具,使用人群会越来越多。对于很多习惯使用中文版的人群来说,等待官方中文版的过程过于漫长。作为骨灰级的ArcGIS使用者,笔者还是希望通过自身的努力,为更多人带来一些必要的遍历。工具还有很多需要改进的地方,例如自动拾取上一中文版的daml文件以及备份还原最新英文版的daml文件的功能都还没有编写,不过问题并不大,最核心的功能已经实现了。

更多的GIS主流和非主流技术,可以持续关注CSDN的GIS制图乐园,以及微信公众号【GIS制图乐园】。BY 李远祥

ArcGIS Pro快速汉化方法相关推荐

  1. ArcGIS Pro快速汉化方法-汉化GP

    ArcGIS Pro快速汉化方法-汉化GP 文章导读:上一章节对ArcGIS Pro 的界面汉化做了详细的论述,以及笔者对于自行汉化的一些看法,其作用基本上是汉化了Ribbon界面,至于内嵌窗体之类的 ...

  2. spyder汉化方法

    spyder汉化方法: 1.下载安装好Anaconda3:在此强调请安装Anaconda3,如果是anaconda2,汉化可能会遇到出错或者乱码问题. 2.spyder的版本至少在3.x以上.(查看方 ...

  3. devexpress控件的2种汉化方法,官方想得很周到

    devexpress控件库默认安装后,使用的本地资源为英文.但其实它都有本地化资源包,比如按钮属性,控件属性描述,菜单项,确认和错误的信息等等,所有这些资源字符串可以很容易地被翻译成各种语言.对于要求 ...

  4. Pycharm的汉化方法(pycharm改为中文版)

    很多开始接触python的朋友都会用到一款工具:pycharm,但默认是英文版的不知从何下手,本文介绍两种不同的pycharm汉化方法,将其变为中文版的界面.(对于windows电脑和mac电脑均有说 ...

  5. 【汉化】DevExpress插件中RichEdit控件的自定义汉化方法

    本文实现方法参考:http://blog.csdn.net/ljsql/article/details/5487460 DevExpress插件,官方提供的汉化包中关于RichEdit控件的汉化基本没 ...

  6. Inno Setup汉化方法

    1.下载安装Inno Setup[JRSoftware下载][腾讯应用下载] 建议选择unicode版本,以5.5.1版本为例,分别下载isetup-5.5.1-unicode.exe和ispack- ...

  7. 基于ArcGIS的电子地图矢量化方法

    一.电子地图及纸质地图矢量化的目的 地图数据来源有很多,其中栅格数据数字化是地图数据的重要来源.栅格数据的矢量化包括地理配准以及矢量化.矢量化后的地图数据往往可以为我们的空间统计分析提供实验依据,从而 ...

  8. matlab函数汉化方法

    软件界面汉化的方法有很多种,一般安装时已经汉化,如果没有汉化按下图操作 第一步 函数帮助汉化的前提需要登录matlab账户 个人账户:名字全拼(第一个字母大写,其他全部小写)+1919

  9. Mac版本的vs code汉化方法

    方法一 在已经安装好英文版本的情况下,打开此页面安装插件,打开界面如下: 点击安装按钮,会提示跳转到vs code,然后点击install进行安装即可. 安装完成之后,重新启动vs code就可以看到 ...

最新文章

  1. 排序算法总结之堆排序
  2. C/C++、嵌入式秋招之SQL篇
  3. mysql常用表名大全_MySQL常用命令大全
  4. 4.非关系型数据库(Nosql)之mongodb:普通索引,唯一索引
  5. 【技术解决方案】GitHub本地仓库管理与远程仓库管理
  6. python实现多人聊天论文_python网络编程 双人多人聊天
  7. java毕业生设计医疗机构药房管理系统软件开发计算机源码+系统+mysql+调试部署+lw
  8. 怎样实现在微信中直接下载APK
  9. html和css的图片怎么加,html+css如何在图片上添加文字
  10. 怎么给手机照片添加文字?没想到方法这么容易,1分钟就能学会
  11. python while循环跳出_python如何跳出while循环
  12. Flowplayer一款免费的WEB视频播放器
  13. 写字机器人软件_中小学开学临近 “补作业机器人”现身
  14. C语言学习(7)——全局变量和静态变量
  15. 使用SSH服务管理远程主机
  16. 论文翻译 SGCN:Sparse Graph Convolution Network for Pedestrian Trajectory Prediction 用于行人轨迹预测的稀疏图卷积网络
  17. Unity新手必备!推荐一些免费模型、音乐等素材网址,推荐开发工具,故障、报错处理,推荐的官方资源包教程学习
  18. 人见人“吐”的十大经典广告(绝对超经典)[zzzz]
  19. 嵌入式开发:使用条件复杂度测试嵌入式软件
  20. 虚拟机数据恢复案例(en Server虚拟机不可用)

热门文章

  1. 麦克纳姆轮平台坐标系说明
  2. phpnow 安装apache失败_PHPnow安装服务[apache_pn]失败的问题的解决方法
  3. libpython3.7m so静态库_libpython3.7m.dll
  4. python requests模块post_python requests模块提交中文数据
  5. 力扣——搜索旋转排序数组
  6. Error:java: Invalid additional meta-data in ‘META-INF/spring-configuration-metadata.json‘: End of in
  7. ❤️《JUC并发编程从入门到高级》(建议收藏)❤️
  8. 一步步实现windows版ijkplayer系列文章之一Windows10平台编译ffmpeg 4.0.2,生成ffplay
  9. 比较SynchronizedMap、Hashtable和ConcurrentHashMap的效率
  10. mysql 导入设置编码_MySQL导入或导出数据库字符编码集设置