多国语言,国际化开发需求分析

多国语言,国际化开发需求分析 引言要确定工作内容,评估工作时间,首先我们要对需求及问题进行分析,下面给出对多国语言支持,这个需求的分析步骤、结果及一些参考资料。 我们最终的目的是:在用户当前的操作系统环境下1、 可以正常的显示软件的界面2、 用户可以用多语言进行输入3、 可以从外部各种语言的外部数据进行导入4、 可以指定某种语言环境进行输出(可以统一为unicode输出)一、多国

 

引言

要确定工作内容,评估工作时间,首先我们要对需求及问题进行分析,下面给出对多国语言支持,这个需求的分析步骤、结果及一些参考资料。

 

我们最终的目的是:在用户当前的操作系统环境下

1、  可以正常的显示软件的界面

2、  用户可以用多语言进行输入

3、  可以从外部各种语言的外部数据进行导入

4、  可以指定某种语言环境进行输出(可以统一为unicode输出)

一、多国语言问题的起因及发展

1)最初文字的保存

0x20以下的字节状态称为控制码,一直编到了第127号,这样计算机就可以用不同字节来存储英语的文字了,这个方案叫做 ANSI “AscII”编码,当时世界上所有的计算机都用同样的ASCII方案来保存英文文字

2)扩展字符集

但是很多国家用的不是英文,他们的字母里有许多是ASCII里没有的,为了可以在计算机保存他们的文字,他们决定采用127号之后的空位来表示这些新的字母、符号,还加入了很多画表格时需要用下到的横线、竖线、交叉等形状,一直把序号编到了最后一个状态255。从128255这一页的字符集被称扩展字符集

 

3)各个国家的本地化编码(例如中国的GB2312BIG5

4UINICODE的出现

ISO (国际标谁化组织)的国际组织决定着手解决这个问题。他们采用的方法很简单:废了所有的地区性编码方案,重新搞一个包括了地球上所有文化、所有字母和符号的编码!他们打算叫它“Universal Multiple-Octet Coded Character Set”,简称 UCS, 俗称 “UNICODE”

5)从NT开始WIN系列已支持UNICODE

于是从 Windows NT 开始,MS 趁机把它们的操作系统改了一遍,把所有的核心代码都改成了用 UNICODE 方式工作的版本,从这时开始,WINDOWS 系统终于无需要加装各种本的语言系统,就可以显示全世界上所有文化的字符了。

6UTF-8解决网络传输中的,大小端问题

UTF8就是每次8个位传输数据,而UTF16就是每次16个位,了核对双方对于高低位的认识是否是一致的,采用了一种很简便的方法,就是在文本流的开始时向对方发送一个标志符——如果之后的文本是高位在位,那就发送“FEFF”,反之,则发送“FFFE”

7)乱码各地区自有的编码标准之间的冲突

而当你新建一个文本文件时,早期的记事本的编码默认是ANSI, 如果你在ANSI的编码输入汉字,那么他实际就是GB系列的编码方式,所以不能正常显示

二、多国语言支持需要解决哪几方面的问题

1.         操作系统,需要支持UNICODE,目前WINDOWSXP,WIN2003都已经支持

2.         编写的用户界面软件需要编译unicode方式

VC中设置如下

Project->Settings->C/C++ TAB中,增加Preprocessor definitions:_UNICODE

Project->Settings->link TAB中,增加Project Options:/entry:”wWinMainCRTStartup”

C++ BULIDER中应该也有相应的编译选项,以保证编译出来的执行文件是支持UNICODE的输入和输出的,具体资料可在网上查找

编译方式的选择会直接决定,所有使用控件是否能支持多国语言的输入

3.         界面显示

需要以资源的方式来保存各种语言的用户界面,并对资源进行动态加载

4.         用户输入

当应用程序是UNICODE的方式进行编译的,则用户的输入都可以正常处理。

用户所输入的语言文字是由相应的输入法保证的

对程序中关于用户输入的处理,需要修改为,保存这些输入的内存对象,需要以双字节(宽字节)的方式进行保存、运算

5.         外部数据的输入

如果外部数据是直接输入到内存中进行操作,则需要明确输入源的编码方式,并在内存处理中以宽字节处理

如果外部数据是直接以复制粘贴的方式进行,因为编译方式保证了UNICODE,则可以不用做特殊处理

6.         数据的输出

如果是和STB相关,请参后文对STB处理的描述

三、操作系统支持多国语言的步骤及条件

必须添加语言支持

必须添加语言包

有相应语言的字体,以确保编码方式(UNICODE)能对应到显示方式

运行的执行程序是UNICODE标准的,即前面踢到的运行程序是一UNICODE方式编译的

 

 

 

 

 

 

 

 

三、多国语言问题在系统中的分布

1、客户端

UNICODE编译

对用户的输入需要以宽字节来处理

多国语言界面的制作及动态加载

2、服务端

UNICODE编译

四、如何进行测试

下面的网站有各种语言的文字,可从页面种复制相应的文字,

日语取至:http://www.ruby-lang.org/ja/

韩文取至:http://www.ruby-lang.org/ko/

是否能在我们的系统中:输入输出,STB显示

 

建立英文操作系统环境,我们的应用程序,

是否能正常的显示界面,输入输出

五、参考资料

语系

http://baike.baidu.com/view/67325.htm

 

字符集和编码

http://zhidao.baidu.com/question/7057627.html

 

汉字编码转换

http://game.ali213.net/thread-142937-1-1.html

 

UTF-8 and Unicode FAQ

http://www.linuxforum.net/books/UTF-8-Unicode.html

 

WINDWOS XP对多语言的支持

http://www.yesadmin.com/295/174267/index.html

 

WIN2000中对多国语言的支持

http://www.cndw.com/tech/server/2006040328995.asp

 

一步一步教你用VC纯资源dll解决国际化问题

http://www.vckbase.com/document/viewdoc/?id=1567

 

为软件添加多国语言支持的经验总结

http://i.cn.yahoo.com/cn.chaohuilin/blog/p_10/

 

编写支持多国语言的程序(delphi相关,c++builder可参考)

http://www.programfan.com/article/181.html

今天的文章多国语言,国际化开发需求分析分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/26005.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注