一种智能电视操作系统的UI多语言转换方法及系统
文献发布时间:2023-06-19 09:26:02
技术领域
本发明涉及计算机技术领域,特别涉及一种智能电视操作系统的UI多语言转换方法及系统。
背景技术
当前各个品牌的智能电视往往销往多个国家地区,销往不同国家区域的同一品牌的同一型号的电视系统的UI界面基本是一样的,唯一的差别在于在不同国家地区这些电视系统显示的语言是不一样的,因此,所有电视厂家的一个智能电视系统大多都支持多种语言。同一个品牌的电视支持越多种语言,就会使得电视系统软件也就越大,但厂家为了控制电视系统软件的大小往往不会集成过多语言,或者是前期可能没有规划某些语言的支持。例如销往欧洲的智能电视,可能会支持英语、德语、西班牙语等大语种,可能没有捷克语、乌克兰语等小语种,如果接到捷克的订单需要销往捷克,那么就需要让电视系统支持捷克语。如果一个智能电视系统,它的UI的语言翻译都是硬编码的形式编写在软件代码中的,这样就会需要修改软件代码重新编译软件然后进行电视系统升级。如果一个智能电视系统,它的语言包和系统软件是集成在一起不可拆解的,这样也至少需要重新打包软件甚至可能需要重新编译软件;
上述方法缺点是:
1、一个电视系统软件的UI语言翻译是硬编码在软件代码中的,这样势必会造成代码过于庞大或重复代码过多,会增加软件修改的难度,增大修改软件时出错的可能性;
2、如果一个电视系统软件的UI语言翻译是一个单独配置文件,那么这个文件如果损坏,那么就会造成整个电视系统的UI异常;
3、一个电视系统软件往往都比较大,编译、打包软件需要耗时较长;
4、如果一个电视系统软件的语言包是集成在电视系统软件中不可分开的,这样升级就需要耗时较长,同时也会增大了升级失败的可能;
5、如果一个电视系统软件的语言配置文件是由底层解析后传递给UI的,这个解析如果是在系统初始化时候进行,那么就会减慢系统加载速度,如果这个解析是在运行过程中进行,那么就会减慢系统运行的流畅度。
发明内容
本发明要解决的技术问题,在于提供一种智能电视操作系统的UI多语言转换方法及系统,使得语言转换更加快速。
第一方面,本发明提供了一种智能电视操作系统的UI多语言转换方法,具体包括如下步骤:
将语言翻译包与电视软件拆分;
电视软件中使用唯一的ID标识需要翻译的字段;
设置至少一种智能电视的语言翻译包;
根据唯一ID从语言翻译包中获取对应的字段,并进行显示。
进一步地,所述设置一智能电视的语言翻译包进一步具体为:将所有设定语言的翻译表使用excel表进行记录,之后将excel表解析转换为每种语言对应的js文件,将该js文件即为语言翻译包,所述js文件记录的是json格式存放的该语言对应的所有字段的翻译。
进一步地,所述js文件的文件名以其存储语种的三字码命名。
进一步地,所述电视软件中设有一语言文件夹,所述语言文件夹用于存储语言翻译包。
第二方面,本发明提供了一种智能电视操作系统的UI多语言转换系统,具体包括如下模块:
拆分模块,将语言翻译包与电视软件拆分;
标识模块,电视软件中使用唯一的ID标识需要翻译的字段;
设置模块,设置至少一种智能电视的语言翻译包;
转换模块,根据唯一ID从语言翻译包中获取对应的字段,并进行显示。
进一步地,所述设置模块进一步具体为:将所有设定语言的翻译表使用excel表进行记录,之后将excel表解析转换为每种语言对应的js文件,将该js文件即为语言翻译包,所述js文件记录的是json格式存放的该语言对应的所有字段的翻译。
进一步地,所述js文件的文件名以其存储语种的三字码命名。
进一步地,所述电视软件中设有一语言文件夹,所述语言文件夹用于存储语言翻译包。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、将语言包和系统软件拆分开,使得两者互不影响,添加语言只需要修改、升级语言包,不需要重新编译软件,不需要整个软件升级,做到语言包可单独升级、易升级、升级快、易扩展的效果;
2、本方案中语言翻译是存放在js文件中由浏览器直接加载,而不是先由底层解析再传给UI,另外每种语言翻译单独使用json格式内容存放,这样能加速UI加载和翻译字段的解析;
3、先使用excel文件格式存放所有语言翻译字段,这样简化了编辑的难度,降低了对这个文件编辑人员的素质要求,这样即使不是开发人员也都能很好的完成编辑工作,表格清晰不易出错、对比性强,易于检索。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实施例一中方法中的流程图;
图2为本发明实施例二中系统的结构示意图;
图3为excel表格的形式记录示意图一;
图4为excel表格的形式记录示意图二;
图5为电视系统语言加载流程图;
图6为升级添加修改语言流程图。
具体实施方式
本申请实施例通过提供一种智能电视操作系统的UI多语言转换方法及系统,解决的多语言转换麻烦的问题,使得添加语言只需要修改、升级语言包,不需要重新编译软件,不需要整个软件升级,做到语言包可单独升级、易升级、升级快、易扩展的效果。
本申请实施例中的技术方案,总体思路如下:
1、将电视系统的语言翻译不硬编码在电视系统软件中,代码中仅用唯一的ID标识需翻译的字段,UI在显示字段时候会将唯一ID替换为对应语言的对应字段,例如UI代码中某页面的字段的ID是"HIS_WATCH_TV",如果系统语言是英语那么系统运行时会把UI代码中所有的ID为HIS_WATCH_TV显示为"TV"。
2、将电视系统的语言翻译包与电视系统软件拆分开,分别独立存在、互补影响;
3、存放在TV系统上的是每种语言对应的js文件,但为了便于编辑语言翻译表,先将所有语言的翻译表使用excel表格的形式记录,如图3和图4所示;
4、在语言包升级到设备上之前将excel表格解析转换为每种语言对应的js文件,每种语言对应的js文件记录的是一个json格式存放的这个语言对应的所有字段的翻译,js文件以语言的三字码命名,如:ENG.js,其内容样例如下:
window.LANG_ENG={"ID_help_rc_adjust_volume":"Toadjustthe volume.","ID_help_rc_switch_tv_channel":"ToswitchTV channels.","ID_help_rc_home":"ToopenorclosetheHomemenu.\\n\\nInthe Homemenu,accessconnected\\ndevices,pictureandsoundsettings,and other\\nusefulfeatures.","ID_help_rc_source":"ToopenorclosetheSource menu.\\n\\nIntheSourcemenu,accessconnected devices.","ID_help_rc_find":"ToopenorclosetheFindmenu.\\n\\nIntheFind menu,accessthechannellist.","ID_help_rc_adjust":"Toopenorclosethe Adjustmenu.\\n\\nIntheAdjustmenu,accessarangeof\\nfrequentlyused settings."}
5、所有的语言包在电视设备上都放在一个文件夹下,如果需要升级语言包只需要更新电视设备上这个文件夹,即可实现语言升级修改;
6、如图5所示,电视系统语言加载流程:系统启动浏览器加载初始html页面,初始html页面根据当前系统语言,加载对应的语言翻译js文件,将页面中对应的字段ID替换为语言对应的翻译进行显示。
7、如图6所示,升级添加修改语言流程:编辑语言excel文档添加/修改对应语言的翻译字段,生成语言对应的js文件,将语言对应的js文件升级到设备语言文件夹下。
实施例一
如图1所示,本实施例提供一种智能电视操作系统的UI多语言转换方法,具体包括如下步骤:
将语言翻译包与电视软件拆分,所述电视软件中设有一语言文件夹,所述语言文件夹用于存储语言翻译包;
电视软件中使用唯一的ID标识需要翻译的字段;
设置至少一种智能电视的语言翻译包:将所有设定语言的翻译表使用excel表进行记录,之后将excel表解析转换为每种语言对应的js文件,将该js文件即为语言翻译包,所述js文件记录的是json格式存放的该语言对应的所有字段的翻译,所述js文件的文件名以其存储语种的三字码命名;
根据唯一ID从语言翻译包中获取对应的字段,并进行显示。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的系统,详见实施例二。
实施例二
如图2所示,在本实施例中提供了一种智能电视操作系统的UI多语言转换系统,具体包括如下模块:
拆分模块,将语言翻译包与电视软件拆分,所述电视软件中设有一语言文件夹,所述语言文件夹用于存储语言翻译包;
标识模块,电视软件中使用唯一的ID标识需要翻译的字段;
设置模块,设置至少一种智能电视的语言翻译包:将所有设定语言的翻译表使用excel表进行记录,之后将excel表解析转换为每种语言对应的js文件,将该js文件即为语言翻译包,所述js文件记录的是json格式存放的该语言对应的所有字段的翻译,所述js文件的文件名以其存储语种的三字码命名;
转换模块,根据唯一ID从语言翻译包中获取对应的字段,并进行显示。
由于本发明实施例二所介绍的系统,为实施本发明实施例一的方法所采用的系统,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该系统的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的系统都属于本发明所欲保护的范围。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
- 一种智能电视操作系统的UI多语言转换方法及系统
- 一种在智能电视操作系统中支持全媒体播放的方法及智能电视终端