C-Windows应用软件的本地化方法研究_苏荟

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。







2009 年第 11 期
致 , 因此要根据不同的操作系统, 不同的开发语言进 行相应的处理。 本地化和编码方法息息相关 , 下面简单介绍几种 常见的编码的方式
[ 9]
3 结束语
本文讨论了软件本地化中针对本地化信息进行 处理的一种新方法, 此方法相对于以往的本地化方法 实现简单, 相对于使用 XML 文件的方法, 本方法不需 要进行写入写出的序列化和反序列化。本方法需要 提取地域信息和建立数据库表, 因此本地化信息的准 确性和建立的数据库表的效率就至关重要。 在实现时, 不同的本地信息可以寻找不同的语言专 家来进行翻译, 然后由专业人士检查修改, 最后把所有 的资源都存储在数据库中。此种方法对中小规模应用 软件简单有效, 但如果软件规模较大、 本地化信息数量 较多、 种类加大, 则速度会稍微降低。软件的本地化是 多方面因素综合处理才能彻底解决的问题, 牵扯到相关 的操作系统、 选择的开发语言、 应用软件设计的地域信 息的类别、 数量等。需要各方的共同努力才能做到真正 的软件本地化, 真正的一次开发, 全球通用。
database软件本地化l10nlocalization是将一个软件产品按特定国家地区或语言市场的需要进行加工之满足特定市场上的用户对语言和文化的特殊要求的软件生产活动也被称为软件地域化通常语言翻译是本地化中最基本的软件本地化的前提是软件国际化所谓软件的国际化是指在软件初始设计时就考虑到了不同的语言规则和语言习惯不将这些具体的规则和习惯以固定代码的方式写在程序里而是读取当时使用语言的地域信息
。每一种语言都需要建立
自己的地域信息 , 所有的应用软件可以共用它们。 开发过程中不针对某一种具体的语言和具体的 语言习惯, 甚至一种具体编码方式 , 软件在开发中要
收稿日期 : 2009 06 03 作者简介 : 苏荟 ( 1977 ), 女 , 陕西三原人 , 西安财经学院信息学院讲师 , 硕士 , 研究方向 : 软件 测试。
[34 , 14 ]
。如 下 代 码 为 se lectLanguage ( in t m _ la n
[ 6 7]
guage)函数的原型 , 其中 936 表示中华人民共和 国和新加坡 , 437 表示美国 , 855表示俄罗斯等。
_ConnectionP tr m _pConn; sw itch(m _L anguage) { case ∀ 936∀: CS tr ing m _sConn= #P rovide r= SQ LOLED B. 1 ; Da ta Source= 192. 168. 3. 13; In itia l Cata log = ch inses_L# ; / / ch inses_L 是数 据库 服务器 192 . 168. 3. 13 上的一个数据库 m _pConn. CreateInstance( #ADODB. Connection#); try { HRESULT hr = m _ pConn > Open ( ( _bstr _ t) m _ sConn, # sa# , #m appe r # , adConnectU nspec ified); if ( FA ILED ( hr) ) { A fxM essageBox( # 不能连接数据 库 source ! #); retu rn FAL SE; } } catch( _co m _erro r e) { A fxM essageBox( # 不能连接数据 库 erro r ! #); retu rn FAL SE; } Case ∀437∀ : CS tr ing m _sConn = # P rov ider = SQLO LEDB. 1 ; D ata Source = 192 . 168. 3. 13; In itia l Cata log = eng lish_L# ; m _pConn. CreateInstance( #ADODB. Connection#); try{ HRESULT hr = m _ pConn > Open ( ( _bstr _ t) m _ sConn, # sa# , #m appe r # , adConnectU nspec ified); if ( FA ILED ( hr) ) { A fxM essageBox( # 不能连接数据 库 source ! #); retu rn FAL SE; } } catch( _co m _erro r e) { A fxM essageBox( # 不能连接数据 库 erro r ! #); retu rn FAL SE; } case ∀ 950∀ : ∃∃∃∃ default : A fx M essag eBox ( _T ( #Source Erro r ! #); }
2009 年第 11 期
苏 荟 : W indows 应用软件的本地化方法研究
101
新编译整个应用程序 , 只需要更新包含资源的动态链 接库文件即可, 降低了程序更新维护的成本。缺点: 因为封装资源的文件以动态链接库文件的形式存在, 因此在运行时完全被加载到内存空间, 同样, 运行时 不支持的语言也会被加载 , 造成了内存空间的浪费。 ( 2) 使用二进制文件。 使用一个二进制资源文件, 文件包含所有将要使 用的该软件地区的资源, 以及各种语系或语种相关的 资源。优点: 该方法简单易行, 在程序编写阶段选择 所需的语言环境, 一并写入资源文件中即可。缺点: 对任何资源的修改和编辑需要完全的二进制编译, 这 在软件产品售后维护中无法完成。而且新的语种难 以更新 , 同第一种方法一样会导致内存空间的浪费。 ( 3) 使用 XM L 文件。 对于每种语言将所需表达的字符串信息存储在 一个 XML 文件中 , 并在需要的场合才加载。优点: 类 似动态链接库 的做法, 允许用户界 面的切换。 XML 文件同二进制文件的分离 , 因此确保了 免编译 !, 资 源更新成为可能, 易于完成对新语言的更新。缺点: 由于 XML 本身的局限, 在支持字符串信息的本地化 方面具有优势, 但是对于图片文件则需要序列化成二 进制存储, 并在使用时进行反序列化。
Localization S tudying ofW indow s Software Applications
SU H u i
( School o f In fo r m ation, X i an U n iversity of F inance and E cono m ics, X i an 710100, Ch ina) Ab stract : W ith the deve lop ing of in fo r m ation technology and m ore and mo re econom y con tacting betw een d ifferent country , soft ware s lo ca liza tion attaches i m portance to every aspect . L ocalization is necessa ry dur ing soft w are deve loping ; the key proble m is to accord w ith the different country s culture and language . A ccording to the W indows soft w are s po int , it descr ibes the m ethod by se lecting the lo ca l resource , compares and introduces the other loca lization m ethods . K ey w ords : so ftware lo ca lization ; lo ca l resource ; database
2 W indow s软件的本地化方法
( 1) W indow s操作系统中的资源。 为了实现零代码修改或者修改很少就可以实现 资源的动态转化 , 可以把程序中需要的本地资源维系 在一个数据库文件中 , 这样本地化方法实现简单。具 体为: 把详细的文字、 位图、 菜单等资源单独提取放在 一个数据库中。这样一个或者多个数据库就可以装 载几种不同的语言文字 ( 此处假定 一种语言的资源 单独存放于一个数据库中 ) , 在程序中根据需要连接 适合的数据库中的资源, 进行资源加载即可。 ( 2) 地域信息处理。 应用程序 Exa m p le 中的主体函数没有包含任何 资源。创建一 个包 含所有 语言 资源 的数 据库文 件 ( 其中包括根据不同地域和文化处理完毕的图片, 以 及翻译好的菜单, 提示信息等 ), 在使用这个数据库 时 , 应用程序就会以特定语言的形式出现 , 即软件为 特定语言版本, 并在软件实现中尽量避免硬代码 。 在实现 中构造 一个 函数 selectL anguage( int m _ L anguage) 。其中参 数 m _L anguage 用来实现 语言种 类的选择。然后根据语言来实现相对应的数据库或 者数据库表的选择。 进行本地 化的硬 代码 ( hard coding )。 软件在其运行的过程中读取当时具体的本地化信息 并用来控制当时的行为。 总之, 在软件开发过程中, 国际化提供适应本地 文化习俗的手段 , 而本地化利用这些手段使软件适应 特定的文化区域 , 因此在本地化过程中本地化信息的 提取和处理就成为了本地化的关键。
[ 10 11]
1 常见的本地化方法
采用的本地化方法不同 , 效果也会有所差异, 每 一种方法都有相对应的场合, 下面就现有的本地化方 法进行比较
[ 12 13 ]

( 1) 使用 DLL文件。 这种方法的主要思想是将资源文件从核心代码 中分离出来 , 不参与应用程序的最终编译过程。将资 源文件在另一个环境中独立编译 , 生成一个仅包含资 源的动态链接库文件, 在应用程序运行时 , 可通过语 句加载。优点: 实现相对容易, 资源的更新不需要重
为了获取当前操 作系统的语言 版本, 可以 调用 W in 32 函数 U I NT G et O EMCP ( ), 它的作用是获取当 前操作系统的 OEM ( 源设备供应商 )。如果函数调 用成功 , 则返回当前系统 OEM 代码页定义的值; 如果 当前系统没有 OEM 代码页, 则返回用户定义的默认 值
[ 5]
( 3) 编码问题。 在软件中主要把一些和本地化敏感的资源使用 数据库表的形式存放在 数据库中 ( 数据库名称虽然 不同, 但是数据库表名称一致, 字段名称、 类型、 数量 都是一致的, 便于编程人员的编写程序 ) , 但是对于 动态的数据部分 , 针对不同的语言, 编码的方法不一
102

2009 年第 11 期 文章编号 : 1006 2475( 2009) 11 0100 03
计 算 机 与 现 代 化 JISUAN JI YU X IAN DA I H UA
总第 171 期
W indow s应用软件的本地化方法研究
苏 荟
( 西安财经学院 信息学院 , 陕西 西安 710100) 摘要 : 随着全球经济一体化和信 息技术的发展 , 软件本地化技术越来越得到重视 。 本地化是软 件开发中 的必不可少 的一 个环节 , 它的核心问题 是对多个国家地区语种和使用习惯的支持 。 本文通过分析 W indow s应用软 件的特点 , 论述通 过本 地化资源选择方法来解决软件本地化问题的新方法 , 同时对其他常见的本地化方法进行了介绍和比较 。 关键词 : 软件本地化 ; 本地化资源 ; 数据库 中图分类号 : T P311 文 献标识码 : A do: i 10. 3969 / .j issn . 1006 2475. 2009. 11. 029
软件本地化 L10N ( L oca lizat io n) 是将一个软件产 品按特定国家、 地区或语言市场的需要进行加工, 使 之满足特定市场上的用户对语言和文化的特殊要求 的软件生产活动 , 也被称为软件地域化 , 通常语言翻 译是本地化中最基本的
[ 1]

软件本地化的前提是软件国际化, 所谓软件的国 际化是指在软件初始设计时就考虑到了不同的语言规 则和语言习惯, 不将这些具体的规则和习惯以固定代 码的方式写在程序里, 而是读取当时使用语言的地域 信息。每一种语言都有自己的语言特征, 软件在本地 化过程中会使用这些语言特征信息, 但这些语言特征 在不同的软件中是相同的, 将这部分信息独立开来, 称 之为地域信息 ( Local)
相关文档
最新文档