请教QNX4.25操作系统下程序汉化的问题

请教:
我手头有一个QNX4.25操作系统下的可执行程序,有界面那种,界面大概有6个。
程序用在一个机床上。界面语言是英文的。
现在想把它汉化了,我找到英文的位置有大概两个区域,用winhex打开,一个是程序最开头,还有一个是程序结尾部分,看到一些Button什么的,里面有界面的英文。
我试着改了一下,可是程序运行起来英文变方块了。
另外就是直接改程序会不会对程序带来影响?厂长说有没有一种方法,能不改程序,还能汉化,就像金山词霸一样,装个程序进去?
不知道有没有可能?谢谢 了

有几个问题
1)QNX下的界面程序一般是photon编写的,你是怎么编译的
2)QNX下的中文缺省是unicode编码,如是在什么环境修改程序的,如果在宿主模式下应该没有问题,如果是在windows下加中文就有问题了

程序没有源代码,不是我编译的。

我是在windows下修改的,试过了各种编码,都是方块[/quote]

没有源代码你怎么改?别瞎试了

我试了一下,直接改他的可执行程序里面的英文,改成其他单词,有时候程序能运行,并且能显示修改后的文字。例如我改了里面的 “List”,把它改成“LIST”,程序能运行而且也显示“LIST”了。但是我改为“列表”的中文,就不能运行了。

首先你得先安装中文字库,安装中文输入法
然后用bindres程序把你的软件中的资源文件提取出来
最后在qnx4.25的帮助文档中有一节的题目是International Language Support,这里面讲的是如何支持其他语言的显示,不用修改原程序

非常感谢!

不过还是有一些界面汉化不掉,特别是一些弹出的对话框,在bindres导出的资源里面找不到,我搜索了一下原来的程序,这些对话框的单词都出现在文件最开头,不在bindres导出的界面里面。

那些字符串是在程序中存储,而不是在资源文件中存储,在运行时调用,你看到的那些字符串是存储在可执行文件的数据段中,这类字符串的解决方法在International Language Support里面有,那里面说到必须得有源代码才行,在调用这些字符串的地方用另一种形式开发,如果没有源代码就没办法了

谢谢这位大哥,程序没有源码,太遗憾了。不过解决掉一部分了,很感谢。

不客气

[/quote]

内部编码应该是UTF-8,一个汉字由三个字节表示。

如果你在Windows下改,最好是直接改二进制,而不是输入中文汉字,Windows对于汉字的显示与存储有其自己的转换规律。