CN104199662A - 一种适用于flex项目的多语言支持技术 - Google Patents
一种适用于flex项目的多语言支持技术 Download PDFInfo
- Publication number
- CN104199662A CN104199662A CN201410439197.9A CN201410439197A CN104199662A CN 104199662 A CN104199662 A CN 104199662A CN 201410439197 A CN201410439197 A CN 201410439197A CN 104199662 A CN104199662 A CN 104199662A
- Authority
- CN
- China
- Prior art keywords
- language
- multilingual
- flex
- interface
- technology
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 4
- 230000008034 disappearance Effects 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 11
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000010494 dissociation reaction Methods 0.000 abstract 1
- 230000005593 dissociations Effects 0.000 abstract 1
- 230000004807 localization Effects 0.000 description 3
- 230000007812 deficiency Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种适用于FLEX项目的多语言支持技术,其特点在于一个基于Flex开发的工程,其多语言支持的关键是以语言包为核心,通过唯一的标示和每种语言一一对应,然后通过界面调用,将界面的语言元素替换,就构成了工程的多语言技术,其主要结构包括:语言包,语言配置文件,编译配置,界面元素替换,语言选择模块。本发明和现有技术相比,基于Flex的界面开发技术,界面开发灵活,文字的位置比较集中,比较有利于抽离文字;方法简单易用,不管是界面开发前期还是后期,都可以迅速的进行多语言化的支持;更为有利的是,Flex的多语言技术能够在开发中随时检查语言的正确性和完整性,并精确定位到需要修改的位置,稳定性高。
Description
技术领域
本发明涉及计算机软件技术领域,具体地说是一种适用于FLEX项目的多语言支持技术。
背景技术
在Flex项目中,当界面涉及多语言问题时,就需要一种方式将界面元素多语言化。在传统的方式中,如果需要将界面做成能够支持多种语言的,一般的方法是重新开发一套工程,并修改工程中的文字为响应的语言。显然,这种方式不但费时,而且需要多次部署,不但给开发带来困难,在工程的部署中也非常繁琐。
通过Flex开发的界面,在Flex4之前,只能够支持两种语言:en_US和ja_JP,多语言的支持在这个时候是不可行的。在Flex4之后,提供了多语言支持,因此我们可以使用Flex开发出带多种语言的界面。
由于Flex开发的界面兼容性好,不会受到不同浏览器的限制,只要浏览器支持FlashPlayer,就能够使用Flex开发的界面,而且跟浏览器内核无关。因此,Flex开发的界面在兼容性上是非常好的。在使用Flex开发界面中,多语言支持是项目进一步提高的重要技术。传统的方式对多语言的支持非常繁琐,需要修改众多的文件,并且语言包的安装和维护也非常复杂,我们不需要安装一个大型的语言包,而是仅把需要的文字摘离出来,形成一个简单的语言文件,因为界面在使用时只需要用到这些文字,这样就使得语言包变得很小,界面的反应会更加迅速,提高了响应速度。
一个大的工程中,在开发初期就做好语言包的配置,这对于加快开发进度和语言的抽离显得很必要。因为Flex4本身就已经能够支持各种语言的显示,因此寻找一种方法简化开发过程中的多语言问题就显得很有必要了。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种适用于FLEX项目的多语言支持技术,简化了语言包的大小和语言包的使用。
本发明的技术方案是按以下方式实现的,其结构中一个基于Flex开发的工程,其多语言支持的关键是以语言包为核心,通过唯一的标示和每种语言一一对应,然后通过界面调用,将界面的语言元素替换,就构成了工程的多语言技术,其主要结构包括:语言包,语言配置文件,编译配置,界面元素替换,语言选择模块。
上述语言包是多语言技术的核心,包含翻译好的界面元素内容和元素标识。
上述语言配置文件主要负责处理多语言的开发配置,使程序能够访问到语言包。
上述编译配置就是在程序开发过程中,如果加入了多语言,就要能够支持根据该语言进行的编译配置,配置缺失或错误会导致无法编译或编译失败。
上述界面元素替换就是在界面上或者有文字显示的地方,需要使用一种统一的语言调用方式,确定使用的语言包和显示的文字内容。
上述语言选择模块主要负责选择相应的语言,这里起一个全局开关的作用。
本发明的优点是:
本发明的一种适用于FLEX项目的多语言支持技术和现有技术相比,基于Flex的界面开发技术,界面开发灵活,文字的位置比较集中,比较有利于抽离文字;方法简单易用,不管是界面开发前期还是后期,都可以迅速的进行多语言化的支持;更为有利的是,Flex的多语言技术能够在开发中随时检查语言的正确性和完整性,并精确定位到需要修改的位置,某个语言文字的错误不会导致整个系统的问题,稳定性高。
附图说明
图1为多语言技术的结构示意图。
具体实施方式
下面结合附图对本发明的一种适用于FLEX项目的多语言支持技术作以下详细说明。
本发明一种适用于FLEX项目的多语言支持技术,其结构中一个基于Flex开发的工程,其多语言支持的关键是以语言包为核心,通过唯一的标示和每种语言一一对应,然后通过界面调用,将界面的语言元素替换,就构成了工程的多语言技术,其主要结构包括:语言包,语言配置文件,编译配置,界面元素替换,语言选择模块。
上述语言包是多语言技术的核心,包含翻译好的界面元素内容和元素标识。
上述语言配置文件主要负责处理多语言的开发配置,使程序能够访问到语言包。
上述编译配置就是在程序开发过程中,如果加入了多语言,就要能够支持根据该语言进行的编译配置,配置缺失或错误会导致无法编译或编译失败。
上述界面元素替换就是在界面上或者有文字显示的地方,需要使用一种统一的语言调用方式,确定使用的语言包和显示的文字内容。
上述语言选择模块主要负责选择相应的语言,这里起一个全局开关的作用。
下面参照说明书附图,通过一个实例对本发明的内容进行说明。
(1)建立语言包。在Flex工程的src目录下,建立语言包的根目录locale,名称必须为locale,否则编译器会找不到语言包。在locale下,根据不同的语言建立不同的语言包,如中文zh_CN,英文en_US等,在每种语言下建立后缀为properities的文件,如message.properties,该文件内的内容便是基本编码和对应语言内容的一一对应,即采用#key=value的格式,properties文件必须使用UTF-8的编码格式。例如在en_US包下的message.properties文件中的内容:
Flex_label_1=Hello;
文件中所有的内容都如上例所示,其中Flex_label_1是基本编码,在每个message.properties这种都是一样的,而后面的内容根据语言的不同而不同,如在en_US下面是“Hello”,而zh_CN下面是“你好”。
(2)添加本地化支持,即在Flex编译器中增加编译配置。编译配置中包含Flex在编译时能够支持的语言,编译器的配置如下所示:
-locale zh_CN -locale en_US -source-path=locale/{locale}
上例中支持两种语言,中文(zh_CN)和英文(en_US),并且语言包的名称为locale。
(3)添加语言选择。为Flex项目建立语言选择模块,登陆一个界面要使用一个语言,使用哪一个语言包也是由语言选择决定的,该模块就是指定使用哪一个语言包,在Flex中是使用如下代码来表示选择的语言:resourceManager.localeChain。
(4)使用语言包。如何在界面中引用所选择的语言是使用多语言技术的关键。
在mxml文件中,具体有两种方法,第一种是使用mx.core.UIComponent.resourceManager()的实例resourceManager来实现的,即resourceManager.getString(“bundleName”,“key”),其中,bundleName表示的是本地化文件,即去掉.properties之后的名称,key表示要取的内容;第二种是Resource(key=’name’,bundleName=‘message’)。这两种方法中,推荐使用第一种方法。
在as文件中,需要引入mx.resources.ResourceManager包,在使用时,通过ResourceManager.getInstance().getString(“bundleName”,“key”)来表示,其中bundleName表示的是本地化文件,即去掉.properties之后的名称,key表示要取的内容。
通过上述步骤,在每一个带有显示内容的地方做如上修改,便可以实现该Flex项目得多语言支持,即Flex国际化。
该方法形成的格式比较统一,可以在任何时候将显示内容摘离出来,并只需要在相应语言包下做好翻译即可,而且还支持语言扩展,在扩展语言时,只需要新建一个语言包,将新的语言内容写进去即可,修改的地方少,增加了语言扩展灵活性。
本发明的一种适用于FLEX项目的多语言支持技术其加工制作非常简单方便,按照说明书附图所示即可加工。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (6)
1.一种适用于FLEX项目的多语言支持技术,其特征在于一个基于Flex开发的工程,其多语言支持的关键是以语言包为核心,通过唯一的标示和每种语言一一对应,然后通过界面调用,将界面的语言元素替换,就构成了工程的多语言技术,其主要结构包括:语言包,语言配置文件,编译配置,界面元素替换,语言选择模块。
2.根据权利要求1所述的一种适用于FLEX项目的多语言支持技术,其特征在于语言包是多语言技术的核心,包含翻译好的界面元素内容和元素标识。
3.根据权利要求1所述的一种适用于FLEX项目的多语言支持技术,其特征在于语言配置文件主要负责处理多语言的开发配置,使程序能够访问到语言包。
4.根据权利要求1所述的一种适用于FLEX项目的多语言支持技术,其特征在于编译配置就是在程序开发过程中,如果加入了多语言,就要能够支持根据该语言进行的编译配置,配置缺失或错误会导致无法编译或编译失败。
5.根据权利要求1所述的一种适用于FLEX项目的多语言支持技术,其特征在于界面元素替换就是在界面上或者有文字显示的地方,需要使用一种统一的语言调用方式,确定使用的语言包和显示的文字内容。
6.根据权利要求1所述的一种适用于FLEX项目的多语言支持技术,其特征在于语言选择模块主要负责选择相应的语言,这里起一个全局开关的作用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410439197.9A CN104199662A (zh) | 2014-09-01 | 2014-09-01 | 一种适用于flex项目的多语言支持技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410439197.9A CN104199662A (zh) | 2014-09-01 | 2014-09-01 | 一种适用于flex项目的多语言支持技术 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104199662A true CN104199662A (zh) | 2014-12-10 |
Family
ID=52084959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410439197.9A Pending CN104199662A (zh) | 2014-09-01 | 2014-09-01 | 一种适用于flex项目的多语言支持技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104199662A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183500A (zh) * | 2015-08-05 | 2015-12-23 | 深圳联友科技有限公司 | 一种网页语言的配置方法及系统 |
CN106873989A (zh) * | 2017-01-20 | 2017-06-20 | 北京奇虎科技有限公司 | 应用程序构造方法和装置 |
CN106873971A (zh) * | 2016-12-29 | 2017-06-20 | 武汉斗鱼网络科技有限公司 | 一种flash应用的多语言展示方法和系统 |
CN107153607A (zh) * | 2016-03-03 | 2017-09-12 | 展讯通信(天津)有限公司 | 检查移动终端界面语言的方法、装置及系统 |
CN108132822A (zh) * | 2017-12-13 | 2018-06-08 | 明算科技(北京)股份有限公司 | 用户界面元素国际化处理方法及装置 |
CN109284162A (zh) * | 2018-09-14 | 2019-01-29 | 山东浪潮通软信息科技有限公司 | 一种企业软件多语言化的实现方法 |
CN109508211A (zh) * | 2017-09-13 | 2019-03-22 | 阿里巴巴集团控股有限公司 | 一种多语言配置方法、装置、系统及电子设备 |
CN109947512A (zh) * | 2019-03-18 | 2019-06-28 | 北京字节跳动网络技术有限公司 | 一种文本适配显示方法、装置、服务器及存储介质 |
-
2014
- 2014-09-01 CN CN201410439197.9A patent/CN104199662A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183500A (zh) * | 2015-08-05 | 2015-12-23 | 深圳联友科技有限公司 | 一种网页语言的配置方法及系统 |
CN107153607A (zh) * | 2016-03-03 | 2017-09-12 | 展讯通信(天津)有限公司 | 检查移动终端界面语言的方法、装置及系统 |
CN106873971A (zh) * | 2016-12-29 | 2017-06-20 | 武汉斗鱼网络科技有限公司 | 一种flash应用的多语言展示方法和系统 |
CN106873971B (zh) * | 2016-12-29 | 2020-08-04 | 武汉斗鱼网络科技有限公司 | 一种flash应用的多语言展示方法和系统 |
CN106873989A (zh) * | 2017-01-20 | 2017-06-20 | 北京奇虎科技有限公司 | 应用程序构造方法和装置 |
CN109508211A (zh) * | 2017-09-13 | 2019-03-22 | 阿里巴巴集团控股有限公司 | 一种多语言配置方法、装置、系统及电子设备 |
CN108132822A (zh) * | 2017-12-13 | 2018-06-08 | 明算科技(北京)股份有限公司 | 用户界面元素国际化处理方法及装置 |
CN109284162A (zh) * | 2018-09-14 | 2019-01-29 | 山东浪潮通软信息科技有限公司 | 一种企业软件多语言化的实现方法 |
CN109947512A (zh) * | 2019-03-18 | 2019-06-28 | 北京字节跳动网络技术有限公司 | 一种文本适配显示方法、装置、服务器及存储介质 |
CN109947512B (zh) * | 2019-03-18 | 2020-06-05 | 北京字节跳动网络技术有限公司 | 一种文本适配显示方法、装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104199662A (zh) | 一种适用于flex项目的多语言支持技术 | |
AU2019210601B2 (en) | Automatic generation of microservices based on technical description of legacy code | |
CN108491199B (zh) | 一种自动生成接口的方法及终端 | |
CN101916192B (zh) | 用户界面的多语言切换方法和装置 | |
CN110020307B (zh) | 一种客户端视图的绘制方法和装置 | |
CN102693221B (zh) | 一种资源文件语言的转换方法及系统 | |
CN104115141A (zh) | 在应用本地化中提供翻译辅助 | |
KR102092426B1 (ko) | 기존의 단일 언어 프로세스로부터 다수의 언어 프로세스를 구축하는 기법 | |
CN102131308A (zh) | PC端操作Android手机文件系统的方法 | |
CN101303644A (zh) | 基于Windows OS与Linux OS的梵音藏文输入法 | |
CN102262684A (zh) | 移动终端网页页面生成方法及装置 | |
CN104375858A (zh) | 多浏览器平台执行javascript脚本的方法及装置 | |
WO2019042349A1 (zh) | 操作系统框架的翻译方法、移动终端和存储装置 | |
CN109964201B (zh) | 自动检测、校正和翻译非本地化行的方法 | |
CN103268241A (zh) | 一种在bios中实现对硬盘分区隐藏或显示的方法 | |
US20100088689A1 (en) | Branding binary modules using resource patching | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
CN104991810A (zh) | 自动添加apk到安卓系统中的方法及处理系统 | |
CN103309646A (zh) | 一种软件本地化的方法和装置 | |
CN104516963A (zh) | 一种Excel数据服务器及其应用 | |
US9405739B1 (en) | Source code format for IDE code development with embedded objects | |
CN107273136A (zh) | 支持多语言的方法及装置 | |
KR20120056472A (ko) | 모바일 웹 어플리케이션 프레임워크 | |
CN112181550A (zh) | 一种智能电视操作系统的ui多语言转换方法及系统 | |
Zhang et al. | Research of web front-end engineering solution in public cultural service project |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141210 |