CN101950251B - 移动Widget的本地化方法 - Google Patents
移动Widget的本地化方法 Download PDFInfo
- Publication number
- CN101950251B CN101950251B CN 201010280911 CN201010280911A CN101950251B CN 101950251 B CN101950251 B CN 101950251B CN 201010280911 CN201010280911 CN 201010280911 CN 201010280911 A CN201010280911 A CN 201010280911A CN 101950251 B CN101950251 B CN 101950251B
- Authority
- CN
- China
- Prior art keywords
- mobile widget
- localized
- localization
- configured list
- file
- 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.)
- Expired - Fee Related
Links
- 230000004807 localization Effects 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种移动Widget的本地化方法,包括如下步骤:1)生成用于移动Widget本地化处理的本地化配置列表;2)根据生成的本地化配置列表对移动Widget进行本地化,包含以下两个方面:a)选择移动Widget各资源文件的合适的本地化版本;b)对移动Widget配置文件中的各配置项进行本地化。本发明使得用户能够以其熟悉的语言和区域配置来使用移动Widget,有助于提高移动Widget的用户友善程度。
Description
技术领域
本发明涉及国际化与本地化领域、Widget应用领域以及移动Widget的本地化方法。
背景技术
Widget是一小块可以在任意一个基于HTML的Web页面上执行的代码,其可用于实现如视频、地图、新闻、小游戏等应用。其思想在于代码复用,Widget的代码可包含动态HTML、JavaScript以及Adobe的Flash等。Widget提供了新的用户体验,能够使得用户定制自己需要的各种服务,个性化自己的用户界面。而移动Widget则是在移动设备如手机上运行的Widget应用。
当开发人员完成移动Widget的编写后,移动Widget的用户界面上往往使用了开发人员所熟悉的语言,然而开发人员希望一次开发的移动Widget能够被世界各地的人们所共享,而不需要为了不同的语言而开发不同版本的移动Widget,因此需要对移动Widget进行本地化处理。本地化是指使得产品、应用或文档等内容使用或符合某一种语言、文化或其他目标地区的要求或习惯,使得同一个移动Widget能够在不同的语言环境下使用不同的语言而不需要对移动Widget进行重新开发。本地化指按照移动Widget所运行的平台的语言和区域设置,正确选择移动Widget包中资源文件的本地化版本以及移动Widget配置文件中配置项的本地化版本,使其符合所运行的平台的语言和区域设置。
发明内容
本发明的目的在于提供一种移动Widget的本地化方法。本发明通过本地化配置的处理、移动Widget文件资源本地化以及移动Widget配置项本地化方法来对移动Widget应用进行本地化处理,从而使移动Widget开发者能够让同一个移动Widget在不同的语言和区域配置下以用户所习惯的语言来与用户进行交互,让用户能够获得更加友善的用户体验。
本发明解决技术问题所采用的技术方案是:
一种移动Widget的本地化方法,包括如下步骤:
1)生成用于移动Widget本地化处理的本地化配置列表;
2)根据生成的本地化配置列表对移动Widget进行本地化,包含以下两个方面:
a)选择移动Widget各资源文件的合适的本地化版本;
b)对移动Widget配置文件中的各配置项进行本地化。
所述本地化配置列表的生成步骤如下:
1)从移动Widget客户端运行环境获得未处理的本地化配置列表;
2)对于未处理的本地化配置列表中的每一项执行以下操作:
a)若此项由通配符标签“*”开始或者包含空格,则跳过以下的所有步骤,进入到列表中的下一项继续处理;
b)若此项中任一部分包含“*”,则去除“*”和其前面的“-”;
c)将当前项加入移动Widget客户端的本地化配置列表,然后将当前项的最右侧的一个子项去除后再将剩余部分加入列表,各项之间以逗号分隔,重复此步骤直到此项已经没有剩余的部分;
3)将通配符标签“*”存入移动Widget本地化列表的末尾。
根据生成的本地化配置列表对移动Widget进行本地化中选择资源文件合适的本地化版本方面包含如下步骤:
1)移动Widget客户端以大小写敏感的方式查找移动Widget包内根目录下的locales目录,若不存在此目录则不继续进行移动Widget资源文件的本地化操作;
2)若存在locales目录则按照移动Widget的本地化配置列表中的顺序查找此目录下和本地化配置列表中的项目字符串相同的目录名,如果不存在与本地化配置列表中的项目字符串相同的文件名则不继续进行移动Widget文件资源的本地化操作;若存在多个符合要求的目录则按照本地化配置列表中的顺序记录优先级;
3)移动Widget运行时若调用资源文件A,移动Widget客户端首先按照上一步中查找到的目录优先级的顺序检查这些目录中是否有与A同名的文件,将第一个找到的与A同名的文件作为A文件的本地化版本让移动Widget使用;若找不到则从移动Widget根目录下查找A文件的通用版本让移动Widget使用。
根据生成的本地化配置列表对移动Widget配置文件中的各配置项进行本地化方面指:若移动Widget配置文件的元素包含“xml:lang”属性且此元素有多个与其同名的兄弟元素,则在读取此元素的内容时,在所有同名兄弟元素中按照本地化配置列表的优先级顺序选择第一个包含“xml:lang”属性且“xml:lang”属性的值与本地化配置列表中的项目字符串相同的元素作为此元素的本地化结果,若没有找到符合的元素则选择“xml:lang”属性值为空字符串的元素;移动Widget配置文件中若某子元素不包含“xml:lang”属性则会继承其父元素的“xml:lang”属性。
本发明具有的有益效果是:移动Widget开发者不需要为了不同的语言维护同一个移动Widget的不同版本;用户在使用移动Widget时能够获得更加友善的用户体验。
附图说明
图1是本发明实施例的总体流程图;
图2是本发明生成用于移动Widget本地化处理的本地化配置列表实施例的流程图;
图3是本发明根据生成的本地化配置列表对移动Widget进行本地化过程中选择资源文件合适的本地化版本实施例的流程图。
具体实施方式
如图1所示,本实施例的移动Widget的本地化方法的具体实现流程如下:
1)移动Widget客户端生成本地化配置列表
移动Widget用户使用的或者能够接受的语言以及区域设置,被称为本地化配置。首先,移动Widget客户端从其所运行的操作系统或者移动Widget客户端的配置中获取未处理的本地化配置列表,未处理的本地化配置列表中的每一项都是小写的字符串,每一字符串由多个语言标签组成,语言标签在RFC 5646中定义,如:“en-au”是指澳大利亚英语,“zh-cn”是指中国大陆简体中文;列表中的第一项是用户最希望的本地化配置;之后,移动Widget客户端生成能够用于移动Widget本地化处理的本地化配置列表。如图2所示,所述本地化配置列表的生成步骤如下:
[1]获取未处理的本地化配置列表;
[2]对于未处理的本地化配置列表中的每一项执行如下操作:
a)若此项由通配符标签“*”开始,如“*-us”,或者包含任何空格,则跳过以下的所有步骤,进入到列表中的下一项继续处理;
b)若此项中任一部分包含“*”,则去除“*”和其前面的“-”,如“en-*-us”会变成“en-us”;
c)将当前项加入移动Widget客户端的本地化配置列表,然后将当前项的最右侧的一个子项去除后再将剩余部分加入列表,各项之间以逗号分隔,重复此步骤直到此项已经没有剩余的部分,例如对于“zh-hans-cn”,在执行这一步以后移动Widget客户端的本地化列表会变成“zh-hans-cn,zh-hans,zh”。
[3]将通配符标签“*”存入移动Widget本地化列表的末尾。
例如,若未处理的本地化列表为“en-us,en-au,en,fr-ca,zh-hans,cn”,则经过上述步骤处理后,生成的移动Widget本地化列表是“en-us,en,en-au,en,en,fr-ca,fr,zh-hans-cn,zh-hans,zh,*”。
2)选移动Widget资源文件合适的本地化版本
移动Widget在运行时使用的图片、网页等文件内嵌了与语言或地区相关的信息,则在进行本地化时,要使用这些文件的本地化版本;资源文件的本地化就是移动Widget客户端运行时按照本地化要求选择各文件的本地化版本,如图3所示,其操作步骤如下:
[1]移动Widget客户端以大小写敏感的方式查找移动Widget包内根目录下的locales目录,若不存在此目录则不继续进行移动Widget文件资源的本地化操作,而是用移动Widget根目录下的相应的文件版本。
[2]若存在locales目录则按照移动Widget的本地化配置列表按序查找此目录下和本地化配置列表中的项目字符串相同的目录名,例如,本地化配置项“en-us”对应的目录名为“/locales/en-us”。如果不存在与本地化配置列表中的项目字符串相同的文件名则不继续进行移动Widget文件资源的本地化操作;若存在多个符合要求的目录,则按照本地化配置列表中的顺序记录优先级。
[3]移动Widget运行时若调用文件A,移动Widget客户端首先按照上一步中记录的目录的优先级查找这些目录中是否有需要的文件,若在其中找到需要的文件则将此文件作为A文件的本地化版本让移动Widget使用;若找不到则从移动Widget根目录下查找A文件的通用版本。
例如,某一移动Widget包内文件结构如下:
locales/zh-hans-cn/a.gif
locales/zh-hans-cn/f.gif
locales/zh-hans/a.gif
locales/zh-hans/b.gif
locales/zh/a.gif
locales/zh/b.gif
locales/zh/c.gif
a.gif
b.gif
c.gif
d.gif
index.html
config.xml
若移动Widget客户端使用的本地化配置为“zh-hans-cn”,则在执行以上步骤后:
●对a.gif的引用会对应到locales/zh-hans-cn/a.gif;
●对b.gif的引用会对应到locales/zh-hans/b.gif;
●对c.gif的引用会对应到locales/zh/c.gif;
●对d.gif的引用会对应到d.gif,这是由于d.gif没有合适的本地化版本,
因此会选择位于移动Widget包根目录下的通用版本。
3)对移动Widget配置文件各配置项进行本地化
移动Widget配置文件是XML文件,若移动Widget配置文件的元素包含“xml:lang”属性且此元素有多个与其同名的兄弟元素,则在读取此元素的内容时,在所有同名兄弟元素中按照本地化配置列表的优先级顺序选择第一个包含“xml:lang”属性且“xml:lang”属性的值与本地化配置列表中的项目字符串相同的元素作为此元素的本地化结果,若没有找到符合的元素则选择“xml:lang”属性值为空字符串的元素;移动Widget配置文件中若某子元素不包含“xml:lang”属性则会继承其父元素的“xml:lang”属性。
例如如下的配置文件内容:
<widget xml:lang=″en″>
<name short=″I’m in english,though not explicitly marked as such!″>
Behaves as ifxml:lang=″en″
</name>
<name xml:lang=″pt″>
The declaration of xml:lang=″pt″overrides
xml:lang=″en″inherited from the widget element.
</name>
<name xml:lang=″″>
The user agent will treat this as unlocalized content.
</name>
</widget>
其“widget”元素使用了“xml:lang”属性,则所有没有“xml:lang”属性的子元素都会继承“widget”元素“xml:lang”属性的值,这意味着上面第一个“name”元素指定了xml:lang=″en″,而第二个“name”元素的xml:lang=″pt″覆盖了移动Widget中的xml:lang=″en″,第三个name元素则被认为不需要进行本地化操作。
对于配置文件格式要求中只能有单个的元素,出现多个同名元素且这些元素包含了不同的“xml:lang”属性,则移动Widget客户端会按照这些元素出现的顺序选取一个其“xml:lang”属性存在于移动Widget本地化配置列表中的元素,而其他的同名元素将会被忽略;若所有的“xml:lang”属性的值都不存在于移动Widget本地化配置列表中,则选择“xml:lang”属性为空的元素。
例如如下的配置文件内容:
<widget>
<description xml:lang=″en″>
This element would be used.
</description>
<description xml:lang=″en″>
This element would be ignored because there is already
a description element that uses xml:lang=″en″.
</description>
<description>
This element is unlocalized,and would be used if the user agent’s
locale does not match any localized description elements.
</description>
<description xml:lang=″″>
This element would be ignored because there is already anunlocalized
description element!Using xml:lang=″″makes this element behaveas if
it is unlocalized.
</description>
</widget>
假设移动Widget客户端的本地化配置为“en-us”。由于对于每一种语言“widget”元素中只允许有一个“description”元素,因此移动Widget客户端会匹配第一个“description”标签而忽略其余各“description”标签。但若移动Widget客户端的本地化配置只包含“*”或没有匹配任何的本地化的“description”元素,则移动Widget客户端会匹配上面的第三个“description”标签。
Claims (2)
1.一种移动Widget的本地化方法,其特征在于包括如下步骤:
1)生成用于移动Widget本地化处理的本地化配置列表,包括如下步骤:
11)从移动Widget客户端运行环境获得未处理的本地化配置列表,未处理的本地化配置列表中的每一项都是小写的字符串,每一字符串由多个语言标签组成,语言标签在RFC5646中定义;
12)对于未处理的本地化配置列表中的每一项执行以下操作:
12a)若此项由通配符标签“*”开始或者包含空格,则跳过以下的所有步骤,进入到列表中的下一项继续处理;
12b)若此项中任一部分包含“*”,则去除“*”和其前面的“-”;
12c)将当前项加入移动Widget客户端的本地化配置列表,然后将当前项的最右侧的一个子项去除后再将剩余部分加入列表,各项之间以逗号分隔,重复此步骤直到此项已经没有剩余的部分;
13)将通配符标签“*”存入移动Widget本地化列表的末尾;
2)根据生成的本地化配置列表对移动Widget进行本地化,包含以下两个方面:
a)选择移动Widget各资源文件的合适的本地化版本;
b)对移动Widget配置文件中的各配置项进行本地化;
其中,采用如下步骤选择移动Widget各资源文件的合适的本地化版本:
a1)移动Widget客户端以大小写敏感的方式查找移动Widget包内根目录下的Iocales目录,若不存在此目录则不继续进行移动Widget资源文件的本地化操作;
a2)若存在Iocales目录则按照移动Widget的本地化配置列表中的顺序查找此目录下和本地化配置列表中的项目字符串相同的目录名,如果不存在与本地化配置列表中的项目字符串相同的文件名则不继续进行移动Widget文件资源的本地化操作;若存在多个符合要求的目录则按照本地化配置列表中的顺序记录优先级;
a3)移动Widget运行时若调用资源文件A,移动Widget客户端首先按照上一步中查找到的目录优先级的顺序检查这些目录中是否有与A同名的文件,将第一个找到的与A同名的文件作为A文件的本地化版本让移动Widget使用;若找不到则从移动Widget根目录下查找A文件的通用版本让移动Widget使用。
2.根据权利要求1所述的方法,其特征在于,根据生成的本地化配置列表对移动Widget配置文件中的各配置项进行本地化方面指:若移动Widget配置文件的元素包含“xml:lang”属性且此元素有多个与其同名的兄弟元素,则在读取此元素的内容时,在所有同名兄弟元素中按照本地化配置列表的优先级顺序选择第一个包含“xml:lang”属性且“xml:lang”属性的值与本地化配置列表中的项目字符串相同的元素作为此元素的本地化结果,若没有找到符合的元素则选择“xml:lang”属性值为空字符串的元素;移动Widget配置文件中若某子元素不包含“xml:lang”属性则会继承其父元素的“xml:lang”属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010280911 CN101950251B (zh) | 2010-09-14 | 2010-09-14 | 移动Widget的本地化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010280911 CN101950251B (zh) | 2010-09-14 | 2010-09-14 | 移动Widget的本地化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101950251A CN101950251A (zh) | 2011-01-19 |
CN101950251B true CN101950251B (zh) | 2013-05-29 |
Family
ID=43453757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010280911 Expired - Fee Related CN101950251B (zh) | 2010-09-14 | 2010-09-14 | 移动Widget的本地化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101950251B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411497B (zh) * | 2011-07-20 | 2017-11-10 | 中兴通讯股份有限公司 | 微技资源导入及导出的方法及装置 |
CN111563223B (zh) * | 2020-05-12 | 2023-09-19 | 北京飞漫软件技术有限公司 | 一种网页页面本地化方法及装置 |
US11656913B2 (en) * | 2020-11-16 | 2023-05-23 | International Business Machines Corporation | Demand-driven locale management |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547116A (zh) * | 2003-12-16 | 2004-11-17 | 艾默生网络能源有限公司 | 软件中语言资源本地化的实现方法 |
CN1609799A (zh) * | 2003-10-23 | 2005-04-27 | 微软公司 | 资源清单 |
CN1722133A (zh) * | 2004-05-21 | 2006-01-18 | 微软公司 | 通过变换定位xml |
CN101122858A (zh) * | 2007-09-20 | 2008-02-13 | 中兴通讯股份有限公司 | 一种人机交互界面本地化的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496746B2 (en) * | 2005-08-30 | 2009-02-24 | Sap Ag | Automated configuration of a software system |
-
2010
- 2010-09-14 CN CN 201010280911 patent/CN101950251B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1609799A (zh) * | 2003-10-23 | 2005-04-27 | 微软公司 | 资源清单 |
CN1547116A (zh) * | 2003-12-16 | 2004-11-17 | 艾默生网络能源有限公司 | 软件中语言资源本地化的实现方法 |
CN1722133A (zh) * | 2004-05-21 | 2006-01-18 | 微软公司 | 通过变换定位xml |
CN101122858A (zh) * | 2007-09-20 | 2008-02-13 | 中兴通讯股份有限公司 | 一种人机交互界面本地化的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101950251A (zh) | 2011-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101495982B (zh) | 网页绘制优先级机制 | |
CN105354013A (zh) | 应用界面渲染方法及装置 | |
KR101528853B1 (ko) | Api 서비스 방법과 api 매쉬업 생성 방법, 장치 및기록매체 | |
CN106663108B (zh) | 用于原生应用的深链接 | |
CN105354014A (zh) | 应用界面渲染展示方法及装置 | |
Akpınar et al. | Vision based page segmentation algorithm: Extended and perceived success | |
US20120124062A1 (en) | Application Transfer Protocol | |
US20120124061A1 (en) | Rich Search Over and Deep Integration with Applications | |
CN106687949A (zh) | 本地应用的搜索结果 | |
JP6222923B2 (ja) | ファイル管理プログラム、ファイル管理装置およびファイル管理方法 | |
EP2521043A1 (en) | Method for establishing a relationship between semantic data and the running of a widget | |
US8327329B2 (en) | Application dehydration, synchronization, and rehydration | |
CN110647322B (zh) | 列表渲染方法、装置、电子设备和计算机可读介质 | |
CN103473062A (zh) | 一种基于用户空间文件系统的移动终端定制化方法及系统 | |
CN106062693A (zh) | 桌面分享方法和移动终端 | |
CN101950251B (zh) | 移动Widget的本地化方法 | |
CN105094941B (zh) | 一种实现多语言的方法及装置 | |
CN112182446B (zh) | 页面的展示方法、装置、终端设备及计算机可读存储介质 | |
CN103049249B (zh) | 快捷程序的生成方法、使用方法及生成装置、使用装置 | |
CN115904167A (zh) | 网页图标的处理方法、装置、存储介质及电子设备 | |
CN103617079A (zh) | 一种ie6内核与新型ie内核的切换方法和系统 | |
CN103034468B (zh) | 一种显示文本的方法及装置 | |
CN102148687B (zh) | 信息管理系统中的签名方法及装置 | |
KR20130012388A (ko) | 시맨틱 웹 어플리케이션의 모델 확장 장치, 시맨틱 웹 어플리케이션의 모델 확장 방법 및 이를 이용한 단말기 | |
Norrie et al. | X-Themes: supporting design-by-example |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130529 Termination date: 20150914 |
|
EXPY | Termination of patent right or utility model |