admin管理员组文章数量:1530829
2024年7月22日发(作者:)
(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(21)申请号 CN2.3
(22)申请日 2014.05.16
(71)申请人 广东欧珀移动通信有限公司
地址 523860 广东省东莞市长安镇乌沙海滨路18号
(72)发明人 杨辉 曾元清
(74)专利代理机构 广州市华学知识产权代理有限公司
代理人 李盛洪
(51)
H04L29/08
H04L29/06
(10)申请公布号 CN 103986765 A
(43)申请公布日 2014.08.13
权利要求说明书 说明书 幅图
(54)发明名称
一种利用网络同步android多国语
言的方法
(57)摘要
本发明涉及一种利用网络同步
android多国语言的方法,该方法定义了一
种词条的格式设置,提供了一套完整的词
条上传、翻译、下载、写入的流程,并规
定了词条导入导出时的对比规则,该方法
具体包括词条初始化、词条导出、词条翻
译和词条导入四个步骤。利用该方法,在
android平台下利用网络翻译的词条可以自
动的写入到android语言资源中,同时可以
自动将未翻译的词条上传给服务器,并将
词条导入、导出功能结合在一起,精简操
作步骤节约人力,将多个独立翻译源与服
务器连通,便于分布化翻译。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1.一种利用网络同步android多国语言的方法,其特征在于,定义了一种词条的格
式设置,提供了一套完整的词条上传、翻译、下载、写入的流程,并规定了词条导
入导出时的对比规则,所述方法包括:
步骤S1、词条初始化,对每一个新增词条初式化设置为<key,value>;
步骤S2、词条导出,将词条从客户端上传至服务器,客户端定时通过版本控制工
具逐条导入词条key值的修改部,将差异部分词条的key和valule值上传到服务器,
服务器对比key值,如果不相等则写入待翻译数据库,等待翻译;
步骤S3、词条翻译,服务器将等待翻译的词条统筹分配到翻译源,待翻译源将词
条翻译完成后又将翻译词条的内容同步至服务器;
步骤S4,词条导入,客户端会定时从服务端下载多国语言词条,对比下载多国语
言词条与本地词条标准语言的key值,当词条key值完全一样时,会导入到客户端。
2.根据权利要求1所述的利用网络同步android多国语言的方法,其特征在于:
所述词条初始化设置<key,value>中key值为词条的ID值,某一国语言的内容,
以及所属模块,value值表示其多国语言集合。
征在于,步骤S2具体为:
步骤S21、利用版本控制工具查找判断词条是否有上一次提交记录;
步骤S22、如果存在上一次词条提交的记录,获取上一次词条提交记录的版本号;
如果不存在上一次词条提交的记录,则定义该次词条提交记录为最早提交的版本号,
并跳至步骤S26;
步骤S23、对比上一次提交版本词条与最新版本词条的差异内容;
步骤S24、将差异内容分解为所属模块值、ID值、某一国语言的内容,然后将分
解后的数据保存到文件中;
步骤S25、提取上一次导出词条到当前差异内容,将差异内容分解为所属模块值、
ID值、某一国语言的内容,然后将分解后的数据保存为上传格式的文件;
步骤S26、上传到服务器;
步骤S27、服务器获取数据;
步骤S28、判断上传词条的key值与数据库中词条数据的相应key值是否相等;
步骤S29、如果不存在一样的词条,词条所属的模块值、ID值、某一国语言的内
容三者不完全一样,则写入服务器数据库,等待翻译;如果存在一样的词条,如果
所属的模块值、ID值、某一国语言的内容三者完全一样,则对比下一词条。
征在于,步骤S4具体为:
步骤S41、下载数据,定时从服务器下载指定时间段内的翻译词条;
步骤S42、以本地指定标准语言依据词条key值对比方法对比下载词条与本地词条
的key值;
步骤S43、如果所属的模块值、ID值、内容三者不完全一样,则key值不相同,转
而对比下一个下载的词条;
步骤S44、如果所属的模块值、ID值、内容三者完全一样,则key值相同,并且记
录key值相等本地词条的属性值;
步骤S45、以要写入的语言确定语言目录,并在语言目录中查找是否有该ID值对
应的词条;
步骤S46、如果找到该ID值对应的词条,则将保存的属性值以及下载的内容写入
到此词条中;
步骤S47、如果没有找到该ID值对应的词条,则新建一个此ID值的词条,然后将
保存的属性值以及下载的内容写入到此新建词条中。
5.根据权利要求4所述的利用网络同步android多国语言的方法,其特征在于:
所述词条key值对比方法为,首先对比词条所属模块值以及ID值,如果相同再对
比本地指定标准语言对应的内容,如果内容也相同,则认为key值相同。
6.根据权利要求1所述的利用网络同步android多国语言的方法,其特征在于:
所述的翻译源采用分布式设置,其中翻译源至少一个以上,并且采用有线和/或无
线的方式与服务器进行连接。
特征在于:
所述的版本控制工具为svn、csv或者vss。
8.根据权利要求3所述的利用网络同步android多国语言的方法,其特征在于:
所述的词条导出标志是词条导出的时间或者版本号。
说 明 书
技术领域
本发明涉及多国语言同步的技术领域,特别涉及一种利用网络同步android多国语
言的方法。
背景技术
在android平台进行多国语言开发时,一般不能获取到所有多国语言的词条,需要
等待翻译后,再写到多国语言资源文件中。另外在持续开发中,会添加新的词条,
这部分词条也需要翻译。现有技术提供了利用网络来翻译词条的方法,但是从网络
翻译的词条还需要手动的写入到android语言资源中,同时也不能自动的将未翻译
的词条上传给服务器。当词条,语言比较多的时候,这2个部分使用手工操作,将
会消耗很多人力。
本发明提供了一种方法,可以从本地与服务器同步android平台下的词条,以节约
人力。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种利用网络同步android多
国语言的方法。
本发明的目的通过下述技术方案实现:
一种利用网络同步android多国语言的方法,定义了一种词条的格式设置,提供了
一套完整的词条上传、翻译、下载、写入的流程,并规定了词条导入导出时的对比
规则,所述方法包括:
步骤S1、词条初始化,对每一个新增词条初式化设置为<key,value>;
步骤S2、词条导出,将词条从客户端上传至服务器,客户端定时通过版本控制工
具逐条导入词条key值的修改部,将差异部分词条的key和valule值上传到服务器,
服务器对比key值,如果不相等则写入待翻译数据库,等待翻译;
步骤S3、词条翻译,服务器将等待翻译的词条统筹分配到翻译源,待翻译源将词
条翻译完成后又将翻译词条的内容同步至服务器;
步骤S4,词条导入,客户端会定时从服务端下载多国语言词条,对比下载多国语
言词条与本地词条标准语言的key值,当词条key值完全一样时,会导入到客户端。
优选的,所述词条初始化设置<key,value>中key值为词条的ID值,某一国语
言的内容,以及所属模块,value值表示其多国语言集合。
优选的,所述步骤S2具体为:
步骤S21、利用版本控制工具查找判断词条是否有上一次提交记录;
步骤S22、如果存在上一次词条提交的记录,获取上一次词条提交记录的版本号;
如果不存在上一次词条提交的记录,则定义该次词条提交记录为最早提交的版本号,
并跳至步骤S26;
步骤S23、对比上一次提交版本词条与最新版本词条的差异内容;
步骤S24、将差异内容分解为所属模块值、ID值、某一国语言的内容,然后将分
解后的数据保存到文件中;
步骤S25、提取上一次导出词条到当前差异内容,将差异内容分解为所属模块值、
ID值、某一国语言的内容,然后将分解后的数据保存为上传格式的文件;
步骤S26、上传到服务器;
步骤S27、服务器获取数据;
步骤S28、判断上传词条的key值与数据库中词条数据的相应key值是否相等;
步骤S29、如果不存在一样的词条,词条所属的模块值、ID值、某一国语言的内
容三者不完全一样,则写入服务器数据库,等待翻译;如果存在一样的词条,如果
所属的模块值、ID值、某一国语言的内容三者完全一样,则对比下一词条。
优选的,所述步骤S4具体为:
步骤S41、下载数据,定时从服务器下载指定时间段内的翻译词条;
步骤S42、以本地指定标准语言依据词条key值对比方法对比下载词条与本地词条
的key值;
步骤S43、如果所属的模块值、ID值、内容三者不完全一样,则key值不相同,转
而对比下一个下载的词条;
步骤S44、如果所属的模块值、ID值、内容三者完全一样,则key值相同,并且记
录key值相等本地词条的属性值;
步骤S45、以要写入的语言确定语言目录,并在语言目录中查找是否有该ID值对
应的词条;
步骤S46、如果找到该ID值对应的词条,则将保存的属性值以及下载的内容写入
到此词条中;
步骤S47、如果没有找到该ID值对应的词条,则新建一个此ID值的词条,然后将
保存的属性值以及下载的内容写入到此新建词条中。
优选的,所述词条key值对比方法为,首先对比词条所属模块值以及ID值,如果
相同再对比本地指定标准语言对应的内容,如果内容也相同,则认为key值相同。
优选的,所述的翻译源采用分布式设置,其中翻译源至少一个以上,并且采用有线
和/或无线的方式与服务器进行连接。
优选的,所述的版本控制工具为svn、csv或者vss。
优选的,所述的词条导出标志是词条导出的时间或者版本号。
本发明相对于现有技术具有如下的优点及效果:
1.将词条导入,导出功能结合在一起,无需多次操作,节约人力。
2.将多个翻译源与服务器连通,便于分布化翻译。
d平台下的多国语言可以直接使用。
附图说明
图1是本发明客户端定时与服务器同步多国词条的整体流程图;
图2是本发明词条导出的步骤流程框图;
图3是本发明词条导入的步骤流程框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于
此。
实施例一
词条格式设置为<key,value>,此处key值包括三个子部分,分别为ID值,
(某一国语言的)内容,以及所属模块;value表示其多国语言集合。
假设该词条key值里面指定的某一国语言为中文,android系统平台下词条文件为
xml格式,中文语保存在”中文.xml”中。举例一个叫”测试”的应用需要使用此方法进
行同步,具体词条格式如下:
<string name="ok"msgid="12345">确定</string>
那么此词条key值的子部分的模块名为“测试”(该模块名是任意取定的,也可以指
定为其它名字),在对比时表示此词条为模块名为“测试”的模块所有。
其中“name="ok"msgid="12345"”定义为xml属性值,其中name这个属性在android
的词条中是必须有的,定义为key值的子部分的ID值;xml可以有可能多属性值,
但也可能有其它属性值,如msgid这样的属性值,其它属性值在对比确认相同后,
保存下来,写入到其它语言时,会将保存的属性也写入。但其它属性值不会上传,
这样可以减少上传文件的大小。
其中"确定"代表key值的子部分的中文词条内容。
value表示其多国语言集合,用语言加内容的形势来保存。比如说,当前繁体中文
和越南语有翻译,翻译的结果为:
"繁体中文台湾"为"確定"
"越南语"为
"繁体中文台湾"用TW来表示(也可以用其它约定值),"越南"用VN来表示。那么
这个词条为
<id=ok,chinese=确定,content=确定,TW=確定,
其中"id=ok,chinese=确定,content=确定"为key值,"TW=確定,
值。
实施例二
图1为客户端定时与服务器同步多国词条的整体流程图,图中示意了词条的一套完
整的上传、翻译、下载、写入的流程。
步骤S1,词条初始化;
对每一个新增词条初式化设置为<key,value>,认为同一个key值的的词条是
同一词条,此key值为词条的ID值,(某一国语言的)内容,以及所属模块;Value
表示其多国语言集合。
步骤S2,词条导出,即将词条从客户端上传至服务器;
客户端定时通过版本控制工具逐条导入词条key值的修改部分,将差异部分词条的
key和valule值上传到服务器。服务器对比key值,如果不相等则写入待翻译数据
库,等待翻译。
常用的版本控制工具有svn(Subversion)、csv(Concurrent VersionSystem)、
vss(Visual SourceSafe)等等。
步骤S3,词条翻译;
服务器将等待翻译的词条通过网络统筹分配到分布式设置的翻译源,其中翻译源至
少一个以上,待翻译源将词条翻译完成后又将翻译词条的内容同步至服务器。
步骤S4,词条导入;
客户端会定时从服务端下载多国语言词条,对比下载多国语言词条与本地词条标准
语言的key值,当词条key值完全一样时,会导入到客户端。
图2为词条导出的步骤流程框图,
步骤S21、利用版本控制工具查找判断词条是否有上一次提交记录;
步骤S22、如果存在上一次词条提交的记录,获取上一次词条提交记录的版本号;
如果不存在上一次词条提交的记录,则定义该次词条提交记录为最早提交的版本号,
并跳至步骤S26;
步骤S23、对比上一次提交版本词条与最新版本词条的差异内容;
步骤S24、将差异内容分解为所属模块值、ID值、(某一国语言的)内容,然后将分
解后的数据保存到文件中;
步骤S25、提取上一次导出词条到当前差异内容,将差异内容分解为所属模块值、
ID值、(某一国语言的)内容,然后将分解后的数据保存为上传格式的文件;
步骤S26、上传到服务器;
步骤S27、服务器获取数据;
步骤S28、判断上传词条的key值与数据库中词条数据的相应key值是否相等;
步骤S29、如果不存在一样的词条,词条所属的模块值、ID值、(某一国语言的)内
容三者不完全一样,则写入服务器数据库,等待翻译;如果存在一样的词条,如果
所属的模块值、ID值、(某一国语言的)内容三者完全一样,则对比下一词条。
图3是词条导入的步骤流程框图,
步骤S41、下载数据,定时从服务器下载指定时间段内的翻译词条;
步骤S42、与本地指定语言对比key值,以本地指定标准语言对比下载词条与本地
词条的key值,其中所述词条key值对比方法为,首先对比词条所属模块值以及
ID值,如果相同再对比标准语言对应的内容,如果内容也相同则认为key值相同;
步骤S43、如果所属的模块值、ID值、(某一国语言的)内容三者不完全一样,则判
定key值不相同,转而对比下一个下载的词条;
步骤S44、如果所属的模块值、ID值、(某一国语言的)内容三者完全一样,则判定
key值相同,并且记录key值相等本地词条的属性值;
步骤S45、在语言目录中查找是否有该ID值对应的词条;
其中,Android系统平台中多国语言目录是如下保存的:
res/values-国家语言编码,比如说,values-ZH-CN:简体中文,values-ro:俄罗斯语;
客户端通过要写入语言,确认语言目录,比如下载的此词条是俄罗斯语,就到
values-ro目录中去寻找,如果没有此目录,则会创建一个此写入语言的目录。
步骤S46、如果找到该ID值对应的词条,则将保存的属性值以及下载的内容写入
到此词条中;
步骤S47、如果没有找到该ID值对应的词条,则新建一个此ID值的词条,然后将
保存的属性值以及下载的内容写入到此新建词条中。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限
制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、
简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
版权声明:本文标题:一种利用网络同步android多国语言的方法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1721631028a889360.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论