发布网友 发布时间:2022-04-24 10:13
共1个回答
热心网友 时间:2023-10-10 01:13
ArcView在字符处理方面对汉字缺乏全面的支持,这给界面的汉化带来困难。界面汉化分4种情况,其中3种是可以汉化的,1种是不可以汉化的。因此,尽管做了很大努力,还是不能将ArcView的界面完全汉化。下面分别就这4种情况介绍ArcView界面的汉化问题。
1.直接利用ArcView中Customize对话框进行汉化
在ArcView中用户自定义(Customize)对话框如下(图12-1):在对话框中所显示的是“工程窗”的菜单系统。原菜单项内容都用英文填写,你可以直接将其改写为中文。要改写的内容主要有3项——“Lable”、“Help”和“HelpTopic”。第1、2项如图中所示改写,第3项需改写整个系统的帮助文件(关于帮助文件的制作,将另行介绍)。当关闭对话框时,在“工程窗”菜单系统中将直接反映第1项修改,如果将鼠标移到菜单项“打开工程”位置,在同一窗口底部“状态条”将显示第2项修改内容(帮助提示内容)。同样可对“工程窗”中按钮系统和工具系统进行汉化。也可以对“地图窗”、“表格窗”、“图表窗”、“版面窗”和“脚本窗”按同样的方法实施汉化。
图12-1 在ArcView中用户自定义对话框内与“工程窗”相对应的菜单项
2.对ArcView提供的脚本作汉化
在各类窗口的菜单系统中,存在一些菜单项,它们的“Lable”和“Help”内容随窗口的状态而变化。当窗口的状态变化时,就会触发“Update”(“更新”)事件,并执行相关联的脚本,通过脚本改写有关菜单项的“Lable”和“Help”内容。在这种情况下,你就不能使用上述办法对这些菜单项作汉化。从图12-2中所列的脚本可以看出,当改变“地图窗”的状态时,该脚本就会根据不同的状态改写同一菜单项的“Lable”和“Help”内容。所以,你必须汉化脚本中的有关内容并重新编译脚本才能使汉化生效。
图12-2 在ArcView中的脚本
3.对ArcView的扩展模块作汉化
ArcView除了本身之外,还有许多大大小小的扩展模块,当嵌入这些模块时,这些模块要往ArcView中添加菜单项、按钮或工具。因此,你必须对有关文件中的“Lable”和“Help”内容以及有关的“HelpTopic”内容作汉化。这种汉化方式比较难。你需要对这类文件的结构有所了解,搞不好就要破坏整个模块,所以要特别小心谨慎。图12-3显示的是定义ArcView对话框设计扩展模块的结构化文本文件(它以“avx”作为后缀),我们对其中的“lable”和“help”的内容进行了汉化。当保存好该文件,并在ArcView重新载入对话框设计扩展模块时,所作的修改就会反映在相应窗口的界面上。
图12-3 在ArcView中定义扩展模块的结构化文本文件
在上图中看到的是该模块有关文件dialog.avx 中的部分内容及汉化情况。
4.一些难以汉化的情况
在你运行ArcView时,会发现许多对话框,如在图12-1中所见到的Customize对话框就是一个非常典型的例子。对这类对话框进行汉化是很难的。与它有关的资源很可能是动态链接库(DLL)或别的二进制文件。一种解决办法是,利用ArcView提供的开发工具Avenue自己编写脚本,模拟这些对话框的功能,并取代原有的对话框。但是,其代价是很昂贵的,我们没有这样做。另外,如系统的一些错误信息,也由于同样的原因,不能汉化。