信息提示方法和装置与流程

文档序号:26539097发布日期:2021-09-07 21:00阅读:92来源:国知局
信息提示方法和装置与流程

1.本发明涉及计算机技术领域,尤其涉及一种信息提示方法和装置。


背景技术:

2.在开发国际化软件项目的过程中,需要通过国际化的方法对系统展示文本语言进行选择和切换。由于在代码中的中文文本全部都被用国际化资源的key(键)的形式访问其翻译文本内容,而国际化资源的key通常和其对应的翻译文本内容无关,导致代码开发或维护人员不能直观知晓该key所对应的含义,导致源代码可读性降低。在现有技术中,为获取国际化资源key对应的翻译文本内容,往往需要开发或维护人员在资源文件中进行手动查询。
3.在实现本发明过程中,发明人发现现有技术中至少存在如下问题:国际化后的代码存在可读性低的问题,而现有通过手动查询获取国际化资源key对应的翻译文本内容的方式,降低了代码的开发、维护效率。


技术实现要素:

4.有鉴于此,本发明提供一种信息提示方法和装置,能够为项目中的国际化代码进行翻译文本的提示,不仅提高了国际化后的代码的可读性,而且提高了代码开发和维护效率。
5.为实现上述目的,根据本发明的一个方面,提供了一种信息提示方法。
6.本发明的信息提示方法包括:在监听到预定的输入事件后,获取用户通过所述输入事件选择的文本;根据正则规则从所述文本中提取国际化资源的键;根据所述国际化资源的键进行检索,以得到与所述国际化资源的键对应的翻译文本;将与所述国际化资源的键对应的翻译文本进行展示。
7.可选地,所述方法还包括:在所述根据正则规则从所述文本中提取国际化资源的键的步骤之前,确认用户通过所述输入事件选择的文本所属的文件类型为需要进行提示的文件类型。
8.可选地,所述根据所述国际化资源的键进行检索,以得到与所述国际化资源的键对应的翻译文本包括:根据所述国际化资源的键对代码编辑器缓存进行检索,以得到与所述国际化资源的键对应的翻译文本;在从所述代码编辑器缓存中检索不到与所述国际化资源的键对应的翻译文本的情况下,根据所述国际化资源的键对文件系统进行检索,以得到与所述国际化资源的键对应的翻译文本。
9.可选地,所述方法还包括:在从所述文件系统中检索到与所述国际化资源文件的键对应的翻译文本以后,将所述翻译文本更新至所述代码编辑器缓存中。
10.可选地,所述根据所述国际化资源的键对文件系统进行检索,以得到与所述国际化资源的键对应的翻译文本包括:根据所述国际化资源的键,对预先配置的文件检索路径进行检索,以得到与所述国际化资源的键对应的翻译文本
11.可选地,所述方法还包括:对所述正则规则、所述需要进行提示的文件类型、所述文件检索路径、以及需要提示的翻译文本的语言中的至少一个进行配置。
12.可选地,所述预定的输入事件为鼠标悬停事件,所述用户通过所述输入事件选择的文本为鼠标悬停处的文本。
13.为实现上述目的,根据本发明的另一方面,提供了一种信息提示装置。
14.本发明的信息提示装置包括:获取模块,用于在监听到预定的输入事件后,获取用户通过所述输入事件选择的文本;提取模块,用于根据正则规则从所述文本中提取国际化资源的键;检索模块,用于根据所述国际化资源的键进行检索,以得到与所述国际化资源的键对应的翻译文本;展示模块,用于将与所述国际化资源的键对应的翻译文本进行展示。
15.为实现上述目的,根据本发明的再一个方面,提供了一种电子设备。
16.本发明的电子设备,包括:一个或多个处理器;以及,存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明的信息提示方法。
17.为实现上述目的,根据本发明的又一个方面,提供了一种计算机可读介质。
18.本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明的信息提示方法。
19.上述发明中的一个实施例具有如下优点或有益效果:通过在监听到预定的输入事件后,获取用户通过所述输入事件选择的文本,根据正则规则从所述文本中提取国际化资源的键,根据所述国际化资源的键进行检索,以得到与所述国际化资源的键对应的翻译文本,将与所述国际化资源的键对应的翻译文本进行展示这些步骤,能够为项目中的国际化代码进行翻译文本的提示,不仅提高了国际化后的代码的可读性,而且提高了代码开发和维护效率。
20.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
21.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
22.图1是根据本发明第一实施例的信息提示方法的主要流程示意图;
23.图2是根据本发明第二实施例的信息提示方法的主要流程示意图;
24.图3是根据本发明第三实施例的信息提示装置的主要模块示意图;
25.图4是根据本发明第四实施例的信息提示装置的主要模块示意图;
26.图5是本发明实施例可以应用于其中的示例性系统架构图;
27.图6是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
28.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
29.需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以相互组合。
30.在详细介绍本发明的实施例之前,首先对本发明的实施例涉及的部分技术术语进行说明。
31.国际化资源的键:国际化资源文件中,同一键名对应同一翻译目标的不同语言的翻译文本。
32.vs code:微软在2015年4月30日build开发者大会上正式宣布了visual studio code项目:一个运行于mac os x、windows和linux之上的,针对于编写现代web和云应用的跨平台源代码编辑器。
33.i18n:其来源是英文单词internationalization的首末字符i和n,18为中间的字符数,是“国际化”的简称。
34.vue:是一套构建用户界面的渐进式前端框架。
35.图1是根据本发明第一实施例的信息提示方法的主要流程示意图。如图1所示,本发明实施例的信息提示方法包括:
36.步骤s101、在监听到预定的输入事件后,获取用户通过所述输入事件选择的文本。
37.示例性地,所述预定的输入事件为鼠标悬停事件,用户通过所述输入事件选择的文本为鼠标悬停处的文本。另外,在不影响本发明实施的情况下,所述预定的输入事件还可以为其他输入事件。例如,鼠标点击事件,相应地,用户通过所述输入事件选择的文本为鼠标点击处的文本。
38.步骤s102、根据正则规则从所述文本中提取国际化资源的键。
39.在该步骤中,可根据正则规则校验用户通过输入事件选择的文本(比如鼠标悬停处的文本)是否为国际化资源引用处。若是,则可通过所述正则规则进一步提取出国际化资源的键(key);若不是,则不能从中提取出国际化资源的键。例如,通过`$t.('example.test')`.match(/(\$t.\()(['"])([a-za-z0-9_\.]+)(['"])\)/)能得到匹配结果(又可称为“提取结果”或者“提取出的国际化资源的键”)为“example.test”。其中,“$t.('example.test')”为鼠标悬停处的文本,“/(\$t.\()(['"])([a-za-z0-9_\.]+)(['"])\)/”为预先配置的正则规则。
[0040]
步骤s103、根据所述国际化资源的键进行检索,以得到与所述国际化资源的键对应的翻译文本。
[0041]
在一个可选示例中,步骤s103包括:根据所述国际化资源的键检索文件系统,以得到与所述国际化资源的键对应的翻译文本。进一步,在该可选示例中,为了提高检索效率,可预先配置文件检索路径,并根据所述国际化资源的键对该文件检索路径进行检索即可。
[0042]
在另一个可选示例中,考虑到频繁地读取并检索文件系统的代价是非常大的,因此,可通过设置代码编辑器缓存的方式进行改进。具体来说,在该可选示例中,步骤s103包括:根据所述国际化资源的键对代码编辑器缓存进行检索,以得到与所述国际化资源的键对应的翻译文本;在从所述代码编辑器缓存中检索不到与所述国际化资源的键对应的翻译文本的情况下,根据所述国际化资源的键对文件系统进行检索,以得到与所述国际化资源的键对应的翻译文本。
[0043]
步骤s104、将与所述国际化资源的键对应的翻译文本进行展示。
[0044]
示例性地,在该步骤中,若预先配置了输出语言,则对该输出语言下的翻译文本进行展示;若预先未配置输出语言,则对所有输出语言下的翻译文本进行展示。例如,假设用户配置的输出语言有英语和印尼语,则将与所述国际化资源的键对应的英语下的翻译文本和印尼语下的翻译文本进行展示;假设用户未配置输出语言,则将与所述国际化资源的键对应的所有语言的翻译文本进行展示。
[0045]
在具体实施时,可将与所述国际化资源的键对应的翻译文本作为自定义提示函数的返回值,并对返回的信息做进一步的修饰处理,如定义返回的文本格式等。此外,在具体实施时,可通过悬浮提示框等方式将返回的翻译文本展示给用户。
[0046]
在本发明实施例中,通过在监听到预定的输入事件后,获取用户通过所述输入事件选择的文本,根据正则规则从所述文本中提取国际化资源的键,根据所述国际化资源的键进行检索,以得到与所述国际化资源的键对应的翻译文本,将与所述国际化资源的键对应的翻译文本进行展示这些步骤,能够为项目中的国际化代码进行翻译文本的提示,不仅提高了国际化后的代码的可读性,而且提高了代码开发和维护效率。
[0047]
图2是根据本发明第二实施例的信息提示方法的主要流程示意图。如图2所示,本发明实施例的信息提示方法包括:
[0048]
步骤s201、在监听到预定的输入事件后,获取用户通过所述输入事件选择的文本、以及文本所属的文件类型。
[0049]
在一个可选示例中,所述预定的输入事件为鼠标悬停事件,用户通过所述输入事件选择的文本为鼠标悬停处的文本。在该可选示例中,除了获取鼠标悬停处的文本之外,还获取文本所属的文件类型等信息。
[0050]
进一步,以vs code这种代码编辑器为例,可通过如下可选实施方式获取鼠标悬停处的文本、以及文本所属的文件类型:vs code提供的悬停提示回调函数会将document、position作为参数反给用户,用户能从document参数中获取到当前文件名和当前文件中的文本内容,从position参数中获取到鼠标悬停处的位置信息,然后可通过document.getwordrangeatposition(position)方法获取当前鼠标悬停处的代码文本;通过当前文件名确定该代码文本所属的文件类型。
[0051]
步骤s202、判断文本所属的文件类型是否为需要进行提示的文件类型。
[0052]
在该步骤中,可将通过步骤s201得到的文本所属的文件类型与预先配置的需要进行提示的文件类型进行比较。若文本所属的文件类型属于需要进行提示的文件类型,可接下来执行步骤s203;若文本所属的文件类型不属于需要进行提示的文件类型,可接下来执行步骤s209。
[0053]
步骤s203、根据正则规则从所述文本中提取国际化资源的键。
[0054]
在该步骤中,可根据正则规则校验用户通过输入事件选择的文本(比如鼠标悬停处的文本)是否为国际化资源引用处。若是,则可通过所述正则规则进一步提取出国际化资源的键(key);若不是,则不能从中提取出国际化资源的键。例如,通过`$t.('example.test')`.match(/(\$t.\()(['"])([a-za-z0-9_\.]+)(['"])\)/)能得到匹配结果(又可称为“提取结果”或者“提取出的国际化资源的键”)为“example.test”。其中,“$t.('example.test')”为鼠标悬停处的文本,“/(\$t.\()(['"])([a-za-z0-9_\.]+)(['"])\)/”为预先配置的正则规则。
[0055]
步骤s204、判断是否提取出国际化资源的键。
[0056]
在根据正则规则提取出国际化资源的键的情况下,可接下来执行步骤s205;在根据正则规则未提取出国际化资源的键的情况下,可接下来执行步骤s209。
[0057]
步骤s205、根据所述国际化资源的键对代码编辑器缓存进行检索。
[0058]
在本发明实施例中,考虑到频繁地读取并检索文件系统的代价是非常大的,因此可通过设置编辑器缓存的方式进行改进。具体来说,可在代码编辑器的缓存中申请空间来存放检索过的国际化资源内容。
[0059]
具体实施时,为了保证从代码编辑器缓存和文件系统检索的方法一致,代码编辑器缓存中存放的国际化资源,需按照文件系统中国际化资源的存储格式进行存储。例如,若文件系统中的国际化资源以key:value对象键值对形式保存,那么代码编辑器缓存中的国际化资源也以key:value对象键值对形式保存;若文件系统中的国际化资源以key=value赋值形式保存,那么代码编辑器缓存中的国际化资源也以key=value赋值形式保存。
[0060]
在从代码编辑器缓存中获取到与所述国际化资源的键对应的翻译文本的情况下,执行步骤s208;在从代码编辑器缓存中未获取到与所述国际化资源的键对应的翻译文本的情况下,执行步骤s206。
[0061]
步骤s206、根据所述国际化资源的键对文件系统进行检索。
[0062]
为了进一步提高检索效率,可预先配置文件检索路径,并在该步骤中根据所述国际化资源的键对该文件检索路径进行检索即可。
[0063]
在国际化项目开发中,考虑到不同的语言环境下使用的国际化插件不同,国际化资源写法存在差异,进而导致文件系统中国际化资源的存储方式也存在不同,比如,在文件系统中,所述国际化资源可能采用key:value对象键值对形式存储,也可能采用key=value赋值形式存储。而对于不同的存储形式,需要采取不同的检索方式进行检索。
[0064]
示例性地,当文件系统中的国际化资源采用key:value对象键值对形式存储时,步骤s206可具体包括:通过对预先配置的文件检索路径进行检索,以匹配到对应的国际化资源文件,然后直接将该国际化资源文件作为对象引入到自定义提示函数中,并通过eval方法将字符串转换为对象的形式获取与该国际化资源的键(key)对应的翻译文本。
[0065]
示例性地,当文件系统中的国际化资源采用key=value赋值形式存储时,步骤s206可具体包括:通过对预先配置的文件检索路径进行检索,以匹配到对应的国际化资源文件,访问该资源文件中的内容并进行解析,将解析出的与国际化资源的键对应的翻译文本存入对象中,然后将该对象引入到自定义提示函数中,并通过eval方法将字符串转换为对象的形式获取与该国际化资源的键(key)对应的翻译文本。具体实施时,在解析内容时,可根据“\n”(换行符)分辨出每一行的内容,当在一行文本中匹配到“#”(注释符)时,则把该行作为注释行,跳过该行解析,然后对下一行内容进行解析,在解析过程中,可通过等号分割字符串来获取当前行键值(value),如果存在跨行值,则需将该行键值拼接在上一行键值之后,在解析完成后,可将该值存入对象中并导出。
[0066]
在从文件系统中获取到与所述国际化资源的键对应的翻译文本的情况下,可接下来执行步骤s207和步骤s208;在从文件系统中获取不到与所述国际化资源的键对应的翻译文本的情况下,可接下来执行步骤s209。
[0067]
步骤s207、将与所述国际化资源的键对应的翻译文本更新至所述代码编辑器缓存
中。
[0068]
在通过文件系统检索过与该国际化资源的键对应的翻译文本之后,可将该翻译文本更新至代码编辑器缓存中,以便于下次在需要根据相同的国际化资源的键进行检索时,可直接从缓存中获取到对应的翻译文本,从而提高检索效率。
[0069]
步骤s208、将与所述国际化资源的键对应的翻译文本进行展示。
[0070]
示例性地,在该步骤中,若预先配置了输出语言,则对该输出语言下的翻译文本进行展示;若预先未配置输出语言,则对所有输出语言下的翻译文本进行展示。例如,假设用户配置的输出语言有英语和印尼语,则将与所述国际化资源的键对应的英语下的翻译文本和印尼语下的翻译文本进行展示;假设用户未配置输出语言,则将与所述国际化资源的键对应的所有语言的翻译文本进行展示。
[0071]
在具体实施时,可将与所述国际化资源的键对应的翻译文本作为自定义提示函数的返回值,并对返回的信息做进一步的修饰处理,如定义返回的文本格式等。此外,在具体实施时,可通过悬浮提示框等方式将返回的翻译文本展示给用户。
[0072]
进一步,本发明实施例的方法还包括以下步骤:对所述正则规则、所述需要进行提示的文件类型、所述文件检索路径、以及需要提示的翻译文本的语言中的至少一个进行配置。
[0073]
具体实施时,用户在对国际化资源的文件检索路径进行配置时,可以配置一个文件夹,也可以配置某一具体文件。当配置的文件检索路径指向一个文件夹时,在进行检索时会对该文件夹下的所有文件(比如.js和.property等类型文件)进行检索;当配置的文件检索路径指向文件夹中的一个具体文件时,在进行检索时仅对该文件夹下的该具体文件进行检索。
[0074]
具体实施时,用户在对正则规则进行配置时,考虑到前端框架不同或者不同的国际化方式会导致代码中国际化资源的引用方式也有所差异,因此需要配置不同的正则规则。例如,在vue中使用i18n进行国际化项目开发时,代码中通过$t.()这个国际化方法在页面中引用国际化资源,此时用户可配置满足$t.()结构的正则规则,比如配置“/(\$t.\()(['"])([a-za-z0-9_\.])+(['"])\)/”这一正则规则,来确定用户通过输入事件选择的文本是否为国际化资源引用处;比如,在html标签中使用v-t指令来进行国际化资源引用时,用户可配置如下正则规则“/(v-t=")([a-za-z0-9_\.])+"/”,来确定用户通过输入事件选择的文本是否为国际化资源引用处。
[0075]
步骤s209、结束。
[0076]
在本发明实施例中,通过以上步骤实现了国际化资源悬停提示功能,使得用户在代码开发或维护过程中通过鼠标悬停的方式,即可看到通过悬浮提示框等形式展示的与国际化资源的键对应的翻译文本,不仅提高了国际化后的代码的可读性,而且有助于提高国际化项目的开发、维护效率。另外,通过实现可配置功能,使得开发者能灵活配置翻译文本提示功能,实现对不同代码编辑器、不同开发框架、不同国际化方法的国际化资源进行个性化的提示。
[0077]
图3是根据本发明第三实施例的信息提示装置的主要模块示意图。如图3所示,本发明实施例的信息提示装置300包括:获取模块301、提取模块302、检索模块303、展示模块304。
[0078]
获取模块301,用于在监听到预定的输入事件后,获取用户通过所述输入事件选择的文本。
[0079]
示例性地,所述预定的输入事件为鼠标悬停事件,用户通过所述输入事件选择的文本为鼠标悬停处的文本。另外,在不影响本发明实施的情况下,所述预定的输入事件还可以为其他输入事件。例如,鼠标点击事件,相应地,用户通过所述输入事件选择的文本为鼠标点击处的文本。
[0080]
提取模块302,用于根据正则规则从所述文本中提取国际化资源的键。
[0081]
具体来说,提取模块302可根据预先配置的正则规则校验用户通过输入事件选择的文本(比如鼠标悬停处的文本)是否为国际化资源引用处。若是,则提取模块302可通过所述正则规则进一步提取出国际化资源的键(key);若不是,则不能从中提取出国际化资源的键。例如,通过`$t.('example.test')`.match(/(\$t.\()(['"])([a-za-z0-9_\.]+)(['"])\)/)能得到匹配结果(又可称为“提取结果”或者“提取出的国际化资源的键”)为“example.test”。其中,“$t.('example.test')”为鼠标悬停处的文本,“/(\$t.\()(['"])([a-za-z0-9_\.]+)(['"])\)/”为预先配置的正则规则。
[0082]
检索模块303,用于根据所述国际化资源的键进行检索,以得到与所述国际化资源的键对应的翻译文本。
[0083]
在一个可选示例中,检索模块303根据所述国际化资源的键检索文件系统,以得到与所述国际化资源的键对应的翻译文本。进一步,在该可选示例中,为了提高检索效率,可预先配置文件检索路径,进而,检索模块303根据所述国际化资源的键对该文件检索路径进行检索即可。
[0084]
在另一个可选示例中,考虑到频繁地读取并检索文件系统的代价是非常大的,因此,可通过设置代码编辑器缓存的方式进行改进。具体来说,在该可选示例中,检索模块303根据所述国际化资源的键对代码编辑器缓存进行检索,以得到与所述国际化资源的键对应的翻译文本;在从所述代码编辑器缓存中检索不到与所述国际化资源的键对应的翻译文本的情况下,检索模块303根据所述国际化资源的键对文件系统进行检索,以得到与所述国际化资源的键对应的翻译文本。
[0085]
展示模块304,用于将与所述国际化资源的键对应的翻译文本进行展示。
[0086]
示例性地,若预先配置了输出语言,则展示模块304对该输出语言下的翻译文本进行展示;若预先未配置输出语言,则展示模块304对所有输出语言下的翻译文本进行展示。例如,假设用户配置的输出语言有英语和印尼语,则展示模块304将与所述国际化资源的键对应的英语下的翻译文本和印尼语下的翻译文本进行展示;假设用户未配置输出语言,则展示模块304将与所述国际化资源的键对应的所有语言的翻译文本进行展示。
[0087]
在具体实施时,可将与所述国际化资源的键对应的翻译文本作为自定义提示函数的返回值,并对返回的信息做进一步的修饰处理,如定义返回的文本格式等。此外,在具体实施时,可通过悬浮提示框等方式将返回的翻译文本展示给用户。
[0088]
在本发明实施例中,通过获取模块在监听到预定的输入事件后获取用户通过所述输入事件选择的文本,通过提取模块根据正则规则从所述文本中提取国际化资源的键,通过检索模块根据所述国际化资源的键进行检索,通过展示模块将与所述国际化资源的键对应的翻译文本进行展示,能够为项目中的国际化代码进行翻译文本的提示,不仅提高了国
际化后的代码的可读性,而且提高了代码开发和维护效率。
[0089]
图4是根据本发明第四实施例的信息提示装置的主要模块示意图。如图4所示,本发明实施例的信息提示装置400包括:获取模块401、判断模块402、提取模块403、检索模块404、更新模块405、展示模块406.
[0090]
获取模块401,用于在监听到预定的输入事件后,获取用户通过所述输入事件选择的文本、以及文本所属的文件类型。
[0091]
在一个可选示例中,所述预定的输入事件为鼠标悬停事件,用户通过所述输入事件选择的文本为鼠标悬停处的文本。在该可选示例中,除了获取鼠标悬停处的文本之外,还获取文本所属的文件类型等信息。
[0092]
进一步,以vs code这种代码编辑器为例,可通过如下可选实施方式获取鼠标悬停处的文本、以及文本所属的文件类型:vs code提供的悬停提示回调函数会将document、position作为参数反给用户,用户能从document参数中获取到当前文件名和当前文件中的文本内容,从position参数中获取到鼠标悬停处的位置信息,然后可通过document.getwordrangeatposition(position)方法获取当前鼠标悬停处的代码文本;通过当前文件名确定该代码文本所属的文件类型。
[0093]
判断模块402,用于判断文本所属的文件类型是否为需要进行提示的文件类型。
[0094]
具体来说,判断模块402可将获取模块401得到的文本所属的文件类型与预先配置的需要进行提示的文件类型进行比较。若判断模块402判断出文本所属的文件类型属于需要进行提示的文件类型,可调用提取模块403;若判断模块402判断出文本所属的文件类型不属于需要进行提示的文件类型,可结束流程。
[0095]
提取模块403,用于根据正则规则从所述文本中提取国际化资源的键。
[0096]
具体来说,提取模块403可根据正则规则校验用户通过输入事件选择的文本(比如鼠标悬停处的文本)是否为国际化资源引用处。若是,则提取模块403可通过所述正则规则进一步提取出国际化资源的键(key);若不是,则提取模块403不能从中提取出国际化资源的键。例如,通过`$t.('example.test')`.match(/(\$t.\()(['"])([a-za-z0-9_\.]+)(['"])\)/)能得到匹配结果(又可称为“提取结果”或者“提取出的国际化资源的键”)为“example.test”。其中,“$t.('example.test')”为鼠标悬停处的文本,“/(\$t.\()(['"])([a-za-z0-9_\.]+)(['"])\)/”为预先配置的正则规则。
[0097]
检索模块404,用于根据所述国际化资源的键对代码编辑器缓存进行检索,以得到与所述国际化资源的键对应的翻译文本;在从所述代码编辑器缓存中检索不到与所述国际化资源的键对应的翻译文本的情况下,检索模块404根据所述国际化资源的键对文件系统进行检索,以得到与所述国际化资源的键对应的翻译文本。进一步,为了提高检索效率,可预先配置文件检索路径。进而,在检索文件系统时,检索模块404可根据所述国际化资源的键对该文件检索路径进行检索即可。
[0098]
更新模块405,用于在检索模块404从所述文件系统中检索到与所述国际化资源文件的键对应的翻译文本以后,将所述翻译文本更新至所述代码编辑器缓存中。
[0099]
在本发明实施例中,通过设置更新模块405,便于下次在需要根据相同的国际化资源的键进行检索时,可直接从缓存中获取到对应的翻译文本,从而提高检索效率。
[0100]
展示模块406,用于将与所述国际化资源的键对应的翻译文本进行展示。
[0101]
示例性地,若预先配置了输出语言,则展示模块406对该输出语言下的翻译文本进行展示;若预先未配置输出语言,则展示模块304对所有输出语言下的翻译文本进行展示。例如,假设用户配置的输出语言有英语和印尼语,则展示模块406将与所述国际化资源的键对应的英语下的翻译文本和印尼语下的翻译文本进行展示;假设用户未配置输出语言,则展示模块406将与所述国际化资源的键对应的所有语言的翻译文本进行展示。
[0102]
在具体实施时,可将与所述国际化资源的键对应的翻译文本作为自定义提示函数的返回值,并对返回的信息做进一步的修饰处理,如定义返回的文本格式等。此外,在具体实施时,可通过悬浮提示框等方式将返回的翻译文本展示给用户。
[0103]
进一步,本发明实施例的信息提示装置还可包括:配置模块,用于对所述正则规则、所述需要进行提示的文件类型、所述文件检索路径、以及需要提示的翻译文本的语言中的至少一个进行配置。
[0104]
在本发明实施例中,通过以上模块实现了国际化资源悬停提示功能,使得用户在代码开发或维护过程中通过鼠标悬停的方式,即可看到通过悬浮提示框等形式展示的与国际化资源的键对应的翻译文本,不仅提高了国际化后的代码的可读性,而且有助于提高国际化项目的开发、维护效率。另外,通过实现可配置功能,使得开发者能灵活配置翻译文本提示功能,实现对不同代码编辑器、不同开发框架、不同国际化方法的国际化资源进行个性化的提示。
[0105]
图5示出了可以应用本发明实施例的信息提示方法或信息提示装置的示例性系统架构500。
[0106]
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0107]
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如代码编辑器客户端应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
[0108]
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0109]
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的代码编辑器应用或网站提供支持的后台管理服务器。后台管理服务器可以对接收到的文件系统检索请求等数据进行分析等处理,并将处理结果(例如检索到的翻译文本)反馈给终端设备。
[0110]
需要说明的是,本发明实施例所提供的信息提示方法一般由终端设备执行,相应地,信息提示装置一般设置于终端设备中。
[0111]
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。另外,除了图5所示系统架构外,本发明实施例的信息提示方法或信息提示装置的示例性系统架构也可仅由终端设备构成。
[0112]
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的计算机系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0113]
如图6所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有系统600操作所需的各种程序和数据。cpu 601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0114]
以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
[0115]
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(cpu)601执行时,执行本发明的系统中限定的上述功能。
[0116]
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0117]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规
定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0118]
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、提取模块、检索模块、显示模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,提取模块还可以被描述为“提取国际化资源的键的模块”。
[0119]
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行以下流程:在监听到预定的输入事件后,获取用户通过所述输入事件选择的文本;根据正则规则从所述文本中提取国际化资源的键;根据所述国际化资源的键进行检索,以得到与所述国际化资源的键对应的翻译文本;将与所述国际化资源的键对应的翻译文本进行展示。
[0120]
根据本发明实施例的技术方案,能够为项目中的国际化代码进行翻译文本的提示,不仅提高了国际化后的代码的可读性,而且提高了代码开发和维护效率。
[0121]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1